XLOOKUP vs INDEX and MATCH
They do the same job. XLOOKUP is one function with readable arguments; INDEX and MATCH is a two-function pattern that works in every version of Excel. Learn both: XLOOKUP for your own work, INDEX/MATCH for files that travel.
The differences
| Feature | XLOOKUP | INDEX and MATCH |
|---|---|---|
| Available in | Excel 2021, 2024 and Microsoft 365 | Every version |
| Formula | One function, three arguments | Two functions nested together |
| Default match | Exact | MATCH defaults to approximate, so you add 0 |
| Value not found | Built-in if_not_found | #N/A, so you wrap it in IFERROR |
| Two-way lookup (row and column) | One XLOOKUP inside another | INDEX with two MATCH functions |
| Return a column to the left | Yes | Yes |
Same data, side by side
One sample sheet, each approach in its own cell. Results are calculated by our formula engine.
| Cell | Formula | Result | What it shows |
|---|---|---|---|
| H2 | =XLOOKUP(F2,A2:A5,C2:C5) | 95 | XLOOKUP: Q2 units for the product in F2 |
| H3 | =INDEX(C2:C5,MATCH(F2,A2:A5,0)) | 95 | INDEX/MATCH: the same answer, in any version |
| H4 | =INDEX(B2:D5,MATCH(F2,A2:A5,0),MATCH(G2,B1:D1,0)) | 95 | Two-way: product row and quarter column, both from cells |
Try it live
Change the inputs or rewrite a formula and compare the results.
When to use each
Choose XLOOKUP when
You and your readers have a current version and you want formulas that are quick to read and audit.
Choose INDEX and MATCH when
The file must open in Excel 2019 or earlier, or you're reusing one MATCH result in several INDEX formulas.
Practice INDEX
From lesson 11, INDEX & MATCH. Graded instantly, then re-checked on changed data.
Two-way lookup
H6, return the shipping rate for the zone in H2 and the weight in H3.The functions
XLOOKUPXLOOKUP searches one column or row for a value and returns the matching item from another. Excel 2021, 2024 and Microsoft 365.INDEXINDEX returns the value at a given row and column of a range: INDEX(A2:C10,4,2) is the fourth row, second column. Every current version.MATCHMATCH returns the position of a value in a row or column: 3 means the third cell. Every current version.
Questions
Is INDEX MATCH faster than XLOOKUP?
Speed is close enough not to matter in typical workbooks. Choose based on which versions need to open the file.
Why does my INDEX MATCH return the wrong row?
MATCH is probably doing an approximate match. Add 0 as its third argument: MATCH(value, range, 0).
Last reviewed October 2026.