Dynamic Drop-Down Lists in Excel

Mynda Treacy

October 28, 2025

Most people only know the basic way to create a drop-down list in Excel: typing a few values into Data Validation. For example:

how to create data validation drop-downs in Excel?

That works if you’re just getting started, but it quickly becomes a headache. Every time new values are added, you have to go back and edit the list manually.

The good news? Excel has multiple smarter ways to build drop-downs that update automatically, pull data from other sheets, and even change depending on your selection. In this guide, I’ll walk you through five powerful methods to take your Excel drop-downs to the next level.

Watch the Video

Subscribe YouTube

Get the Excel Example File

Enter your email address below to download the free file.



By submitting your email address you agree that we can email you our Excel newsletter.

1. Auto-Updating Drop-Downs with Tables

Instead of hard-coding values, put your list into a table. Tables in Excel are dynamic: they expand and contract as you add or remove data.

Steps:

1. Enter your list into a column.

2. Select it and go to Home > Format as Table.

How to create dropdows from tables in Excel?

3. Create your drop-down list using Data > Data Validation > Allow: List.

4. In the Source box, select the table column instead of typing values.

how to create self-updating dropdowns in Excel?

Now, whenever you add new items (e.g., Boston, Denver), your drop-down updates instantly.

⚠️ Note: This method only works if the list is on the same sheet. Let’s fix that next.

2. Lists on Other Sheets with Named Ranges

When your lists live on a separate worksheet (for tidiness), tables alone won’t auto-update. The solution is named ranges.

Steps:

1. Select your table column and go to Formulas > Define Name (e.g., DeptList).

a screenshot of auto-expanding dropdowns in Excel

2. In your data validation, reference the name instead of the table column.

A screenshot of data validation dialog box in Excel

Now all drop-downs in the selected cells automatically include new entries.

💡 Bonus: Combine this with dynamic array formulas like SORT and UNIQUE to clean duplicates and blanks:

=SORT(UNIQUE(TOCOL(DepartmentTable[Department],1)))
how to sort dropdown values in Excel?

Define a name for this spilled list (e.g., DepartmentList) and reference it in your drop-down.

A screenshot of data validation dialog box in Excel

3. Dependent (Cascading) Drop-Downs

Want a list that changes depending on another selection? For example:

  • In the Product Category column select Electronics → see only laptops, tablets, and monitors.
  • Or select Furniture → see only desks, chairs, and cabinets.
how to create dependent drop-downs in Excel?

This is a dependent (or cascading) drop-down list.

How to set it up:

1. Build a lookup table of categories and products.

A screenshot of using SORT and FILTER to spill dropdown values

2. Use the SORT and FILTER functions to spill the product lists based on the category in row 6:

Creating cascading dropdowns in Excel

3. Use XLOOKUP to reference these spilled ranges in your data validation.

Using XLOOKUP to create cascading dropdowns in Excel

Result: error-proof data entry, faster selection, and a much cleaner experience.

Note: Check out the video above for step-by-step on setting up the lookup table so that it automatically updates as you add more product categories and products.

4. Drop-Downs That Fill in Related Data

Drop-downs can do more than limit choices, they can also auto-populate related information.

Example: Choose an employee in a drop-down, and Excel automatically fills in their Department and Hourly Rate.

Formula:

=XLOOKUP([@[Employee Name]],
EmployeeDatabaseTable[Employee Name],
EmployeeDatabaseTable[Department],"")

Copy across to retrieve multiple fields (e.g., Hourly Rate). This transforms your drop-downs into interactive forms that reduce manual entry and errors.

A screenshot of related dropdowns in Excel

5. Excluding Items with FILTER

Here’s where modern Excel really shines. Suppose you have a product catalogue with “Active” and “Discontinued” statuses:

how to exclude dropdown items with FILTER function?

Instead of maintaining two lists, use the FILTER function.

Formula:

=SORT(UNIQUE(FILTER(ProductsTbl[Product],ProductsTbl[Status]="Active","")))
Creating filtered dropdowns in Excel

This ensures your drop-down always shows only active products, automatically sorted and de-duplicated:

A screenshot of filtered dropdowns in Excel

Pair it with XLOOKUP to return related details (like price).

Using XLOOKUP to fill values in Excel table

👉 In newer versions of Excel, drop-downs even let you search as you type, making selection even faster.

Searching values in Excel dropdowns

Why These Methods Matter

By combining Excel tools like Tables, Data Validation, Named Ranges, and Dynamic Array Functions, you can build drop-downs that:

  • Save time by updating themselves.
  • Prevent errors with dependent filtering.
  • Provide instant lookup of related data.
  • Scale to hundreds or thousands of options.

This is the difference between "just knowing Excel" and thinking like Excel.

Next Steps

If you want to go beyond drop-downs and master Excel at a professional level, check out my Excel Expert Course. It covers advanced formulas, dynamic arrays and more; complete with real-world projects and my personal mentoring.

AUTHOR Mynda Treacy Co-Founder / Owner at My Online Training Hub

CIMA qualified Accountant with over 25 years experience in roles such as Global IT Financial Controller for investment banking firms Barclays Capital and NatWest Markets.

Mynda has been awarded Microsoft MVP status every year since 2014 for her expertise and contributions to educating people about Microsoft Excel.

Mynda teaches several courses here at MOTH including Excel Expert, Excel Dashboards, Power BI, Power Query and Power Pivot.

4 thoughts on “Dynamic Drop-Down Lists in Excel”

  1. Thank you kindly for the informative article.
    Regarding the dependent/cascading drop-downs.

    I currently use offset for these because i often have large sets of correlated values and building separate spill lists would not be practical because i would need hundreds and if a new value in a hierarchy appears i would need to create a new list for it.

    Going with the example you have here in the article I would find the first row of the category, count the number of rows for that category and then use offset to provide the drop down options.

    My question is if there is a more modern way of doing this because offset is a volatile function.
    Thank you

    Reply
  2. A sixth option would be to use TRIMRANGE (and perhaps DROP). This could allow you to put the list on a separate sheet without necessarily having to turn it into a Table or create any Name references.

    A formula like this can be used directly in the Source box for the Data Validation List:

    =DROP(TRIMRANGE(‘Some Other Sheet’!A:A),1)

    The TRIMRANGE allows the reference to remain dynamic and automatically pick up any new or removed values just like a Table, while DROP can discard any header value that would probably be in the top row.

    This approach even has the added benefit of allowing multiple lists to be placed side by side (without skipping columns), which would have otherwise required them be part of the same Table, and which could then have caused a nuisance with blank cells when the lists had different numbers of values.

    Reply

Leave a Comment

Current ye@r *

0