VLOOKUP has long been a go-to formula in Google Sheets — but what if there’s a smarter, more flexible way? That’s where INDEX and MATCH come in. When used together, these functions can do everything VLOOKUP does — and a whole lot more.
If you’re new to Google Sheets or spreadsheets in general, you might find VLOOKUP a bit limited, especially when your data changes frequently or when you need to look to the left of your lookup column. With INDEX and MATCH, you get full control — and more accurate, dynamic results.
This guide will show you exactly how to use INDEX and MATCH with easy steps, real examples, and simple language — even if you’re just getting started.
What Are INDEX and MATCH?
- INDEX returns the value of a cell, given its row and column number in a range.
- MATCH finds the position of a value in a single row or column.
Together, they let you search for data anywhere — in any direction — with more accuracy than VLOOKUP.
Real-Life Example: Lookup Product Price by Name
Let’s say you’re running a small online store. You have a list of products with their names and prices. You want to enter a product name and automatically get the price — even if the column order changes later. This is where INDEX and MATCH truly shine.
Sample Product Table
Product ID | Product Name | Price |
---|---|---|
101 | Wireless Mouse | $25 |
102 | Keyboard | $45 |
103 | Monitor | $150 |
104 | USB Hub | $20 |
You want to enter “Keyboard” in a cell and get “$45” as a result.
How to Use INDEX and MATCH Instead of VLOOKUP
Step-by-Step Instructions
- Type the product name in any cell (let’s say
E2
):Keyboard
- Use this formula to get the price:
=INDEX(C2:C5, MATCH(E2, B2:B5, 0))
- Explanation:
C2:C5
= range where prices are listedB2:B5
= range to search for the product nameE2
= the cell with the product you typedMATCH
finds the row number,INDEX
returns the price
Result:
The formula will return $45 — the correct price for “Keyboard.”
Why INDEX + MATCH Is More Powerful Than VLOOKUP
- Flexible Lookup Direction: You can look left, right, up, or down. VLOOKUP can’t look to the left.
- More Resilient: If you insert a column, INDEX/MATCH still works. VLOOKUP breaks unless you update the column number.
- Dynamic Ranges: MATCH works well with dynamic arrays, sorting, and filtered lists.
- More Accurate: VLOOKUP defaults to approximate match unless set to exact. MATCH forces you to be specific.
Advanced Example: Two-Way Lookup (Row + Column)
Let’s say you have a price matrix for products across different regions:
Product Price Matrix
Product | USA | UK | India |
---|---|---|---|
Wireless Mouse | 25 | 30 | 2000 |
Keyboard | 45 | 50 | 3500 |
Monitor | 150 | 170 | 12000 |
To find the price of “Keyboard” in “UK”:
- Put
Keyboard
inF2
, andUK
inG2
- Use this formula:
=INDEX(B2:D4, MATCH(F2, A2:A4, 0), MATCH(G2, B1:D1, 0))
Result: 50 (Price of Keyboard in UK)
Pro Tips
- Use
IFERROR()
to handle missing data gracefully:
=IFERROR(INDEX(...), "Not Found")
- Wrap
ARRAYFORMULA()
around INDEX + MATCH to apply to entire columns. - Use with
IMPORTRANGE()
to match data across different spreadsheets.
Quick-Reference Cheat Sheet
Task | Formula |
---|---|
Simple Lookup | =INDEX(ResultRange, MATCH(SearchKey, SearchRange, 0)) |
Two-Way Lookup | =INDEX(Table, MATCH(RowKey, RowRange, 0), MATCH(ColKey, ColRange, 0)) |
With Error Handling | =IFERROR(INDEX(...), "Not Found") |
If you’ve relied on VLOOKUP your whole spreadsheet life, switching to INDEX and MATCH might seem intimidating at first — but once you try it, you’ll wonder how you ever worked without it. It’s faster, more accurate, and way more flexible. Plus, it opens the door to advanced techniques that just aren’t possible with VLOOKUP.
Next time you need to look up data in Google Sheets, go ahead — give INDEX and MATCH a shot!