How to Fix #SPILL! Error When Filtering an Excel Table Connected to Power Query
Question details
The user is trying to use a FILTER formula to extract specific columns (Display Name, BP1 through BP5) from a Power Query-connected table into an input sheet, but encounters a #SPILL! error.
- Product
- Excel
- Device & OS
- not provided
- Scenario
- Attempting to use dynamic-array formulas like FILTER inside a formatted Excel table connected to Power Query.
- Observed behavior
- Excel returns a #SPILL! error because dynamic array formulas cannot spill their results inside or from a formatted Excel table.
Ensure you have a basic understanding of dynamic arrays in Excel and check if the destination worksheet has enough empty cells to accommodate the spilled data.
Move the FILTER Formula Outside the Excel Table
Dynamic-array formulas cannot spill inside tables. Moving the formula to a standard cell range resolves the #SPILL! error.
Excel tables do not support dynamic array formulas that spill across multiple rows or columns. To use the FILTER function, it must be placed in a regular, unformatted cell range.
Click on a completely empty cell outside of any formatted Excel table in your worksheet.
Type your FILTER formula referencing the Power Query table, for example: =FILTER(Table1[[Display Name]:[BP5]], Table1[Item]="Criteria").
Ensure all the cells below and to the right of your formula are completely empty so the data can spill without obstruction.
Perform the Filter Operation Directly in Power Query
Instead of using Excel formulas, handle the data transformation within Power Query to output exactly what you need without spilling errors.
Fix #VALUE! Errors by Verifying Formula References
If you moved the formula outside the table and now see a #VALUE! error, the formula references or data types need correction.
How to Use the FILTER Function in WPS Spreadsheet
WPS Spreadsheet fully supports dynamic arrays and the FILTER function, allowing you to easily extract specific data columns without complex query setups. Here is how you can use it directly in your worksheets.
- 1. Prepare your data: Open your dataset in WPS Spreadsheet. Ensure the data is organized in standard rows and columns without merged cells.
- 2. Select the destination: Click on an empty cell where you want the filtered data to begin spilling. Ensure there is enough space below and to the right.
- 3. Enter the FILTER formula: Type '=FILTER(A2:F100, B2:B100="Criteria")', replacing the ranges with your actual data and criteria.
- 4. Execute the function: Press Enter. WPS Spreadsheet will automatically calculate and spill the extracted rows and columns into the adjacent empty cells.

Frequently Asked Questions
Why do I get a #SPILL! error in Excel?
A #SPILL! error occurs when a dynamic array formula (like FILTER or UNIQUE) cannot output its results because the required destination cells are not completely empty, or because the formula was placed inside a formatted Excel table.
Can dynamic array formulas be used inside an Excel table?
No, Excel tables currently do not support dynamic array formulas that spill into multiple cells. You must place these formulas in a standard cell range outside of the table.
How do I fix a #VALUE! error when using the FILTER function?
A #VALUE! error usually indicates that the arrays provided to the FILTER function have mismatched dimensions. Ensure that your inclusion criteria range (e.g., A2:A100) has the exact same number of rows as the source array being filtered.
What is the benefit of filtering directly in Power Query?
Filtering in Power Query processes the data before it is loaded into the worksheet. This prevents formula spilling errors, reduces the overall file size, and significantly improves worksheet calculation performance.




