Make a Dynamic Dependent Drop-Down List in Excel (Step by Step)
Here in this tutorial, we will step by step introduce how to create a dependent drop-down list that displays choices depending on the values selected in the first dropdown list. In other words, we will make an Excel data validation list based on the value of another list.
Make a dynamic dependent drop-down list
10s to make a dependent drop-down list with a handy tool
Make a dynamic dependent drop-down list in Excel 2021, Excel 365, and newer versions
Some questions you may ask about this tutorial
Video: Make an Excel dependent drop-down list
Make a dynamic dependent drop-down list
Step 1: Type The Entries For The Drop-Down Lists
1. Firstly, type the entries you want to appear in the drop-down lists, each list in a separate column.
Notice that the items in the first column (Product) will serve as Excel names for the dependent lists later. For example, here Fruit and Vegetable will be the Names for column B2:B5 and C2:C6 separately.
See screenshot:
2. Then create tables for each data list.
Select column range A1:A3, click "Insert "> "Table", then in the Create Table dialog, tick "My table has headers" checkbox. Click "OK".
Then repeat this step to create tables for the other two lists.
You can view all tables and the reference to ranges in Name Manager (press "Ctrl" + "F3 "to open it).
Step 2: Create Range Names
In this step, you need to create "Names "for the main list and each dependent list.
1. Select the items that appear in the main list ("A2:A3").
2. Then go to the "Name box" which beside "Formula bar".
3. Type the name in to it, here names it as "Product".
4. Press "Enter" key to complete.
Then repeat the above steps to separately create Names for each dependent lists.
Here names the second column (B2:B5) as Fruit, and the third column (C2:C6) as Vegetable.
You can view all range names in Name Manager (press "Ctrl "+ "F3" to open it).
Step 3: Add The Main Drop Down List
Next, add the main drop down list (Product), which is a normal data validation drop-down list, not a dependent drop down list.
1. Firstly, create a table.
Select a cell ("E1"), and type the first column header ("Product"), and move to the next column cell ("F1"), type the second column header ("Item"). This table will hold the drop-down lists.
Then select these two headers ("E1" and "F1"), click "Insert" tab, and select "Table" in the Tables group.
In the Create Table dialog, tick "My table has headers" box, and click "OK".
2. Select cell "E2" to which you want to insert the main drop down list, click "Data" tab and go to "Data Tools" group to click "Data Validation" >" Data Validation".
3. In the Data Validation dialog,
- Choose "List" in the "Allow" section,
- Type below formula into "Source" bar, Product is Name of the main list,
- Click "OK".
=Product
You can see the main drop-down list has been created.
Step 4: Add Dependent Drop Down List
1. Select cell "F2" to which you want to add the dependent drop-down list, click "Data" tab, and go to Data Tools group to click "Data Validation" > "Data Validation".
2. In the Data Validation dialog,
- Choose "List "in the "Allow "section,
- Type the below formula into "Source" bar, E2 is the cell that contains the main drop-down list.
- Click "OK".
=INDIRECT(SUBSTITUTE(E2," ","_"))
If the E2 is empty (you do not select any one item in the main drop-down list), you will see a message pops out as below, click "Yes" to continue.
Now the dependent drop-down list has been made.
Step 5: Test The Dependent Drop-Down List.
1. Select "Fruit" in the main drop-down list ("E2"), then go to the dependent drop-down list ("F2") to click the arrow icon, see if the fruit items are in the list, then select one item from the dependent drop-down list.
2. Press "Tab" key to start a new row in the data entry table, select "Vegetable", and move to the next cell to the right, see if the vegetable items are in the list, then select one item from the dependent drop-down list.
- If there is no item selected in the main drop-down list (Product column), the dependent drop-down list (Item column) will not work.
- If you want to reset or clear the contents of the dependent drop down list after changing the selection, please go to this article How to clear dependent drop down list cell after selecting changed in Excel?, it introduce a VBA code to help you.
- If you want to create a 3-level drop down list, this article will help you: How to create multi level dependent drop down list in Excel?.
10s to make a dependent drop-down list with a handy tool
"Kutools for Excel" provides a powerful tool to make a dependent drop-down list easier and faster:
Step 1: Type The Entries For The Drop Down List
Firstly, arrange your data as below screenshot shown:
Step 2: Applying Kutools tool
1. Select the data you have created, click "Kutools" tab, and click "Drop-down list" to display the sub menu, click "Dynamic Drop-down List".
2. In the "Dependent Drop-down List":
- Check the "Mode B" that matches your data mode,
- Select the "output range", the output range column must be equal to the data range column,
- Click "Ok".
Now the dependent drop down list has been created.
- "Mode B" supports creating a third level or more in a drop-down list:
- If your data is arranged as the below screenshot shows, you need to use "Mode A", which only supports creating a 2-level dependent drop-down list.
- For more details on how to use Kutools to create a dependent drop-down list, please visit this tutorial.
Make a dynamic dependent drop-down list in Excel 2021, Excel 365, and newer versions
If you're using Excel 365, Excel 2021 or newer versions, there is another way to quickly create a dynamic dependent drop-down list by using new functions "UNIQUE" and "FILTER".
Suppose your source data is arranged as shown in the screenshot, please follow below steps to create the dynamic drop down list.
Step 1: Using formula to get items for the main drop-down list
Select a cell, for example, cell G3, and using UNIQUE and FILTER functions to extract the unique values from the "Product" list which will be the source of the main drop-down list, and press "Enter" key.
=UNIQUE(FILTER(A3:A20, A3:A20<>""))
Step 2: Create the main drop-down list
1. Select a cell that you want to place the main drop-down list, for example, cell "D3", click "Data"tab, and go to" Data Tools group to click "Data Validation" > "Data Validation".
2. In the "Data Validation" dialog,
- Choose "List" in the "Allow" section,
- Type below formula into "Source" bar,
- Click "OK".
=$G$3#
Now the main drop-down list is created.
Step 3: Using formula to get items for the dependent drop-down list
Select a cell, for example, cell H3, using FILTER function to filter the items based on the value in cell "D3" (the selected item in main drop down list), press "Enter" key.
=FILTER(B3:B20, A3:A20=D3)
Step 4: Create the dependent drop-down list
1. Select a cell which will place the dependent drop-down list, for example, cell "E3", click "Data tab", and go to "Data Tools" group to click "Data Validation" > "Data Validation".
2. In the "Data Validation" dialog,
- Choose "List" in the "Allow" section,
- Type below formula into "Source" bar,
- Click "OK".
=$H$3#
Now the dependent drop-down list is created successfully.
When you add new items or do some changes in A3:A20, the drop-down lists will update automatically.
Sort drop-down list alphabetically
If you want to arranged the items in the drop-down list alphabetically, you can use below formula to the preparation table.For the main dropdown (the formula in cell G3):
=SORT(UNIQUE(FILTER(A3:A20, A3:A20<>"")))
For the dependent dropdown (the formula in cell H3):
=SORT(FILTER(B3:B20, A3:A20=D3))
Now both of drop-down lists get sorted alphabetically A to Z.
For get sorted alphabetically Z to A, please use below formula:
For the main dropdown (the formula in cell G3):
=SORT(UNIQUE(FILTER(A3:A20, A3:A20<>"")), 1, -1)
For the dependent dropdown (the formula in cell H3):
=SORT(FILTER(B3:B20, A3:A20=D3), 1, -1)
Some questions you may ask:
1. Why insert a table for each data list?
Inserting a table for the data list will help you auto update the drop down list based on the changes in the data list. For example, adding ‘Others’ in the first data list, then the main drop down list will be auto added with ‘Others’.
2. Why use a table to place drop-down lists?
When you press Tab key to add new line to the table, the drop down lists will be auto added in the new line as well.
3. How does the INDIRECT function work?
INDIRECT function is used to convert a text string to a valid reference.
4. How does the formula INDIRECT(SUBSTITUTE(E2&F2," ","")) work?
Firstly, SUBSTITUTE function replaces text with another text. Here it used to remove the spaces from the combined names (E2 and F2). Then INDIRECT function converts the text string (the combined contents by E2 and F2) to a valid reference.
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
All Kutools add-ins. One installer
Kutools for Office suite bundles add-ins for Excel, Word, Outlook & PowerPoint plus Office Tab Pro, which is ideal for teams working across Office apps.





- All-in-one suite — Excel, Word, Outlook & PowerPoint add-ins + Office Tab Pro
- One installer, one license — set up in minutes (MSI-ready)
- Works better together — streamlined productivity across Office apps
- 30-day full-featured trial — no registration, no credit card
- Best value — save vs buying individual add-in