XLOOKUP does in one function what INDEX MATCH does in two: =XLOOKUP(A2, B:B, C:C) equals =INDEX(C:C, MATCH(A2, B:B, 0)). Prefer XLOOKUP for new formulas; INDEX MATCH still wins on compatibility with old Excel and stays elegant for two-way lookups.
XLOOKUP vs INDEX MATCH in Google Sheets Compared
XLOOKUP vs INDEX MATCH in Google Sheets: syntax, flexibility, compatibility, and speed. When the modern function wins and when the classic pattern holds up.
Sheets Bootcamp
July 28, 2026
Table of Contents
Quick Answer
Before August 2022, INDEX MATCH was the professional’s answer to VLOOKUP’s limits: it looks left, survives column insertions, and never needed a FALSE. Then Google Sheets got XLOOKUP, which was designed to make that two-function pattern unnecessary. Mostly, it did. Here is where each one stands.
In This Guide
- The Same Lookup, Both Ways
- Where XLOOKUP Is Simply Better
- Where INDEX MATCH Holds Its Ground
- Feature Comparison
- Which Should You Learn First?
- Related Google Sheets Tutorials
The Same Lookup, Both Ways
Product IDs in column A, prices in column D. The price of SKU-103:
=INDEX(D2:D6, MATCH("SKU-103", A2:A6, 0)) =XLOOKUP("SKU-103", A2:A6, D2:D6) They are structurally the same idea. MATCH finds the position of the key in one range; INDEX returns that position from another range. XLOOKUP fuses the two steps, takes the arguments in reading order, and drops MATCH’s 0 because exact is already the default.
Both look left as easily as right, and both survive inserted columns, which is why INDEX MATCH earned its reputation over VLOOKUP in the first place. The differences start past the basics.
Where XLOOKUP Is Simply Better
One function, in reading order. “Find this, in here, return from there” maps one-to-one onto XLOOKUP’s arguments. INDEX MATCH states the result range first and buries the search key in the middle, which is exactly why it has a learning-curve reputation.
Built-in not-found handling. XLOOKUP’s missing_value argument replaces the IFERROR wrapper that every production INDEX MATCH ends up wearing:
=IFERROR(INDEX(D2:D6, MATCH(H1, A2:A6, 0)), "Not found") =XLOOKUP(H1, A2:A6, D2:D6, "Not found") And missing_value catches only the not-found case, while IFERROR also hides genuine formula damage.
Match and search modes. Wildcards, next-smaller, next-larger, bottom-up search, and binary search are flags on XLOOKUP. INDEX MATCH can imitate some of them (MATCH has approximate modes with sorted data; a wildcard works in MATCH’s key), but bottom-up “find the latest” has no clean INDEX MATCH equivalent at all.
Spilled multi-column results. =XLOOKUP(H1, A2:A6, B2:D6) returns a whole record in one formula. INDEX MATCH returns one cell per formula.
Where INDEX MATCH Holds Its Ground
Compatibility. INDEX and MATCH work in every spreadsheet tool made in the last four decades, including Excel 2019 and earlier, where XLOOKUP does not exist. Sheets that get exported for old-Excel audiences should stick with the classic pattern.
Two-way lookups. The row-and-column intersection reads beautifully as INDEX with two MATCHes:
=INDEX(B2:E6, MATCH("Riverside", A2:A6, 0), MATCH("Q3", B1:E1, 0)) XLOOKUP can do this by nesting, but the INDEX-with-two-MATCHes form states the geometry directly: this grid, this row, this column. Many sheet builders keep it for exactly that readability. The pattern is covered in two-way lookups.
Returning references. INDEX returns a cell reference, not just a value, so advanced formulas can build ranges out of it (the endpoint of a dynamic SUM range, for example). XLOOKUP returns values. Most users never touch this difference; range-builders rely on it.
Feature Comparison
XLOOKUP vs INDEX MATCH
| Feature | INDEX MATCH | XLOOKUP |
|---|---|---|
| Functions per lookup | Two, nested | One |
| Argument order | Result range first | Reading order |
| Left lookup | Yes | Yes |
| Survives inserted columns | Yes | Yes |
| Not-found handling | IFERROR wrapper | Built-in missing_value |
| Find last match | Awkward workarounds | search_mode -1 |
| Multi-column return | One cell per formula | Spills a record |
| Two-way lookup | Elegant, two MATCHes | Possible, nested |
| Returns references | Yes | No |
| Works in old Excel | Yes | Excel 2021+ only |
Which Should You Learn First?
Learn XLOOKUP first: the argument order teaches the idea of lookups more clearly, and it covers more cases with less syntax. Learn to read INDEX MATCH second, because you will inherit spreadsheets full of it, and because its two-MATCH form remains the nicest way to write an intersection lookup.
The one function to stop reaching for by default is VLOOKUP, which loses to both of these on nearly every axis.
Related Google Sheets Tutorials
- XLOOKUP: The Complete Guide: Every argument of the modern lookup
- INDEX MATCH: The Complete Guide: The classic pattern in depth
- XLOOKUP vs VLOOKUP: The other comparison that matters
- Two-Way Lookup with INDEX MATCH: Where the classic still shines
- XLOOKUP with Multiple Criteria: The shared boolean-array trick
Frequently Asked Questions
Which is better, XLOOKUP or INDEX MATCH?
Is XLOOKUP faster than INDEX MATCH?
Can INDEX MATCH do anything XLOOKUP cannot?
Should I learn INDEX MATCH if I already know XLOOKUP?
Do XLOOKUP and INDEX MATCH handle multiple criteria the same way?
You've googled this formula before. Probably more than once.
Basic Training is a free course inside a real Google Sheet that grades every formula the moment you press Enter. 7 lessons, about 40 minutes, and this loop ends.
Try the Sheet That Grades YouFree. No spam, ever.