← All comparisons

VLOOKUP vs INDEX/MATCH: which is better?

INDEX/MATCH was the power user's lookup long before XLOOKUP existed, and it still matters because it runs in every spreadsheet app and every version — while fixing VLOOKUP's worst habits.

The differences at a glance

VLOOKUPINDEXMATCH
Look left of the key columnNoYes — MATCH and INDEX ranges are independent
Survives inserting/deleting columnsNo — the column number goes staleYes — ranges adjust automatically
ReadabilityOne compact callTwo nested calls — harder for beginners
Speed on large dataScans the whole table widthCan be faster — only touches two columns
CompatibilityUniversalUniversal — documented across all three; executed in every LibreOffice version we test

Which should you use?

Compatibility (Excel for the web, Sheets & LibreOffice executed; desktop Excel per docs)

All three functions execute correctly in every LibreOffice release we test and in our executed Google Sheets run (desktop Excel per Microsoft's docs — we do not run desktop Excel) — INDEX/MATCH is the most portable robust lookup that exists. If everyone's on a modern version, XLOOKUP does everything INDEX/MATCH does with one call. Excel for the web is a separate application with its own calculation engine, and that one we do execute: all 14 corpus cases for these functions matched the documented values there (recalculated on OneDrive, 2026-09-01); the per-case values are on the individual function pages.

Example formulas

VLOOKUP (key must be column 1)=VLOOKUP("cherry",A2:B10,2,FALSE)
INDEX/MATCH equivalent (works even if B is left of A)=INDEX(B2:B10,MATCH("cherry",A2:A10,0))

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

How-to recipes using these functions