FormulaCraft

INDEX MATCH vs VLOOKUP: which is better in Excel and Sheets

Topic:VLOOKUP
Excel & Google Sheets
=INDEX(C2:C4,MATCH(A2,B2:B4,0))

Verified example

Computed by a real spreadsheet engine on the sample data below.

FindIDName
B02B01Alice
B02Bob
B03Carol

=INDEX(C2:C4,MATCH(A2,B2:B4,0))Bob

Try it with your data

Edit the grid or formula, then run it through a real spreadsheet engine — no signup.

Sample data — click any cell to edit

Runs server-side · free · no signup

Step by step

  1. 1VLOOKUP syntax: =VLOOKUP(lookup_value, table_array, col_index_num, 0) — the lookup column MUST be the leftmost column of table_array.
  2. 2INDEX MATCH syntax: =INDEX(return_range,MATCH(lookup_value,lookup_range,0)) — the lookup column and return column are specified independently, so they can be in any order.
  3. 3Use VLOOKUP when your lookup column is always the first column, the table is simple, and you don't insert columns often.
  4. 4Use INDEX MATCH when you need to look left (return a column to the left of the lookup), want column insertions not to break the formula, or need better performance on large datasets.

Tips

Need it for your exact data?

Describe your columns in plain English and get the precise formula for your sheet, with the right Excel or Sheets syntax.

Frequently asked

Why does VLOOKUP break when I insert a column?

VLOOKUP uses a hard-coded column number (e.g., 3) which becomes stale when columns are inserted — column 3 is now what was column 4. INDEX MATCH references the return column directly, so it's immune to insertions.

Is INDEX MATCH slower than VLOOKUP on large datasets?

Historically VLOOKUP was slightly faster, but in modern Excel and Google Sheets the difference is negligible. INDEX MATCH's flexibility far outweighs any theoretical speed advantage.

More on VLOOKUP

See all →

Formulas used

Written and reviewed by FormulaCraft Team. Each formula on this page is run through our verification engine before publishing.

Last reviewed: