How to Use UNIQUE and FILTER for Dynamic Excel Results
Question details
The user needs to return unique employees based on a selected date using dynamic formulas, seeking a simpler alternative to complex named-range setups.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Filtering an employee dataset by a specific date to extract a dynamic list of unique records.
- Observed behavior
- Complex dynamic named-range formulas combining OFFSET, MATCH, VLOOKUP, INDEX, and INDIRECT are returning errors or #SPILL! results.
Ensure your spreadsheet software supports modern dynamic array functions, and verify that the destination cells are completely empty to prevent #SPILL! errors.
Use UNIQUE and FILTER Functions
Replace complex and error-prone nested formulas with a clean dynamic array formula using UNIQUE and FILTER.
Combining functions like OFFSET, MATCH, INDEX, and INDIRECT to create dynamic ranges often leads to volatile workbooks and #SPILL! errors. The modern, efficient approach is to use the FILTER function to extract the relevant rows based on your criteria, wrapped inside the UNIQUE function to automatically remove any duplicates.
Locate the column containing the employee names (e.g., A2:A100) and the column containing the dates (e.g., B2:B100).
Click on the single top-left cell where you want your dynamic, unique list to begin generating.
Type the formula =UNIQUE(FILTER(A2:A100, B2:B100=E1)) where E1 is the cell containing your selected date. Press Enter.
The formula will automatically populate downwards with the unique employee names for that specific date.

Extract Dynamic Results with UNIQUE & FILTER in WPS Spreadsheet
WPS Spreadsheet perfectly handles dynamic array formulas, allowing you to use UNIQUE and FILTER functions without complicated named ranges to get immediate, accurate results.
- 1. Open your dataset: Launch WPS Spreadsheet and open the file containing your employee and date data.
- 2. Select the target cell: Click on an empty cell where you want the filtered unique values to appear.
- 3. Apply the formula: Input =UNIQUE(FILTER(employee_range, date_range=target_date)) into the formula bar.
- 4. Execute and expand: Press Enter to execute the function and watch the unique filtered data automatically spill into the adjacent cells.

Frequently Asked Questions
Why does my dynamic array formula return a #SPILL! error?
A #SPILL! error occurs when a dynamic array formula does not have enough consecutive empty cells to display all the results. You must clear any data, hidden characters, or spaces in the cells directly below or to the right of your formula cell.
Can I use multiple conditions inside the FILTER function?
Yes. You can use multiple criteria by wrapping each condition in parentheses and multiplying them for an AND logic. For example: =UNIQUE(FILTER(A2:A100, (B2:B100="Active") * (C2:C100=DATE(2023,10,1)))).
Are UNIQUE and FILTER functions backwards compatible with older Excel versions?
No, UNIQUE and FILTER are modern dynamic array functions. If you open a workbook containing them in older versions of spreadsheet software that lack dynamic array support, they may return a #NAME? error or appear as legacy array formulas wrapped in curly brackets {}.
How do I sort the results of a UNIQUE and FILTER formula?
You can wrap your existing formula in the SORT function. For example, use =SORT(UNIQUE(FILTER(A2:A100, B2:B100=E1))) to return the unique list of employees in alphabetical order.




