How to Return an Entire Excel Row with One Formula
Question details
The user wants to retrieve all data in an entire row using a single formula based on a specific lookup value (such as an Asset ID), without having to write or repeat multiple VLOOKUP formulas for each column.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Looking up asset details across multiple columns based on a single Asset ID in older spreadsheet software like Excel 2019.
- Observed behavior
- Excel 2019 lacks support for dynamic array functions such as XLOOKUP, preventing a single simple formula from spilling results across the row. The user is forced to use repetitive exact-match VLOOKUPs or conditional formatting to highlight the row.
Identify your current version of Excel or WPS Spreadsheet, as dynamic array features like XLOOKUP or FILTER are only available in newer software versions.
Use VLOOKUP with the COLUMNS Function
Since older versions like Excel 2019 lack dynamic arrays, you can use a single VLOOKUP formula combined with the COLUMNS function to automatically increment the column index, allowing you to drag it across the row.
This method avoids manually changing the column index number for every single cell. By combining VLOOKUP with an expanding range in the COLUMNS function, you can write the formula once and drag it across your sheet.
Click on the cell where you want to output the first piece of retrieved data (for example, cell J8).
Type `=VLOOKUP($I$8, $I$18:$Q$33, COLUMNS($A:B), FALSE)`. In this formula, $I$8 is your fixed lookup value, and the COLUMNS function counts the columns to automatically generate the correct column index number.
Press Enter to calculate the first value. Then, click the small square at the bottom-right corner of the cell (fill handle) and drag it horizontally across the row to populate the rest of the asset details.

Highlight the Matching Row Using Conditional Formatting
If you only need to identify and view the relevant data within a large dataset quickly, highlighting the entire row containing the matching lookup value is an excellent alternative.
Use WPS Spreadsheet for Advanced Lookups and Array Formulas
WPS Office Spreadsheet provides exceptional compatibility with modern spreadsheet features. With its intuitive interface and support for the latest formula arrays, you can easily retrieve entire rows of data using a single formula, completely streamlining your workflow.
- 1. Open your dataset in WPS Spreadsheet: Launch WPS Office and open your existing spreadsheet document containing the asset data.
- 2. Use a dynamic array formula: Select the target cell and enter a modern lookup formula (if supported in your version build) to spill the entire row automatically without dragging.
- 3. Apply easy row formatting: Utilize the Conditional Formatting options under the Home tab to quickly apply color-coded highlighting to matching rows.

Frequently Asked Questions
Can I use XLOOKUP in Excel 2019 to return a full row?
No, XLOOKUP and dynamic array functions are not supported in Excel 2019. To utilize dynamic arrays that automatically spill across an entire row, you must upgrade to Microsoft 365, Excel 2021, or use compatible alternative software like WPS Office.
How do I return multiple columns with one VLOOKUP?
You can enclose the column index numbers in curly braces to create an array constant, such as `=VLOOKUP(A2, E:H, {2,3,4}, FALSE)`. In older spreadsheet versions, you must highlight the destination cells first, type the formula, and press Ctrl+Shift+Enter.
Why is my VLOOKUP returning #N/A when searching for a row?
The #N/A error means the exact lookup value cannot be found in the first column of your specified table array. Check for trailing spaces, formatting differences (such as text vs. numbers), or ensure the table array range is correctly locked with absolute references ($).
Can I use VBA to return an entire row of data?
Yes, you can write a simple VBA macro or a User Defined Function (UDF) to search for a value and return an entire row's range into your desired destination. This is often used as a workaround in older software versions that lack dynamic array capabilities.




