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.

Meet your AI CFO →

Keep reading

ToolkitJuly 7, 2026 · 8 min read

SUMIFS: turn a raw QuickBooks export into a P&L with one formula

Export your general ledger and you get a flat list of every transaction — not a report. SUMIFS is the one formula that rolls that list up into a P&L: revenue by month, opex by category, all of it. Here's exactly how, plus the traps that quietly return a wrong number.

Read it →
ToolkitJuly 3, 2026 · 8 min read

Cleaning messy data in Excel: the six functions that do it

Exported data almost never arrives clean — names in three different cases, addresses jammed in one cell, trailing spaces that quietly break your lookups. Here are the six Excel functions that turn a messy paste into data you can actually total, match, and trust.

Read it →
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 101August 10, 2026 · 8 min read

Why your Shopify sales will never match your QuickBooks revenue

Your Shopify dashboard says one number, your P&L says another, and they never tie. That's not a bug — it's accounting. Here's the bridge from channel sales down to book revenue, line by line, and how to tell a normal gap from one that's actually a problem.

Read it →
ProductAugust 9, 2026 · 4 min read

Wauvel now reads your Shopify sales — meet your Sales Analyst

Connect your Shopify store in a few clicks and a new Sales section lands on your Command Center — net sales, orders, average order value, and a weekly trend. Read-only, and the first of a family: the Sales Analyst is source-agnostic, so Stripe, Faire, and more plug into the same view over time.

Read it →
Finance 101August 8, 2026 · 6 min read

Sales tax isn't revenue: the number that fools every online seller

Your store's "total sales" number includes the sales tax you collected — and that money was never yours. It's a liability you're holding for the state until you remit it, not revenue. Book it as revenue and you inflate your top line, distort your margins, and start spending cash you already owe.

Read it →
Finance 101August 7, 2026 · 8 min read

Planning cash for Q4: the inventory buy that breaks holiday brands

For a product brand, Q4 is where you make your year — and the cash math runs backwards. You pay for the holiday inventory in August, the revenue lands in December, and the cash from those sales lands later still. A profitable holiday can still punch a hole in your bank account in the middle. Here's how to find the trough before it finds you.

Read it →
Finance 101August 3, 2026 · 8 min read

Get paid faster: how to cut your DSO and free cash you already earned

You already did the work and booked the sale — the money is just sitting in someone else's account. DSO measures how long. Here's how a CFO reads days sales outstanding, turns each day into dollars, and works down the number with a collections playbook that doesn't cost you a customer.

Read it →