How to Create a Dynamic List in Excel Based on Criteria?
Microsoft Excel offers many ways to organize, filter, and analyze data. One essential skill is creating a dynamic list based on criteria. This ability allows users to display only the values that meet specific conditions, making large datasets manageable and more insightful.
In this article, you will learn easy steps to create a dynamic list in Excel, using formulas, tables, and features like FILTER, Advanced Filter, and Data Validation.
Preparing Your Data
Before building a dynamic list, always ensure your data is in a structured format—preferably as an Excel Table. Tables automatically expand when new data is added, keeping lists current.
Example:
Name | Department | Sales |
---|---|---|
Alice | Marketing | 5000 |
Bob | Sales | 7000 |
Carol | Marketing | 6000 |
Dave | IT | 4000 |
This format is easy to filter and use with Excel functions.
Methods to Create a Dynamic List Based on Criteria
Excel provides multiple approaches to creating a dynamic list. Let’s look at the most popular and efficient ways.
1) Using the FILTER Function (Excel 365 and Excel 2021)
The FILTER function is the simplest way to generate a dynamic list based on criteria in recent Excel versions.
Basic Syntax
=FILTER(array, include, [if_empty])
- array: The range to filter.
- include: The condition to apply.
- if_empty: Optional. What to display if no values meet the criteria.
Example: Filter by Department
Suppose you want a list of all names from the Marketing department:
- Click an empty cell where you want the list to start.
- Enter:
=FILTER(A2:A5, B2:B5="Marketing", "No results")
- Press Enter.
The dynamic list will now show only names in Marketing. If the source table changes, the list updates instantly.
Filtering With Multiple Criteria
Combine conditions using logic. For example, to filter Marketing with Sales above 5500:
=FILTER(A2:A5, (B2:B5="Marketing")*(C2:C5>5500), "No match")
This displays only Marketing staff with Sales greater than 5500.
2) Creating a Dynamic List with Advanced Filter
The Advanced Filter feature is available in all modern Excel versions and does not require formulas.
- Place your criteria in a separate area. For example: Department Marketing
- Go to the Data tab and choose Advanced in the Sort & Filter group.
- For List range, select your data (including headers).
- For Criteria range, select your criteria table.
- Choose to copy results to another location.
- Click OK.
This creates a static list, but you can re-run the filter whenever the criteria change.
3) Building a Dynamic List Using Formulas (Without FILTER)
For those with older Excel versions (2016 and earlier), you can use a combination of INDEX, SMALL, and IF functions with helper columns.
Step 1: Add a Helper Column
Let’s find all Marketing staff.
- In a new column (say, D2), use:
=IF(B2="Marketing",ROW(), "")
Drag down to fill the formula.
Step 2: Create the Dynamic List
- In another location, enter this formula for the first item:
=IFERROR(INDEX(A:A,SMALL(D:D,ROW(1:1))),"")
Drag down to fill as many rows as you expect matches.
This method collects matching items and lists them, leaving blanks if not enough matches are found. Whenever the source data or criteria change, the dynamic list updates automatically.
4) Creating a Dynamic Dependent Drop-Down List Based on Criteria
Dependent drop-down lists are helpful for interactive forms or dashboards.
Step 1: Set Up Source Data
Example:
Product Category | Product |
---|---|
Fruit | Apple |
Fruit | Banana |
Vegetable | Carrot |
Vegetable | Lettuce |
Step 2: Create Named Ranges
- Highlight all Fruit products, define as Fruit.
- Highlight all Vegetable products, define as Vegetable.
Step 3: Set Up Data Validation
- In one cell, create a drop-down for categories (Fruit, Vegetable) using Data Validation.
- In the dependent cell, set Data Validation with the formula:
=INDIRECT(A2)
Now, when you select a category, the next drop-down lists products only from that category.
Making Your Dynamic List Expand Automatically
To ensure your dynamic list expands automatically when new data is added:
- Convert your dataset into an Excel Table (select range and press Ctrl+T).
- Use structured references in your formulas, like:
=FILTER(Table1[Name], Table1[Department]="Marketing", "No match")
Visualizing Dynamic Lists with Conditional Formatting
Apply conditional formatting to your dynamic list to highlight key values, making it easier to analyze data visually.
- Select the dynamic list range.
- Go to Home > Conditional Formatting.
- Choose a rule (e.g., highlight values above a certain threshold).
- Set formatting options and click OK.
Using Pivot Tables for Dynamic Lists
Pivot tables can summarize and filter data dynamically. To create a pivot table:
- Select your data range or table.
- Go to Insert > PivotTable.
- Drag your field of interest (like Department) to the Filters or Rows area.
- Filter as needed. The list updates as you change filters or add data to the source table.
Tips for Managing Dynamic Lists
- Use Excel Tables for auto-expansion and easy formatting.
- Prefer the FILTER function for newer Excel versions.
- Rely on INDEX/SMALL formulas or Advanced Filter for older versions.
- Keep criteria ranges separate and clearly labeled.
- Regularly save your workbook to avoid losing updates.
Final Thoughts
Creating a dynamic list in Excel based on criteria makes your work more efficient and accurate. Whether you use the FILTER function, classic formulas, or tools like Advanced Filter and Pivot Tables, these approaches help turn raw data into actionable information. Practice these steps to master dynamic lists, and you’ll boost your data management skills in Excel.
FAQs
What is a dynamic list in Excel?
A dynamic list in Excel is a range of cells that automatically updates when the source data or the filtering criteria changes. It helps users to see only the data that meets specific conditions without needing to filter manually each time.
Which Excel versions support the FILTER function for dynamic lists?
The FILTER function is available in Microsoft Excel 365, Excel 2021, and Excel for the web. It is not available in Excel 2019 or earlier versions.
How do I create a dynamic drop-down list based on another cell’s value?
To create a dynamic drop-down list based on another cell’s value, use named ranges and the INDIRECT function within Data Validation. First, name your source lists. Then, set up the dependent drop-down by applying a Data Validation formula like =INDIRECT(reference_cell)
.
Can I make a dynamic list without using formulas?
Yes, you can use Excel’s Advanced Filter feature to create a dynamic list based on criteria, though you will need to refresh the filter when your data changes. Pivot Tables also provide a way to summarize and filter data without writing formulas.
How can I make my dynamic list expand automatically when adding new data?
Convert your dataset to an Excel Table (using Ctrl+T). Formulas and features that reference table columns will automatically expand as new rows are added, ensuring your dynamic list always includes new entries.
What are the alternatives to the FILTER function in older Excel versions?
If you’re using Excel 2019 or earlier, combine INDEX, SMALL, and IF functions to build dynamic lists. Alternatively, use the Advanced Filter or Pivot Table features to filter and display data based on criteria.

Vaishvi Desai is the founder of Excelsamurai and a passionate Excel enthusiast with years of experience in data analysis and spreadsheet management. With a mission to help others harness the power of Excel, Vaishvi shares her expertise through concise, easy-to-follow tutorials on shortcuts, formulas, Pivot Tables, and VBA.