← All comparisons

XLOOKUP vs INDEX/MATCH: is there still a reason to nest?

XLOOKUP does in one call nearly everything INDEX/MATCH does in two — so the real question is portability: INDEX/MATCH works in every spreadsheet ever shipped; XLOOKUP needs modern versions (LibreOffice 24.8+, verified by execution).

The differences at a glance

XLOOKUPINDEXMATCH
Left lookupsYesYes
Built-in if-not-foundYes — 4th argumentNo — wrap in IFERROR
Two-dimensional lookup (row AND column)Nest two XLOOKUPsClassic INDEX(range,MATCH(),MATCH()) — arguably cleaner
Search from end / binary searchBuilt-in modesMATCH is ascending-only (approximate)
Return several columns at onceYes (spills)INDEX with 0 as row/col can, awkwardly
Old Excel (2019 and earlier)NoYes
LibreOffice (executed result)24.8+ (#NAME? in 24.2)Every version we test

Which should you use?

Compatibility (from executed tests)

Executed results: INDEX and MATCH work in every LibreOffice release we test; XLOOKUP first works in LibreOffice 24.8 and returns #NAME? in 24.2. All are available in current Google Sheets and Excel 365; only INDEX/MATCH exists in Excel 2019 and earlier.

Example formulas

XLOOKUP=XLOOKUP("cherry",A2:A10,B2:B10,"Not found")
INDEX/MATCH equivalent=IFERROR(INDEX(B2:B10,MATCH("cherry",A2:A10,0)),"Not found")
Two-dimensional INDEX/MATCH/MATCH=INDEX(B2:E10,MATCH("cherry",A2:A10,0),MATCH("Q3",B1:E1,0))

Full per-version details on each function page: XLOOKUP · INDEX · MATCH.