Back to Patterns
Combo recipe
Intermediate
Replaces VLOOKUP

INDEX + MATCH

Look up any direction, no column counting

When to reach for this

Find an employee's salary by name when Name isn't the first column.

=INDEX(D2:D6, MATCH("Maria Lopez", B2:B6, 0))

What this pattern does

Combines INDEX (which fetches a value by coordinates) with MATCH (which finds a position by value). The result is a lookup that works left-to-right, right-to-left, or anywhere in between, without rewriting column numbers whenever the sheet changes.

Interactive walkthrough

Walk through INDEX

INDEX and MATCH are stronger together than VLOOKUP could ever be. MATCH finds where the match lives; INDEX fetches the value at that position. Watch the two pieces click together, step by step.

Formula anatomy
2 args
=INDEX(D2:D6,MATCH("Maria Lopez", B2:B6, 0))
1
D2:D6return_array

INDEX pulls the final value from here, the Salary column

2
MATCH("Maria Lopez", B2:B6, 0)row_num (dynamic)

The inner MATCH finds which row, its result is passed straight to INDEX

Employee_Data.xlsxStep 1/6
FileHomeInsertPage LayoutFormulasDataReviewView
F2
fx
=INDEX(D2:D6MATCH("Maria Lopez", B2:B6, 0))
ABCDEF
1Emp IDNameDepartmentSalary
2E001Sarah ChenEngineering$82,000=INDEX(D2:D6, MATCH("Maria Lopez", B2:B6, 0))
3E002James WuMarketing$68,000
4E003Maria LopezFinance$98,000
5E004Tom BrownEngineering$55,000
6E005Anika PatelHR$125,000
Employees+
Enter

You type the combo formula

In F2 you type =INDEX(D2:D6, MATCH("Maria Lopez", B2:B6, 0)). Excel always evaluates inner functions first, so MATCH runs before INDEX gets a number.

Key takeaway

Why pros prefer this: the lookup column can be anywhere, not just leftmost. Adding or reordering columns doesn't break the formula, because INDEX and MATCH point at explicit ranges, not column numbers.

INDEX + MATCH: Excel Formula Pattern | CellSkill