intermediate 3 min read

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.

SB

Sheets Bootcamp

July 28, 2026

Quick Answer

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.

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

Product IDs in column A, prices in column D. The price of SKU-103:

Formula
=INDEX(D2:D6, MATCH("SKU-103", A2:A6, 0))
Formula
=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:

Formula
=IFERROR(INDEX(D2:D6, MATCH(H1, A2:A6, 0)), "Not found")
Formula
=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:

Formula
=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

FeatureINDEX MATCHXLOOKUP
Functions per lookupTwo, nestedOne
Argument orderResult range firstReading order
Left lookupYesYes
Survives inserted columnsYesYes
Not-found handlingIFERROR wrapperBuilt-in missing_value
Find last matchAwkward workaroundssearch_mode -1
Multi-column returnOne cell per formulaSpills a record
Two-way lookupElegant, two MATCHesPossible, nested
Returns referencesYesNo
Works in old ExcelYesExcel 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.

Frequently Asked Questions

Which is better, XLOOKUP or INDEX MATCH?
For most lookups in Google Sheets, XLOOKUP: it does the same job in one function with built-in error handling and match modes. INDEX MATCH remains better for compatibility with old Excel versions and stays the more natural fit for two-way lookups with two MATCH functions.
Is XLOOKUP faster than INDEX MATCH?
At normal sheet sizes there is no meaningful difference. Both scan linearly by default. On large sorted data, XLOOKUP's binary search mode gives it an edge that INDEX MATCH can only match by switching MATCH to approximate mode on sorted data.
Can INDEX MATCH do anything XLOOKUP cannot?
Almost nothing at this point. The honest advantages left are compatibility (INDEX and MATCH work in every spreadsheet tool ever made) and returning a cell reference rather than a value, which matters in some advanced range-building formulas.
Should I learn INDEX MATCH if I already know XLOOKUP?
Yes, at least to read it. Millions of existing spreadsheets use INDEX MATCH, and you will inherit them. You do not need to write new formulas with it, but being able to decode =INDEX(C:C, MATCH(A2, B:B, 0)) is a practical necessity.
Do XLOOKUP and INDEX MATCH handle multiple criteria the same way?
The idea is identical: build a boolean array from the criteria. In Google Sheets both need ARRAYFORMULA around the pattern. XLOOKUP searches the array for 1 directly, while INDEX MATCH passes it to MATCH's first argument.

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 You

Free. No spam, ever.

Get Free Basic Training