How to Fix INDEX MATCH and XLOOKUP Errors After Excel Update
Question details
The user's INDEX MATCH and XLOOKUP formulas have stopped returning correct results after an Excel update, especially when dealing with large datasets or using the implicit intersection operator.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Trying to retrieve and match records across two tables using lookup functions after a software update.
- Observed behavior
- Formulas only return one correct row instead of processing all records, and the implicit-intersection operator (@) breaks the expected array or table calculation behavior.
Verify whether your data is formatted as an Excel Table or a standard worksheet range, as this significantly changes how dynamic array formulas and structured references behave.
Use Structured References without Implicit Intersection
If you are working within Excel Tables, use structured references and avoid the implicit intersection operator (@) on the lookup array to allow the formula to process and fill down properly.
In modern versions of Excel equipped with dynamic arrays, the '@' symbol represents implicit intersection, forcing a formula to return a single value. When applied to a lookup array inside a table, it prevents the formula from processing the entire dataset.
Click on the first cell in the calculated column where you want your lookup results to appear.
Write a modern lookup formula utilizing row-aware structured references. For example: =XLOOKUP([@[Invoice Number]],LookupTable[Invoice Number],LookupTable[Description],"Not found").
Check your formula and ensure that you do not add the '@' symbol before the lookup array (e.g., LookupTable[Invoice Number]) unless you specifically intend to force an implicit intersection.
Press Enter. Because you are using an Excel Table and structured references, the formula will automatically fill down the entire column and process all records correctly.

Verify Data Types and Clean Data
Lookup formulas will fail to match records if the lookup value and the lookup array have mismatched data types or contain hidden spaces.
Master XLOOKUP and INDEX MATCH with WPS Spreadsheet
WPS Spreadsheet fully supports modern functions like XLOOKUP, INDEX, and MATCH. You can process hundreds of thousands of records smoothly with its highly optimized calculation engine, without worrying about update glitches.
- 1. Open your spreadsheet: Launch WPS Spreadsheet and open the file containing your lookup tables.
- 2. Select the destination cell: Click the cell where you want to output the lookup result.
- 3. Insert the XLOOKUP function: Go to the Formulas tab, click 'Insert Function', and search for XLOOKUP, or simply type =XLOOKUP( in the formula bar.
- 4. Define the arguments: Select your lookup value, the lookup array, and the return array, then press Enter to calculate the results seamlessly.

Frequently Asked Questions
Why does my INDEX MATCH formula only return the first row after an update?
This typically happens if the implicit intersection operator (@) was automatically added to your formula references during an update. Removing the '@' symbol from the lookup array allows the formula to return an array of values instead of restricting it to a single result.
What is the implicit intersection operator (@) in Excel?
The implicit intersection operator (@) is a feature introduced with dynamic arrays. It forces a formula to return a single value corresponding to the row or column of the formula cell, rather than processing and spilling the entire array.
Can I replace my INDEX MATCH formulas with XLOOKUP?
Yes, XLOOKUP is a robust, modern replacement for INDEX MATCH. It allows you to search in any direction, handles missing values gracefully with a built-in argument, and generally requires much simpler syntax for cross-table matching.
Why does my lookup formula return an #N/A error when the data clearly exists?
An #N/A error often occurs if there are trailing or hidden spaces in your data, or if the data types do not match perfectly (for instance, comparing a number stored as text to an actual number). Using the TRIM function on your data or converting text fields to numbers can resolve this issue.




