ExcelReady
CourseMock testsFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before day one. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Mock tests
  • Function guides
  • Blog

Test prep

  • Excel level test
  • Excel test practice
  • Free screening quiz
  • Certificate

Company

  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

  1. Blog
  2. Dynamic arrays
  3. Dynamic Drop-Down Lists in Excel That Update Themselves

Dynamic Drop-Down Lists in Excel That Update Themselves

By ExcelReady Team·Updated November 1, 2026·5 min read

The short answer

A dynamic drop-down list in Excel updates itself when the source data changes. The simplest way is to keep the items in an Excel table and use the table column as the Data Validation source. In Microsoft 365 or Excel 2021, build the items with =SORT(UNIQUE(A2:A50)) in a helper cell such as F2, then set the source to =$F$2#.

Key takeaways

  • A drop-down list is a Data Validation rule with the List option; it becomes dynamic when its source can grow.
  • An Excel table as the source works in every modern version: new rows join the list automatically.
  • With dynamic arrays, point the source at a spill range like =$F$2#, built with SORT(UNIQUE()).
  • A dependent drop-down uses FILTER in a helper cell, so the second list depends on the first choice.
  • Data Validation only checks new entries; old values stay even if they leave the list.
On this page+
  1. What makes a drop-down list dynamic?
  2. Method 1: Use an Excel table as the source
  3. Method 2: Use SORT and UNIQUE with a spill range
  4. Method 3: Make a dependent drop-down with FILTER
  5. Why isn't my dynamic drop-down working?
  6. Dynamic drop-downs in older Excel
  7. Practise it

A dynamic drop-down list in Excel is a drop-down whose choices update by themselves when the data changes. You get one in two ways: use an Excel table as the source, or point the list at a spill range built with SORT and UNIQUE. This guide shows both, plus a dependent list where the second drop-down changes with the first choice.

What makes a drop-down list dynamic?#

A drop-down list is a Data Validation rule set to List. The rule has a Source: the cells that hold the choices. A normal source like $H$2:$H$5 is fixed, so an item typed in H6 never shows up. A dynamic source grows or changes with the data, so you never have to edit the rule again.

If you have never made a drop-down, start with the step-by-step guide to Data Validation drop-downs. The examples below use this product list in A1:C9:

ABC
1CategoryItemPrice
2FruitApple0.50
3DairyMilk1.20
4FruitBanana0.30
5BakeryBread2.10
6DairyCheese3.50
7FruitCherry4.00
8BakeryBagel0.90
9DairyYogurt0.80

Method 1: Use an Excel table as the source#

An Excel table grows when you type in the row just below it, and a drop-down based on the table grows with it. This works in every version from Excel 2007 on.

  1. Type your choices in one column with a header, for example Status in K1 and Open, Pending, Closed below it.
  2. Click inside the list and press Ctrl+T (Mac: ⌘T). Tick My table has headers and click OK.
  3. Select the cell that needs the drop-down and go to Data > Data Validation (Windows keys: Alt, A, V, V).
  4. In Allow, choose List. Click in Source and select the table's data cells, K2:K4, without the header.
  5. Click OK.

Now type "On hold" in K5. The table expands to K5, and the drop-down shows four choices. This method is best for a short list of options you type by hand. It doesn't remove repeats or sort anything.

Method 2: Use SORT and UNIQUE with a spill range#

In Microsoft 365, Excel 2021 or Excel 2024, you can build the list from the data itself. The choices are always the distinct values already in a column, sorted A to Z.

  1. In an empty helper cell, say F2, type:

    Excel formula
    =SORT(UNIQUE(A2:A50))

    It spills Bakery, Dairy, Fruit. The range runs to row 50 to leave room for new rows.

  2. Select the cell for the drop-down and open Data > Data Validation.
  3. Choose List, and in Source type =$F$2#.
  4. Click OK.

The # after F2 is the spill range operator. It means "every cell the formula in F2 spilled into", however many that is today. Add a row with the category "Frozen", and both the helper list and the drop-down show four items. Read more in the guide to the spill range operator.

Data Validation won't accept a formula like UNIQUE typed straight into the Source box, so the helper cell is needed. You can put it on a separate sheet, such as Lists, and use =Lists!$F$2# as the source.

Because A2:A50 includes empty rows, UNIQUE adds a 0 to the list for the blanks. Remove it by filtering first:

Excel formula
=SORT(UNIQUE(FILTER(A2:A50,A2:A50<>"")))

The UNIQUE function guide explains its optional arguments, and the guide to a sorted list of unique values shows more ways to shape the list.

Method 3: Make a dependent drop-down with FILTER#

A dependent drop-down changes its choices based on another cell. Pick Dairy in the first list, and the second list shows only Milk, Cheese and Yogurt.

  1. Make the first drop-down in E2 using Method 2, so it offers Bakery, Dairy and Fruit.
  2. In a helper cell, say G2, type:

    Excel formula
    =FILTER(B2:B9,A2:A9=E2)

    With Dairy in E2, it spills Milk, Cheese, Yogurt.

  3. Select E3 (or wherever the second choice goes) and add a Data Validation List with the source =$G$2#.

When someone changes E2 to Fruit, the helper list becomes Apple, Banana, Cherry, and so does the second drop-down. If E2 is empty, FILTER finds no match and returns #CALC!. Add a third argument to show a friendly message instead: =FILTER(B2:B9,A2:A9=E2,"Pick a category").

Why isn't my dynamic drop-down working?#

