Tips2026-01-23

Excel Matching Functions 2026: Is VLOOKUP Still Worth Using?

Compare VLOOKUP, XLOOKUP, and INDEX-MATCH for data reconciliation in Excel. Learn when each function works best and discover AI alternatives for fuzzy matching.

#Excel#VLOOKUP#functions#matching

Every accountant has their favorite Excel function. But are you using the right one?

This guide covers the major Excel matching functions, when to use each, and their limitations.


Overview of Matching Functions

The Main Players

Function Excel Version Difficulty Power
VLOOKUP All Easy Basic
HLOOKUP All Easy Basic
XLOOKUP 365+ Medium Advanced
INDEX-MATCH All Hard Expert
SUMIF/COUNTIF All Easy Aggregation

What They Do

All these functions answer: “Given value A in list 1, what’s the corresponding value in list 2?”


VLOOKUP: The Classic

Syntax

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
Argument Meaning
lookup_value What to find
table_array Where to look
col_index_num Which column to return
range_lookup FALSE = exact match

Example: Find Price by Product Code

A B C
Code Product Price
A001 Widget ¥1,000
A002 Gadget ¥2,000
A003 Sprocket ¥500
=VLOOKUP("A002", A:C, 3, FALSE)
→ ¥2,000

Limitations

Limitation Problem
Left-to-right only Lookup column must be leftmost
Column number Changes when columns added
Exact match only “ABC Corp” ≠ “ABC Corporation”
First match wins Doesn’t find duplicates
Slow on large data Recalculates every cell

When to Use

✅ Simple lookups ✅ Lookup column is leftmost ✅ Data is clean and consistent ✅ Small to medium datasets


HLOOKUP: VLOOKUP’s Sibling

Syntax

=HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])

Same as VLOOKUP, but searches horizontally across rows.

When to Use

✅ Data organized in rows, not columns ✅ Headers across the top

Rarely Needed

Most real-world data is organized vertically. HLOOKUP is rarely used.


XLOOKUP: The Modern Choice

Syntax

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
Argument Meaning
lookup_value What to find
lookup_array Column to search in
return_array Column to return from
if_not_found Custom error message
match_mode 0=exact, -1=exact or smaller, 1=exact or larger, 2=wildcard
search_mode 1=first to last, -1=last to first

Example

=XLOOKUP("A002", A:A, C:C, "Not Found")
→ ¥2,000

Advantages over VLOOKUP

Feature VLOOKUP XLOOKUP
Column order Must be left Any order
Error handling Needs IFERROR Built-in
Search direction First only First or last
Default behavior Approximate match Exact match
Multiple returns No Yes (array)

Limitations

Limitation Problem
Excel 365+ only Not in older versions
Still exact match Variations not handled
Can be slower Complex formulas

When to Use

✅ Excel 365 or later ✅ Need flexibility in column order ✅ Want clean error handling ✅ Need to search from end


INDEX-MATCH: The Power Combo

Syntax

=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
Function What It Does
MATCH Finds the position of lookup_value
INDEX Returns value at that position in return_range

Example

=INDEX(C:C, MATCH("A002", A:A, 0))
→ ¥2,000

Why Two Functions?

MATCH finds the row number, INDEX retrieves the value. Together, they’re more flexible than any single function.

Advantages

Feature INDEX-MATCH
Column order Any
Performance Faster on large data
Flexibility Multiple criteria possible
Stability Column references don’t break

Limitations

Limitation Problem
Complex syntax Harder to write
Still exact match No variation handling
Error-prone Easy to get ranges wrong

When to Use

✅ Large datasets (faster than VLOOKUP) ✅ Need lookup column to the right ✅ Formulas may be copied/moved ✅ Power users comfortable with complexity


SUMIF/COUNTIF: Aggregation

SUMIF Syntax

=SUMIF(range, criteria, sum_range)

Example: Sum All Orders for Customer

A B
Customer Amount
ABC Corp ¥10,000
XYZ Ltd ¥5,000
ABC Corp ¥15,000
=SUMIF(A:A, "ABC Corp", B:B)
→ ¥25,000

When to Use

✅ Need totals, not individual values ✅ Multiple matches exist ✅ Aggregation required


Multiple Criteria Matching

SUMIFS (Multiple Conditions)

=SUMIFS(sum_range, criteria_range1, criteria1, criteria_range2, criteria2)

Example

Sum orders for ABC Corp in January:

=SUMIFS(C:C, A:A, "ABC Corp", B:B, ">=2026-01-01", B:B, "<=2026-01-31")

INDEX-MATCH with Array Formula

For multiple criteria lookup (Excel 365):

=INDEX(D:D, MATCH(1, (A:A=E2)*(B:B=F2), 0))

Common Matching Scenarios

Scenario 1: Find Matching Records

Find invoices in List A that exist in List B:

=IF(ISNA(MATCH(A2, ListB!A:A, 0)), "Not in B", "Match")

Scenario 2: Find Differences

Find records in A but not in B:

=IF(ISNA(VLOOKUP(A2, ListB!A:A, 1, FALSE)), "Only in A", "In Both")

Scenario 3: Compare Values

Find records where amount differs:

=IF(B2<>VLOOKUP(A2, ListB!A:C, 3, FALSE), "Different", "Same")

The Exact Match Problem

Why Excel Functions Fail

All Excel matching functions require exact character matches:

Value A Value B Excel Result
ABC Corp. ABC Corporation No Match
100-0001 1000001 No Match
John Smith JOHN SMITH No Match

Workarounds

Issue Workaround
Case differences UPPER/LOWER functions
Spaces TRIM function
Symbols SUBSTITUTE function
Partial match Wildcards (*) in XLOOKUP

The Limit

Complex variations (misspellings, abbreviations, reordering) can’t be solved with formulas.


When to Move Beyond Excel

Excel Works When

  • Data is perfectly clean
  • Exact matches exist
  • Small to medium volume
  • One-time analysis

Excel Struggles When

  • Notation varies (“Corp” vs “Corporation”)
  • Data has typos
  • Large volume (10,000+ rows)
  • Recurring reconciliation task
  • Speed matters

AI Alternative

AI performs fuzzy matching based on meaning:

Scenario Excel AI
“ABC Corp” vs “ABC Corporation”
Misspellings
Reordered names

Function Selection Guide

Quick Reference

Situation Recommended Function
Simple lookup, clean data VLOOKUP
Lookup column on right INDEX-MATCH or XLOOKUP
Modern Excel, want simplicity XLOOKUP
Large dataset, performance critical INDEX-MATCH
Need aggregation SUMIF/SUMIFS
Multiple criteria SUMIFS or INDEX-MATCH array

Decision Flow

Is your Excel 365+?
├── Yes → Use XLOOKUP
└── No → Is lookup column leftmost?
    ├── Yes → Use VLOOKUP
    └── No → Use INDEX-MATCH

Summary

Function Comparison

Function Ease Power Limitations
VLOOKUP ★★★ ★★ Column order, slow
XLOOKUP ★★★ ★★★ Excel 365+ only
INDEX-MATCH ★★ ★★★★ Complex syntax
SUMIF ★★★ ★★ Aggregation only

Key Takeaways

  1. VLOOKUP is simple but limited
  2. XLOOKUP is the modern upgrade
  3. INDEX-MATCH is most flexible
  4. All require exact matches—variations fail
  5. AI fuzzy matching handles what Excel can’t

Stop fighting with #N/A. Try a smarter approach.

👉 Try PDF reconciliation for free

🚀 Automate Reconciliation with Totsugo

We quote individually based on your scale. Tell us about the work first.

Contact us