Wauvel
Toolkit

XLOOKUP vs VLOOKUP vs INDEX/MATCH: which lookup should you use?

← All posts
By Blake EkelundJuly 1, 2026 · 7 min read

Three formulas do the same core job — pull a value out of a table by its key — and finance people argue about them like sports teams. Here's the short version, then the honest, side-by-side version.

The one-line answer:if your Excel is 2021-or-later or Microsoft 365 (or you're in Google Sheets), use XLOOKUP for almost everything. Keep INDEX/MATCH for two-way lookups and older files; keep VLOOKUP only when you have to hand the file to someone stuck on a decade-old version.

VLOOKUP: the one everyone learned, and its three traps

VLOOKUP looks down the first column of a table for your key and returns a value from the column you number: =VLOOKUP(key, table, col_number, FALSE). It's everywhere, it's muscle memory, and it has three failure modes that quietly put wrong numbers on board slides:

  • It counts columns. That 3 is a hard-coded position. Insert a column anywhere to its left and the 3 now points at the wrong field — no error, just a bad number.
  • It can't look left.The key must sit in the leftmost column of the range. Need the value that lives to the left of your key? VLOOKUP simply can't.
  • It defaults to an approximate match. Forget the final FALSE and VLOOKUP returns the closest match on unsorted data — which is to say, a random-looking wrong answer.
VLOOKUP
B6=VLOOKUP(101, A2:C4, 3, FALSE)
ABC
1SKUProductPrice
2100Widget$42
3101Gadget$55
4102Gizmo$90
5
6Price for 101$55
The 3 is a hard-coded column count. Insert a column before Price and VLOOKUP happily returns the wrong one — silently.

INDEX/MATCH: the classic fix that still wins two-way

INDEX / MATCH splits the job in two — =INDEX(return_range, MATCH(key, lookup_range, 0)). MATCH finds which row your key is in, and INDEX returns the value from that row in anycolumn you point at. Because the return column is a real range — not a counted number — inserting columns doesn't break it, and it can happily return a value to the left of the key.

INDEX / MATCH
B6=INDEX(A2:A4, MATCH(101, B2:B4, 0))
AB
1ProductSKU
2Widget100
3Gadget101
4Gizmo102
5
6Product for 101Gadget
MATCH finds the row; INDEX returns from any column — including one to the left of the key, which VLOOKUP can't reach.

INDEX MATCH MATCH: the two-way lookup nothing else does simply

This is the one people mean when they say INDEX MATCH MATCH — two MATCHes inside one INDEX, one running down the rows and one running across the columns, to pinpoint a single cell in a grid. =INDEX(grid, MATCH(row_key, row_labels, 0), MATCH(col_key, col_labels, 0)). It's the natural tool for anything shaped like a matrix: a metric by product-by-quarter, a rate by tier-by-term, an actual by account-by-month. Change either label and the answer moves — no rebuilding, no VLOOKUP gymnastics.

INDEX / MATCH / MATCH
B7=INDEX(B2:D4, MATCH("Gadget", A2:A4, 0), MATCH("Q3", B1:D1, 0))
ABCD
1ProductQ1Q2Q3
2Widget404446
3Gadget222528
4Gizmo91112
5
6Gadget in Q328
Two MATCHes — one down the rows, one across the columns — pull a single cell out of a grid. Change either label and the answer follows.

XLOOKUP: the modern default that fixes all three traps

XLOOKUP is the one Microsoft built to retire VLOOKUP, and it does everything above without the sharp edges: =XLOOKUP(key, lookup_range, return_range, if_not_found). You point at real ranges instead of counting columns, so inserted columns never break it. It looks any direction, left or right. It defaults to an exact match — no forgotten FALSE. And the fourth argument is a built-in not-found answer, so #N/A never leaks onto a slide.

For a two-way lookup it nests cleanly — =XLOOKUP(row_key, rows, XLOOKUP(col_key, cols, grid)) — the same idea as INDEX MATCH MATCH, in one function name.

XLOOKUP
B6=XLOOKUP("A/P", A2:A4, B2:B4, "Not found")
AB
1AccountBalance
2Cash48,200
3A/R61,400
4Inventory92,800
5
6Look up A/PNot found
Exact match by default, and a built-in answer when the key isn't there — no #N/A to explain in a board meeting.

Side by side

VLOOKUPINDEX/MATCHXLOOKUP
Look left of the keyNoYesYes
Survives inserted columnsNoYesYes
Default matchApproxExactExact
Built-in not-foundNoNoYes
Two-way (row & column)NoMATCH MATCHNested
Runs on old Excel / SheetsYesYes2021+/365

So which one?

  • Default to XLOOKUP.On any modern Excel or Google Sheets it's shorter, safer, and reads more clearly than the alternatives.
  • Reach for INDEX MATCH MATCHwhen the data is a grid and you're looking up by row andcolumn at once — it's still the cleanest way to express a two-way lookup.
  • Keep VLOOKUP only for compatibility — a workbook that has to open on a version of Excel too old to know what XLOOKUP is. Always pass the final FALSE.

None of this is about memorizing four hundred functions. It's about wiring the right lookup into a layout you can actually read — the same discipline behind the dozen formulas a fractional CFO leans on.

Every Wauvel report exports to Excel with the formulas live, not flattened to values — so the lookups and totals are real and auditable, not a pasted snapshot. And the free Excel tools come pre-filled with your own accounts and numbers. See a sample report →

See what a report like this looks like on your own numbers.

Get my free report →

Keep reading

ToolkitJune 26, 2026 · 9 min read

The case of the missing cash: a CFO's afternoon in Excel

A wholesale distributor turns a profit every month and still can't make its credit line breathe. Here's the afternoon a fractional CFO spent cracking it — and the dozen Excel formulas she reached for, what each one does, and exactly when you'd use it.

Read it →
ToolkitJune 26, 2026 · 9 min read

Financial modeling best practices: building a model that doesn't break

Models almost never fail on the math — they fail on structure, trust, and rot. Here are the practices CFOs use to build a model a banker (or your future self) can actually follow and believe.

Read it →
Finance 101June 30, 2026 · 9 min read

Revenue recognition: when a sale becomes revenue (by industry)

Getting paid and earning the money are two different events — and the gap between them is where revenue recognition lives. Here's the one rule, then how it actually plays out for SaaS, agencies, construction, and product businesses.

Read it →
Finance 101June 29, 2026 · 7 min read

How much runway do you have? (and how to count it right)

Runway is the number every founder carries in their head — and the one most often counted wrong. Here's the right formula, the four mistakes that quietly flatter it, and how to find the month you actually run out.

Read it →
ProductJune 29, 2026 · 3 min read

Your QuickBooks numbers, live in Excel — free

Before anyone reads your month, someone has to get the numbers out of QuickBooks and into a sheet you can work in. We made that step disappear: connect once and your P&L, balance sheet, and cash flow land in a clean, current Excel workbook. Free.

Read it →
Finance 101June 29, 2026 · 8 min read

Profitable but broke: why your P&L says yes and your bank says no

Best revenue month of the year, and you still can't make payroll? Your books aren't broken — you're reading the wrong statement. Here are the five places your cash hides while the P&L says you're winning, and the one habit that closes the gap.

Read it →
Finance 101June 28, 2026 · 7 min read

Do you need a CFO yet? An honest answer for founders

Hiring a CFO is a six-figure decision most small businesses make too early — or skip for years. Here's what the job actually is, the parts you can do yourself this week, and the signals that mean it's finally time to hire.

Read it →
Finance 101June 28, 2026 · 7 min read

One customer, most of your revenue: the risk nobody puts on the P&L

The number that can end a business overnight shows up on no statement: how much of your revenue rides on one customer. Here's how a CFO measures concentration risk, what "good" looks like, and the moves that de-risk it before a banker, an acquirer, or a lost account forces the issue.

Read it →
Finance 101June 28, 2026 · 8 min read

The cash conversion cycle: how many days is your cash actually trapped?

Your profit can be up while your bank account is tight — because cash gets stuck in inventory and unpaid invoices on the way back to you. The cash conversion cycle counts the days. Here's how a CFO reads it, and why every day you shave off is cash freed without one extra sale.

Read it →