logo
search
Function Problems

How to Create a Dynamic Excel Drop-Down List with the FILTER Function

Nimra MalikNimra Malik Oct 21, 2026 868 views

Question details

The user needs to create an auto-updating drop-down list that dynamically extracts specific data, such as clients within a certain city, using the FILTER function.

How to Create a Dynamic Excel Drop-Down List Using the FILTER Function
Product
Spreadsheet
Device & OS
not provided
Scenario
Building an interactive spreadsheet where data validation lists update and expand automatically as new records are added to the source dataset.
Observed behavior
A dynamic spill range is generated by the FILTER function, which is then referenced via the spill operator (#) to populate a dependent or auto-updating drop-down list.
Before you start

Ensure your source data is formatted as an official Table so the formula ranges expand automatically, and verify that your spreadsheet software supports Dynamic Arrays and the FILTER function.

Solution 1Recommended

Creating a Dynamic Drop-Down List using FILTER and Excel Tables

Convert your data source to a Table and use the FILTER function to generate a dynamic spill array, then link this array to your Data Validation drop-down list using the spill operator.

By combining formatted Tables, the FILTER function, and the spill range operator, you can build drop-downs that automatically adjust their options as you add or remove rows from your raw data. This eliminates the need to manually update your Data Validation source ranges.

1
Format your source data as a Table

Highlight your source dataset, press Ctrl+T (or navigate to Insert > Table), and ensure 'My table has headers' is checked. Give your table a descriptive name like 'Table1' from the Table Design tab.

2
Extract your targeted list using the FILTER function

Select an empty cell in a staging area of your worksheet (where the data has room to expand downward). Enter a formula such as =FILTER(Table1[Client], Table1[City]="Manhattan", ""). Press Enter to output the spilled array of matching clients.

3
Access Data Validation

Select the cell where you want your actual drop-down menu to appear. Navigate to the Data tab on the ribbon and click on 'Data Validation'.

4
Reference the dynamic spill range

In the Data Validation dialog box, select 'List' from the Allow dropdown. In the Source box, select the very first cell where you typed your FILTER formula, and immediately type a hash symbol (#) at the end of the cell reference (for example: =$G$2#). Click OK.

Creating a Dynamic Drop-Down List using FILTER and Excel Tables
Auto-updating mechanism: Because the original data is formatted as a Table, any new records added to the bottom of the table will automatically be evaluated by the FILTER function. The spilled range will grow, and your drop-down list will update instantly without further edits.

Create Advanced Dynamic Drop-Downs Easily in WPS Spreadsheet

WPS Spreadsheet fully supports Dynamic Array functions like FILTER, SORT, and UNIQUE. You can efficiently manage your source data and create interactive, auto-updating drop-down lists with ease using familiar formulas.

  1. 1. Open your dataset in WPS Spreadsheet: Launch WPS Office, open your spreadsheet file, and locate the source data you want to use for your drop-down lists.
  2. 2. Format data as a Table: Highlight your data, go to the Insert tab, and click 'Table' so that formulas referencing it will automatically expand when new data is added.
  3. 3. Apply the FILTER formula: In a blank cell, type your FILTER formula (e.g., =FILTER(Table1[Clients], Table1[Status]="Active")) to generate a dynamic list of values.
  4. 4. Link to Data Validation: Select your target drop-down cell, go to Data > Data Validation, choose 'List', and input your formula cell reference followed by the '#' symbol (e.g., =$H$5#).
Fully compatible with Microsoft Excel formulas, dynamic arrays, and XLSX files.Lightweight performance that handles large datasets and complex formulas without lagging.Familiar ribbon interface ensuring a zero-learning-curve transition.Free to use and packed with advanced data visualization and validation tools.
microsoft office alternative - wps office

Frequently Asked Questions

Why is my FILTER function returning a #CALC! error?

The #CALC! error typically occurs when the FILTER function finds no matching records in your table and you have not provided a value for the third argument [if_empty]. You can resolve this by providing a fallback text in your formula: =FILTER(Table1[Client], Table1[City]="Manhattan", "No matching records").

What does the hash/pound symbol (#) do in Data Validation?

The hash symbol (#) is known as the spilled range operator. When placed immediately after a cell reference (like =$E$2#), it instructs the spreadsheet to select the entire dynamic array of values spilling from that initial cell, rather than just referencing that single cell.

Can I use multiple criteria in the FILTER function for my drop-down list?

Yes. You can filter by multiple criteria by multiplying your conditions together. For instance, to filter for active clients in Manhattan, use: =FILTER(Table1[Client], (Table1[City]="Manhattan") * (Table1[Status]="Active"), "").

Why isn't my drop-down list updating when I add new data to the bottom of my list?

This usually happens if your original source dataset was not formatted as an official Table. Standard cell ranges (like A2:A20) are static and will not include new rows automatically. Ensure you press Ctrl+T on your source data block and that your FILTER formula references the Table's structural name (like Table1[Client]).