How it works.
INDEX & MATCH is a classic power-user technique that combines two formulas. MATCH searches a range for a lookup value and returns its numeric position. INDEX takes that position and retrieves the corresponding value from another range. This is the historical alternative to VLOOKUP that allows searching to the left and is more resource-efficient.
💡 In simple terms.
MATCH finds the row number of your lookup item. INDEX uses that row number to grab the corresponding value from another column.
"Think of MATCH like a detective finding the row number of a suspect, and INDEX like a crane going directly to that row number to pick up the package."
Formula syntax.
Standard Excel Notation=INDEX(return_array, MATCH(lookup_value, lookup_array, [match_type]))[like_this] are optional; all other arguments are required.Formula arguments.
Every parameter accepted by the INDEX & MATCH function is detailed below.
The range containing the value you want to return.
Example value:A2:A6The value you want MATCH to search for.
Example value:D2The range that MATCH searches in.
Example value:B2:B60 = Exact match (recommended), 1 = Less than, -1 = Greater than.
Default: 0Simple example.
Step-by-Step ScenarioReverse ID Lookup
Retrieve the Name of a student based on their ID (the search column is to the right of the name column).
| Student Name | ID Code | Grade | Query ID | Student Name |
|---|---|---|---|---|
| Emma | ST-402 | A | ST-404 | — |
| Liam | ST-403 | B | — | — |
| Olivia | ST-404 | A+ | — | — |
=INDEX(A2:A6, MATCH(D2, B2:B6, 0))Evaluates INDEX & MATCH over the sample table cells, placing the verified output in cell E2.
Formula generator.
Full Generator WizardCustomize the argument fields below to generate a tailored INDEX & MATCH formula ready to paste directly into your worksheet.
=INDEX & MATCH()Expected result behavior.
Returns "Calculated output" based on sample evaluation criteria and active cell references.
Best Practices
- INDEX-MATCH works perfectly looking left, unlike VLOOKUP which can only search to the right.
- It is excellent for two-way lookups (looking up both row and column titles) by nesting a second MATCH function inside the column argument of INDEX.
Common Mistakes
- Be careful to match the boundaries of the ranges. If INDEX is A2:A6 and MATCH is searching B1:B6, the offset will cause incorrect values to be returned.
Platform & version compatibility.
Verified platform compatibility matrix based on actual spreadsheet calculation engine specifications.
Core standard function supported across all modern and legacy Microsoft Excel versions (365, 2021, 2019, 2016, 2013, 2010), as well as Excel for the Web and Mac.
100% compatible with Google Sheets. Uses identical argument order, data types, and standard calculation logic.
Frequently asked questions.
Technical Q&AWhy do financial analysts prefer INDEX & MATCH over VLOOKUP?↓
INDEX & MATCH does not require counting column offsets, allows leftward lookups, calculates faster in large workbooks because it reads only two columns, and never breaks when someone inserts or deletes columns.
Why is MATCH returning a #N/A error?↓
Ensure the third argument in MATCH (match_type) is explicitly set to 0 for exact matching. Also check for mismatched data types (such as numbers formatted as text).