What is MATCH in Google Sheets?

MATCH searches a range for a value and returns its relative position. Feeding INDEX or OFFSET with MATCH replaces brittle column index math. Sorted approximate match modes support tier tables and date brackets.

When to use it

Use MATCH inside INDEX for lookups, to find column numbers for dynamic references, or to locate ranks in sorted lists.

When to skip it

Skip MATCH alone when XLOOKUP returns the value directly. Use MATCH when you need position, not value.

How it works

  1. 1

    Pass lookup value and one-row or one-column search range.

  2. 2

    Set match_type 0 for exact match, 1 or -1 for sorted approximate.

  3. 3

    Wrap with INDEX to return the corresponding value from another column.

  4. 4

    Sort data when using approximate match modes as documented.

  5. 5

    Handle #N/A with IFERROR when keys may be missing.

  6. 6

    Use COUNTIF first if duplicate keys make first-match behavior risky.

Examples in Google Sheets

Column index finder

=MATCH("Revenue", B1:Z1, 0) returns column offset for a dynamic INDEX pull.

INDEX MATCH row

=INDEX(B:B, MATCH(D2, A:A, 0)) classic vertical lookup pair.

Bracket tier

=MATCH(E2, Tiers!A:A, 1) on ascending sorted tiers finds bracket position for tax logic.

Build this without starting from a blank cell

Use a Better Sheets tool for MATCH, then watch a walkthrough when you want the full pattern.

Better Sheets resources

Common mistakes

  • Approximate match on unsorted data returning wrong positions.
  • Duplicate keys returning only first match silently.
  • Horizontal vs vertical range mismatch with lookup value orientation.
  • Text number mismatch when keys look equal but types differ.
  • Whole-column MATCH on massive sheets slowing every recalc.

Frequently asked questions

MATCH vs XLOOKUP?
MATCH returns position. XLOOKUP returns the matched value directly.
MATCH exact mode?
Use 0 as third argument for exact match regardless of sort order.
MATCH wildcards?
Approximate modes may support wildcards in some contexts. Exact 0 does not.
Why #N/A?
Value not found in range with exact match.
MATCH on dates?
Works when dates are true serial values, not text.
Multiple matches?
MATCH returns first match only. FILTER for all.
MATCH with INDEX?
Classic flexible lookup pair predating XLOOKUP.

Related Tutorials

Watch how MATCH works

Browse more tutorials
REGEXMATCH Formula Generator for Google Sheets

REGEXMATCH Formula Generator for Google Sheets

Revolutionize the way you handle data with the BetterSheets REGEXMATCHER...
How to Find Duplicates

How to Find Duplicates

Learn how to find duplicates with a simple formula in Google Sheets.
200 REGEXMATCH Examples in Google Sheets

200 REGEXMATCH Examples in Google Sheets

Uncover the Magic of Regex Match! 🎩✨ Explore 200+ Examples at BetterShee...
Use Index Match when you want Vlookup

Use Index Match when you want Vlookup

If you find Vlookup a difficult formula to understand, this formula comb...
How do I reference a different spreadsheet in Apps Script?

How do I reference a different spreadsheet in Apps Script?

I'll show you how to get text from one spreadsheet file to another with ...
Search Every Function in Google Sheets

Search Every Function in Google Sheets

Built a useful tool to filter Google Sheet formulas based on keywords.

Related blog posts

Guides that explain MATCH in more depth.

Browse the blog

Related glossary terms

Done reading about MATCH?

Membership unlocks 636+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.

Need this once

Jump to a free tool or a single tutorial for this topic.

Learning Sheets for real

Unlock the full library, generators, and templates with membership.