How to Return an Entire Excel Row by Name Using the FILTER Function
Question details
The user wants to retrieve an entire row of data from a master worksheet based on a name match in the first column, with the results updating automatically when the source data changes.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Extracting a complete row of corresponding data from a main dataset to another sheet based on a specific text string or name.
- Observed behavior
- Standard functions like VLOOKUP only return a single cell value by default. The user needs a dynamic array formula that fetches and populates the whole row at once.
Ensure that your source data range does not contain any merged cells, and verify that the target destination has enough empty adjacent columns to display the entire returned row without interference.
Use the FILTER Function to Return the Complete Row
The FILTER function is the most efficient method to extract an entire row of data dynamically without the need to write or drag multiple formulas.
Unlike VLOOKUP, which requires column index numbers and naturally returns a single value, the FILTER function works with dynamic arrays. It evaluates a given range against your criteria and spills all matching columns into the adjacent cells automatically.
Determine your source data array (e.g., Sheet1!B2:H21) and the criteria column containing the names (e.g., Sheet1!A2:A21).
Click on the first cell in your destination worksheet where you want the extracted row data to begin.
Type the formula: =FILTER(Sheet1!B2:H21, Sheet1!A2:A21=A2) into the formula bar. Replace A2 with the cell reference containing the specific name you want to match.
Press Enter. The function will instantly spill the entire matching row across the adjacent columns to the right.

Use INDEX and MATCH for Older Excel Versions
If your spreadsheet software does not support modern dynamic array functions like FILTER, you can combine INDEX and MATCH across multiple columns to achieve the same result.
Easily Extract Data Rows with WPS Spreadsheet
WPS Spreadsheet fully supports dynamic array formulas, including the highly requested FILTER function. This allows you to seamlessly pull entire rows of data across your worksheets without complex workarounds, providing a highly efficient environment for data analysis.
- 1. Open your workbook: Launch WPS Spreadsheet and open the file containing your master dataset.
- 2. Select the target cell: Click on the blank cell where you want the extracted row to start.
- 3. Apply the FILTER formula: Type your =FILTER(array, include) formula and press Enter to instantly populate the matching row data.

Frequently Asked Questions
Why am I getting a #SPILL! error when using the FILTER function?
A #SPILL! error occurs when the destination range where the formula attempts to output the entire row is blocked by existing data, text, or merged cells. Clear the adjacent cells to the right to allow the formula to expand properly.
Why did VLOOKUP only return a single cell instead of the whole row?
By default, VLOOKUP is designed to look up a value and return a single cell based on a specific column index number. To return an entire row with VLOOKUP, you would need to write separate formulas for each column or use an array of column indices, making FILTER a much simpler alternative.
Can I return multiple rows using the FILTER function if there are duplicate names?
Yes. If the name or criteria you are matching appears multiple times in your source data's lookup column, the FILTER function will automatically extract and return all rows that match that name, creating a complete filtered list.




