
Microsoft Excel’s Data Validation tool allows you to create a drop-down list inside a cell using existing data from a column.
However, the method you use depends on whether your source data is in a formatted table or just a regular dataset.
Let’s walk through practical examples and formulas that show how to create functional and dynamic drop-down menus in both cases.
Using a Column in a Formatted Excel Table
Suppose you have a formatted Excel table named “Scores” that contains player names, their respective nations, and total scores.
Your goal is to use cell H2 to select a nation from a drop-down menu, and then use I2 and J2 to display the players from that nation and their average score, respectively.
Step 1: Create a Drop-Down List in a Formatted Table
To begin, click cell H2, navigate to the Data tab, and select Data Validation.
In the dialog box that appears, under the Settings tab, choose List from the Allow menu.
Now, you need to tell Excel where to get the list options from.
While it might seem logical to type =Scores[Nation]
in the Source field, this unfortunately results in an error.
This is because Excel’s Data Validation doesn’t accept structured table references directly in that field.
Method 1: Reference the Cells in the Table Column
Click the Source field in the Data Validation dialog box.
Hover over the header of the “Nation” column until you see a small black downward arrow.
Click once to select only the data cells within that column of the table—avoid selecting the entire column via the column letter (like “B”).
After clicking OK, cell H2 now has a functioning drop-down list populated with the nations.
Better still, the list displays only unique entries and updates automatically if new nations are added to the table.
If you want the options to appear alphabetically, sort the source data in column B.
Use the FILTER Function in Cell I2
Now, extract all players from the selected nation using this formula:
=FILTER(Scores[Player],Scores[Nation]=H2)
This formula dynamically updates as soon as a nation is selected from the drop-down.
Use the AVERAGEIF Function in Cell J2
To show the average score for the selected nation, enter:
=AVERAGEIF(Scores[Nation],H2,Scores[Total])
This gives a single average value based on the nation selected.
Method 2: Name the Range in the Table Column
Alternatively, you can name the range for easier reuse.
Start by selecting all the values in the “Nation” column (excluding the header).
In the Name Box (just above cell A1), type a name such as Nation and press Enter.
Now, in the Data Validation dialog’s Source field, type:
=Nation
The drop-down will now be based on the named range.
Excel will also expand the named range if new data is added to the table.
Benefits of Named Ranges
- Makes navigation easier
- Works well with screen readers
- Simplifies formulas
- Keeps your workbooks more organized
Using the named range, your formulas become simpler:
FILTER formula in I2:
=FILTER(Scores[Player],Nation=H2)
AVERAGEIF formula in J2:
=AVERAGEIF(Nation,H2,Scores[Total])
Using a Column in an Unformatted Dataset
Sometimes your dataset isn’t formatted as a table.
This is common when working with spilled arrays or exported data.
In such cases, the approach slightly changes.
Step 1: Use INDIRECT with COUNTA
Select the drop-down cell (e.g., H2) and go to Data Validation > List.
In the Source field, type:
=INDIRECT("B2:B"&COUNTA(B:B))
This formula dynamically includes all non-blank values from B2 to the last filled row.
Here’s how it works:
INDIRECT
turns a text string into a reference"B2:B"
starts the range at B2&COUNTA(B:B)
adds the count of non-empty cells in column B to define the bottom of the range
So, if B2 to B22 are filled, Excel treats the list as B2:B22.
This approach avoids including the header or blank rows in the drop-down.
Confirm and Test
To verify that new data is being picked up, add a value to column B and open the Data Validation box again.
The dotted line outline should now extend to include the new row.
Final Step: Add Summary Functions
As with formatted tables, you can use the following formulas:
FILTER formula in I2:
=FILTER(C2:C100,B2:B100=H2)
AVERAGEIF formula in J2:
=AVERAGEIF(B2:B100,H2,D2:D100)
Replace the column references (C and D) with your actual columns for players and scores.
Conclusion
Excel’s Data Validation tool is powerful for creating dynamic drop-down lists.
Whether you’re using a structured table or a plain dataset, you can adapt your method accordingly.
By combining Data Validation, FILTER, and AVERAGEIF, you can build smart and responsive spreadsheets perfect for dashboards, reports, and analytics.
Use named ranges or INDIRECT formulas to make your lists auto-expand and user-friendly.
These methods can also enhance your charts and improve usability across your workbook.