Search Contextures Sites ![]()
Excel -- Data Validation -- Create Dependent Lists
Create Named Lists
Apply the Data Validation
Test the Data Validation
Adding a Third Dependent ListUsing Two-Word Items
Using Items with Illegal Characters
Using Dynamic Lists
You can limit the choices in a Data Validation list, by using named ranges and the INDIRECT function. In this example, if Fruit is selected as the Category, only Fruit appears in the Item drop-down list.Another method is to use the OFFSET function, to extract items from a sorted list, as described here: Dependent Dropdowns from a Sorted List
![]()
Start by creating Named Lists, which will be the choices in the Data Validation cells. In this example, the first list will be named Produce.
It contains the Produce categories -- Fruit and Vegetable.
1. Create the first Named List
- In an empty area of the workbook, type the entries you want to see in the drop-down list. These should be one-word entries, to match the dependent list names that will be created. (If you need to use multiple word entries, see the instructions here.)
- Select the cells in the list (but not the heading).
- Click in the Name box, to the left of the formula bar
- Type a one-word name for the list, e.g. Produce.
- Press the Enter key.
2. Create the supporting Named Lists
- Type the entries you want to see in the drop-down list for one of the Produce categories.
- Select the cells in the list.
- Click in the Name box, to the left of the formula bar
- Type a one-word name for the list, e.g. Fruit. This name must be exactly the same as the matching entry in the Produce list.
- Press the Enter key.
- Create another list with the items for the next category -- Vegetable in this example.
The cells in the Category column will allow a List.
The cells in the Item column will use the INDIRECT function to select a list..
1. Apply the Data Validationa) Select the cells in which you want to apply data validation using the Category List
b) From the Data menu, choose Validation.
c) From the Allow drop-down list, choose List
d) In the Source box, type an equal sign and the list name, for example: =Produce
e) Click OK.
![]()
2. Create the Dependent Data Validation
- Select the cells in which you want to apply data validation using the Fruit or Vegetable List, dependent on which Category has been selected
- From the Data menu, choose Validation.
- From the Allow drop-down list, choose List
- In the Source box, type an equal sign and INDIRECT function, referring to the first data cell in the Category column: =INDIRECT(A2)
- Click OK.
Note: If cell A2 is empty, you'll see the message shown at right.
Click Yes to continue
Cells in the Category column will display items in the Produce List.
Cells in the Item column will show items from the Fruit or Vegetable List, depending which has been selected in the Category column
You could add another set of dropdown lists that depend on the selections in the first two dropdowns. For example, select a country and region, then select a city in that region.
- Create the two named ranges and dropdown lists as described above.
- Create another set of named ranges, naming them for the available combinations in the first two dropdowns. For example, you might create ranges named CanadaOntario and USANewYork.
- For the third dropdown, choose to Allow: List, and use a formula that combines the entries in the first two columns, and removes the spaces from the names. For example, in cell D2, the data validation formula would be:
=INDIRECT(SUBSTITUTE(B2&C2," ",""))
You may need to have two-word items in the first drop-down list. For example, your choices are 'Red Fruit', 'Green Fruit' and 'Yellow Fruit'
- Create the first named range and dropdown list as described above.
- Create the supporting named lists, using one-word names, e.g. RedFruit, GreenFruit, YellowFruit
- For the second dropdown, choose to Allow: List, and use a formula that removes the spaces from the names. For example:
=INDIRECT(SUBSTITUTE(A2," ",""))
Because the INDIRECT function only works with references, not formulas, the previous method won't work with dynamic lists. Instead, you can use the following method:
- Create the first named range and dropdown list as described above.
- Create the supporting named lists, and name the first cell in each range, e.g. cell B1 is named Fruit and cell C1 is named Vegetables.
- Name the column in which each list is located, e.g. column B is named FruitCol and column C is named VegetablesCol
- For the second dropdown, choose to Allow: List, and use a formula that calculates the lookup range. For example, if the first dropdown list is in cell E2:
=OFFSET(INDIRECT($E2),0,0,COUNTA(INDIRECT(E2&"Col")),1)
if two-word items will be used, you can include the SUBSTITUTE function in the formula:
Download a sample file for Dynamic Lists
=OFFSET(INDIRECT(SUBSTITUTE($F2," ","")),0,0,COUNTA(INDIRECT(SUBSTITUTE($F2," ","")&"Col")),1)
Download a sample file for Dynamic Lists