Most problems come from the helper cell or the source reference. Check these:

  • The helper shows #SPILL!. Something blocks the cells below it, so the drop-down has no list. Clear the cells under the formula. The guide to the #SPILL! error lists every cause.
  • You forgot the #. =$F$2 gives a drop-down with only the first item. Add the #.
  • The helper is inside a table. Spilling formulas don't work in Excel tables. Put the helper in normal cells.
  • The list has repeats. You pointed the source at the raw column. Point it at the UNIQUE helper instead.
  • Old entries stay. Data Validation only checks values as they are typed. A cell that says "Frozen" keeps it even after Frozen leaves the list. Use Data > Data Validation > Circle Invalid Data (Windows) to find them.

Dynamic drop-downs in older Excel#

Without dynamic arrays, use Method 1, or a named range built with OFFSET and COUNTA, such as =OFFSET($A$2,0,0,COUNTA($A:$A)-1,1). That formula is harder to read and recalculates often, so a table is usually the better choice. To see why spilling changed so much, read dynamic arrays explained.

Practise it#

Helper lists for drop-downs are just UNIQUE, SORT and FILTER formulas, and those are skills employers test. Practise the UNIQUE function in a live spreadsheet: you type the formula and it checks it instantly. Then practise spill references like A2# and other modern Excel functions. Try the FILTER exercise on this page first.

Try it yourself

This is a live spreadsheet. Type the formula in the green cell and press Enter.

Build the source for a dependent drop-down. E2 holds the chosen category. In G2, use FILTER to list the items in B2:B9 whose category in A2:A9 matches E2.

fx
ABCDEFGH
1
Category
Item
Price
Chosen category
Items for the list
2
Fruit
Apple
0.5
Dairy
3
Dairy
Milk
1.2
4
Fruit
Banana
0.3
5
Bakery
Bread
2.1
6
Dairy
Cheese
3.5
7
Fruit
Cherry
4
8
Bakery
Bagel
0.9
9
Dairy
Yogurt
0.8
10
11
12

Tip: FILTER needs the cells to return (the items), then the test: the category column equals E2.

Practise this in a lesson

LessonUNIQUE: list and count distinct valuesPull a clean list of distinct regions or customers with UNIQUE, then count them with COUNTA.LessonModern Excel: XMATCH, SORTBY, TEXTSPLIT and spill references (A2#)Split names with TEXTSPLIT, find positions with XMATCH, sort by another column with SORTBY, and refer to a whole spilled result with A2#.Function guideUNIQUEList distinct values with Excel's UNIQUE, count them with COUNTA, or find items that appear only once. Examples plus a live exercise.

Frequently asked questions

How do I make a drop-down list update automatically in Excel?

+

Put the list items in an Excel table (Ctrl+T, Mac: Cmd+T) and select the table's data cells as the Data Validation source. When you type a new item below the table, the table grows and the drop-down includes it.

Can I use UNIQUE in a data validation list?

+

Not directly in the Source box. Put =SORT(UNIQUE(range)) in a helper cell, for example F2, then use =$F$2# as the source. The # makes the drop-down follow the whole spilled list.

How do I make a dependent drop-down list?

+

Use FILTER in a helper cell to list only the items that match the first choice, such as =FILTER(B2:B50,A2:A50=E2). Then set the second drop-down's source to that helper cell with a #.

Why does my dynamic drop-down show a 0 or a blank item?

+

The source range includes empty cells. UNIQUE returns an empty cell as 0. Wrap the range in FILTER to drop blanks, like =SORT(UNIQUE(FILTER(A2:A50,A2:A50<>""))).

Do dynamic drop-down lists work in older Excel?

+

The table method works in Excel 2007 and later. The spill range method with # needs Microsoft 365, Excel 2021 or Excel 2024.

Sources

  • Create a drop-down list - Microsoft Support
  • Dynamic array formulas and spilled array behavior - Microsoft Support
  • UNIQUE function - Microsoft Support

Written and checked by the ExcelReady Team. First published November 1, 2026. The practice exercise runs in the same formula engine as our lessons. Found a mistake? Read our editorial policy or email hello@excelready.app.

On this page

  1. What makes a drop-down list dynamic?
  2. Method 1: Use an Excel table as the source
  3. Method 2: Use SORT and UNIQUE with a spill range
  4. Method 3: Make a dependent drop-down with FILTER
  5. Why isn't my dynamic drop-down working?
  6. Dynamic drop-downs in older Excel
  7. Practise it

Keep reading

Data tools· 5 min read

Create a Drop-Down List in Excel

To create a drop-down list in Excel, select the cells, go to Data > Data Validation, set Allow to List, and in Source either type the items separated by commas (Open,Closed) or select a range that holds them. Click OK. Each cell now shows an arrow, and Excel rejects entries that aren't on the list.

Dynamic arrays· 6 min read

Make a Sorted List of Unique Values in Excel

To make a unique sorted list in Excel, wrap UNIQUE inside SORT: =SORT(UNIQUE(B2:B9)). UNIQUE removes the repeats and SORT puts what is left in A to Z order. The list spills down and updates when the data changes. Use =SORT(UNIQUE(B2:B9),,-1) for Z to A. Both functions need Excel 2021, Excel 2024 or Microsoft 365.

Dynamic arrays· 5 min read

The Spill Range Operator (#) in Excel

The spill range operator in Excel is the # sign after a cell reference, such as E2#. It means "the whole range that the formula in E2 spilled into". If E2 holds =UNIQUE(B2:B9) and returns four regions, E2# refers to all four cells and grows with the list. It needs Microsoft 365, Excel 2021 or Excel 2024.

Don't just read about Excel. Do it.

Practise real formulas in a live spreadsheet with instant feedback, right in your browser. Nothing to download.

Start learning for free