How to Filter Excel Table Rows and Transfer Results
Question details
The user needs to filter inventory records assigned to a specific condition and output the results without preserving original row numbers.

- Product
- Spreadsheet
- Device & OS
- not provided
- Scenario
- Filtering tabular data based on specific conditions to output a dynamic list of results in another location.
- Observed behavior
- Dynamic arrays like the FILTER function fail to spill results when the destination area is formatted as an Excel table.
Ensure the destination area where you plan to output the filtered results is converted to a normal range, as dynamic array formulas cannot spill data into structured Excel tables.
Use the FILTER Function to Extract Rows to a Normal Range
Utilize the dynamic FILTER function to extract specific rows based on your condition and spill the results into a normal data range.
The FILTER function allows you to extract records that meet a specific condition. However, because it relies on dynamic array spilling, the destination must be a normal range rather than a formatted table.
Select any cell in your destination table, navigate to the 'Table Design' or 'Table Tools' tab on the ribbon, and click 'Convert to Range' to remove the structured table formatting.
Delete any existing formulas or values in the destination cells (for example, clearing B5:G5 downwards) to ensure there is enough empty space for the new array to spill into.
In the top-left cell of your destination range (e.g., cell B5), enter the formula: =FILTER(InventoryList,InventoryList[Cage '#]=B2,""). Replace 'InventoryList' with your actual source table name and 'B2' with your criteria cell.
Press Enter. The formula will automatically spill the filtered records across the adjacent columns and rows dynamically based on the source data.

Easily Filter and Manage Data with WPS Spreadsheet
WPS Spreadsheet fully supports dynamic array functions like FILTER, allowing you to easily extract, sort, and manage complex datasets.
- 1. Open data in WPS: Launch WPS Spreadsheet and open your workbook containing the source table.
- 2. Prepare destination: Ensure your output area is a normal range. If it is a table, right-click and convert it to a range.
- 3. Enter FILTER formula: Select the target cell, type =FILTER(, and select your source data array and criteria.
- 4. Apply and spill: Press Enter to dynamically spill your filtered results instantly across the spreadsheet.

Frequently Asked Questions
Why do I get a #SPILL! error when using the FILTER function?
A #SPILL! error occurs when the destination range is blocked by existing data, text, merged cells, or if the destination is formatted as an Excel Table. Clear the blocking cells or convert the table to a normal range to fix it.
Can I use multiple conditions with the FILTER function?
Yes, you can use the asterisk (*) for AND logic or the plus sign (+) for OR logic between conditions. For example: =FILTER(Table1, (Table1[ColumnA]="Condition1") * (Table1[ColumnB]="Condition2")).
How do I sort the results returned by the FILTER function?
You can seamlessly wrap your FILTER formula inside a SORT function. For instance: =SORT(FILTER(Table1, Table1[Category]="A"), 1, 1) will sort the filtered results by the first column in ascending order.




