Here is a super easy and fun way to create two-level data validation list within Excel. Something like this? In this article, learn how to easily create such two or multi-level drop down lists using Excel.
Two-level data validation drop down - video
If you want a video with all these steps (and some bonus tricks), check it out below. For text explanation with images, just read on.
Download Sample File - Two-level Drop Downs
Click here to download the sample file used in this example. Play with the data or formulas to learn more.
Step 1: Set up your source data
You need data in this format for this two-level drop down technique.
Step 2: Make a pivot table in outline layout
Insert a pivot table from your validation data in outline format with level 1 and level 2 in row labels area. Turn off any grand totals and sub-totals. You will get this.
Related: Introduction to Excel Pivot Tables
Step 3: Formulas to get the two-level structure
Now, just refer to pivot table items to generate two-level structure.
We need two formulas. Both are simple to write.
The first one is IF formula
The logic is simple.
- If state column is not blank, get that value
- Else, if City is also not blank, prefix 5 spaces to city value and return that.
- Else return FALSE
The below formula works for me.
=IF(J27<>””,J27,IF(K27<>””,REPT(” “,5)&K27))
My Pivot table is from J27.
Drag this formula down for 50 rows or whatever is the size of your data.
Filter formula to exclude all FALSE values
This next formula will just remove any FALSE values in our 50 cell range. We can use FILTER for this.
=FILTER($O$27:$O$76,$O$27:$O$76<>FALSE)
Note: My IF formulas are in the range O27:O76.
Here is an illustration explaining both of these formulas.
Step 4: Set up the validation rule
We are done people… Just select the cell where you want the two-level data validation drop down to appear and use Data ribbon > validation button.
Set up the validation type as “list” and use the spill range as list. For example, in my workbook, the filter formula is in cell P27, so DV list is $P$27#
Cherry on top: Conditional formatting to flag errors
Our two level validation is already yummy, but if you want a cherry on top, use conditional formatting to flag errors when user picks “level 1” item instead of “level 2” item.
Something like this:
How to set up the conditional formatting rule for this:
- In the adjacent cell to the validation cell, write an IF formula that would return ✔ or ❌ with a message.
- Color the cell in Red.
- Now apply conditional formatting rule on the cell to turn the color to GREEN if it is ✔
Whipped cream on top: Box drawing shapes + validation
Instead of 5 spaces, you can use box drawing shapes like ∟⊢ to create an impress tree structure. Something like this:
Download Sample File - Two-level Drop Downs
Click here to download the sample file used in this example. Play with the data or formulas to learn more.
More tips on data validation
If you are looking for ways to spice your data validation, you’ve come to right place.
5 Responses to “Two-level Data Validation [Excel Trick]”
Is there a way to achieve this in Excel 2016?
Hi, there. What does the hash (#) character do when used in setting up the DV list?
Context: "Set up the validation type as “list” and use the spill range as list. For example, in my workbook, the filter formula is in cell P27, so DV list is $P$27#"
Thank you!
- Kevin
Hi,
Simple and efficient, but dont work if you use a VLOOHUP formula.
Is there a trick for ?
AL
Hi, I can't seem to get the worksheet to work correctly on Excel 2016, the dropdown list isn't available to be choose from. Any help?
Can I use it in Excel 2007?