Skip to main content
ExcelINDEX + MATCHLookup & ReferenceAdvanced ExcelData Lookup

The Problem

VLOOKUP works well until your table layout changes. Insert a column, move fields around, or try to look left instead of right, and suddenly the formula becomes awkward or fragile.

What is INDEX MATCH? INDEX returns a value from a position in a range, while MATCH finds the position of a lookup value. Used together, they create a lookup pattern that is more flexible than VLOOKUP because the return column and lookup column do not have to be in a fixed order.

That flexibility is the real reason people keep learning INDEX MATCH. It is not just about doing lookups. It is about building worksheets that survive structure changes.

Business Context & Real-World Use Case

Consider a supply chain analyst working with vendor files, inventory sheets, and shipping tables from several teams. One workbook may list Part Number first. Another may place it in the middle. A third may insert new columns every month.

If every lookup depends on a rigid left-to-right table, maintenance becomes painful. A formula that worked last month can quietly return the wrong field after a layout change.

INDEX MATCH solves that by separating two jobs:

  • MATCH finds where the lookup value sits.
  • INDEX returns the value from the range you actually want.

That makes it a practical choice for long-lived workbooks, shared operational files, and reports that keep evolving over time.

The Ingredients: Understanding the Setup

The standard exact-match pattern is:

=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
Parameter Description
return_range The column or row that contains the answer you want back.
lookup_value The value you are searching for, such as a product ID.
lookup_range The range where Excel should search for the lookup value.
0 Exact match mode for MATCH.

The key idea is simple: MATCH returns a position number, then INDEX uses that number to return the value from a different range.

The Recipe: Step-by-Step Instructions

Suppose you have this table in A2:D6:

Product ID Product Name Price Stock
P001 Wireless Mouse 25.99 150
P002 Ergonomic Keyboard 75.50 100
P003 USB-C Hub 39.99 220
P004 Monitor Stand 49.00 80
P005 Webcam 1080p 65.25 130

You want to type a product ID in F2 and return the price in G2.

  1. Put the lookup value in F2, for example P003.
  2. Start with MATCH to find where that ID appears:
=MATCH(F2,A2:A6,0)

That returns 3, because P003 is the third item in A2:A6.

  1. Wrap that position inside INDEX:
=INDEX(C2:C6,MATCH(F2,A2:A6,0))
  1. Press Enter.

Excel returns 39.99, which is the price for P003.

The important part is that the lookup column is A2:A6, while the return column is C2:C6. They do not need to be adjacent, and the return column does not need to sit to the right of the lookup column.

Pro Tips

  1. Lock ranges with $ if you plan to copy the formula down or across.
  2. Use INDEX MATCH when the table layout may change over time.
  3. Keep MATCH(...,0) for exact-match lookups unless you specifically need approximate matching.
  4. Convert source data to an Excel Table if you want formulas that read more clearly and expand with new rows.

Troubleshooting: Common Errors & Fixes

1. #N/A

  • Symptom: No value is returned.
  • Cause: MATCH cannot find the lookup value.
  • Fix: Check spelling, hidden spaces, and data type mismatches between the lookup value and lookup range.

2. #REF!

  • Symptom: Excel says the reference is invalid.
  • Cause: The returned position does not line up with the size of the return range.
  • Fix: Make sure lookup_range and return_range cover corresponding rows.

3. Formula works, but result is wrong

  • Symptom: You get a value, just not the correct one.
  • Cause: The wrong return range was selected, or the data contains duplicates.
  • Fix: Re-check the return range and confirm whether the lookup key is unique.

Quick Reference

Item Value
Core pattern =INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
Best use case Lookups where table layout may change
Main advantage Can return values from any direction

Related Recipes

EC

Reviewed by Daniel Park

Spreadsheet analyst and documentation editor focused on practical Excel workflows, reporting logic, and error-proof formula guides for real business use.

Read more about our editorial approach →

You might also find these useful 💡