How to Fix Dynamic Array Formulas in Excel Drop-Down Lists
Question details
The user needs to use dynamic array formulas such as FILTER or XLOOKUP to populate a data-validation drop-down list or combo box, but the formulas are causing validation errors.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Creating a reliable, dependent drop-down list that automatically updates its values based on another cell's input.
- Observed behavior
- Dynamic array formulas fail or are rejected when typed directly into the Excel data-validation source field.
Verify that your version of Excel supports dynamic array functions, and ensure your source data table has sufficient empty space adjacent to the formula cell for the array to spill without returning a #SPILL! error.
Use a Helper Worksheet with the Spill Operator (#)
Instead of putting the dynamic array formula directly into the Data Validation dialog, calculate it on a separate helper sheet and reference its spilled range.
Excel's Data Validation dialog directly rejects certain dynamic array formulas like FILTER and XLOOKUP. To bypass this limitation, you must output the formula to a standard cell so Excel can naturally spill the results into a dynamic array. You can then point your drop-down list to this automatically resizing range using the spill operator (#).
Add a new worksheet to your workbook specifically for background calculations and name it 'Helper' or 'Data'.
In a cell on the helper sheet (for example, N1), enter your formula, such as =XLOOKUP(A8,Data!$D$23:$L$23,Data!$D$49:$L$49). Press Enter to let the results spill into the adjacent cells.
Navigate back to your main worksheet and select the cell where you want the drop-down list to appear. Go to the Data tab on the ribbon and click 'Data Validation'.
In the Data Validation dialog, go to the Settings tab and select 'List' from the Allow drop-down. In the Source box, reference the helper cell followed immediately by the # symbol (e.g., =Helper!$N$1#). Click OK to apply.

Build Dynamic Drop-Down Lists with WPS Spreadsheet
WPS Spreadsheet fully supports dynamic array functions like XLOOKUP and FILTER. You can seamlessly build and manage dynamic drop-down lists with perfect compatibility with Microsoft Excel files.
- 1. Download and Install: Download WPS Office for free and open your target .xlsx file in WPS Spreadsheet.
- 2. Apply Dynamic Formulas: Enter your dynamic formula (e.g., XLOOKUP or FILTER) in an empty helper cell to generate the source data range.
- 3. Configure Data Validation: Select your input cell, navigate to the Data tab on the top ribbon, click 'Validation', and choose 'List' from the criteria options.
- 4. Reference the Array: In the Source field, select the first cell of your helper range and append the # operator to dynamically capture all generated values.

Frequently Asked Questions
Why does Excel show an error when I use FILTER in data validation?
Excel's Data Validation dialog does not natively evaluate dynamic array formulas like FILTER or XLOOKUP directly within the Source input field. You must output the formula to a separate helper cell and reference its spilled range instead.
What is the spill operator (#) in Excel?
The spill operator (#) is placed immediately after a cell reference (like N1#) to indicate that Excel should refer to the entire spilled range produced by a dynamic array formula starting in that cell, rather than just the single cell itself.
Can I use dynamic drop-down lists across different worksheets?
Yes. You can place your dynamic array formula on a dedicated helper or setup sheet to keep your workbook clean, and then reference that specific sheet's spilled range (e.g., =Helper!$N$1#) in the data validation settings of your main input sheet.




