INDEX and MATCH used together are the classic, flexible alternative to VLOOKUP. The combination looks intimidating at first but solves problems VLOOKUP can't, and it works in every version of Excel.
What each function does
INDEX returns the value at a given position in a range:
=INDEX(return_range, row_number)
MATCH finds the position of a value in a range:
=MATCH(lookup_value, lookup_range, 0)
The 0 means exact match.
Separately they're limited. Together they're powerful: MATCH finds where your value is, and INDEX returns what's at that position.
Combining them
=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
Example — IDs in column A, names in column B, find the name for ID 1043:
=INDEX(B2:B100, MATCH(1043, A2:A100, 0))
Read it inside-out: MATCH finds which row 1043 sits in within A2:A100, then INDEX returns the value at that same row in B2:B100.
Why use it over VLOOKUP
It looks in any direction. Because you specify the lookup column and return column independently, the return column can be to the left of the lookup column — something VLOOKUP cannot do.
It survives column changes. There's no hardcoded column number, so inserting or moving columns inside your data doesn't silently break the formula the way it breaks VLOOKUP.
It works everywhere. Unlike XLOOKUP, INDEX/MATCH exists in every version of Excel, so it's safe for workbooks shared with people on older versions.
Two-way lookups
INDEX/MATCH can also do two-dimensional lookups — finding a value by both row and column — using two MATCH functions:
=INDEX(data_range, MATCH(row_value, row_headers, 0), MATCH(col_value, col_headers, 0))
This finds the intersection of a row and a column, which is genuinely hard to do with VLOOKUP.
Handling not-found
Like VLOOKUP, MATCH returns #N/A when it finds nothing. Wrap the whole thing in IFERROR:
=IFERROR(INDEX(B2:B100, MATCH(1043, A2:A100, 0)), "Not found")
The bottom line
If you have XLOOKUP, use that — it's simpler. But if you're on an older Excel version or want a bulletproof lookup that survives column changes and looks in any direction, INDEX/MATCH is the reliable workhorse worth learning. Once the inside-out logic clicks, it becomes second nature.