Ravindra BagaleCourses & study guides Track your progress

Excel MATCH Function

Chala mitrano — mATCH does not return the value; it returns the place number. Hand that number to INDEX to fetch the real answer.

Fictional sample data for learning. Courier tracking codes (Jaipur / Berlin). Mixed ₹ COD and € prepaid.

Purpose

Return the relative position of a lookup value inside a one-column or one-row range. Usually paired with INDEX.

Return value

A 1-based position number inside the lookup array, or #N/A if not found (exact mode).

Syntax

MATCH(lookup_value, lookup_array, [match_type])

Arguments

ArgumentRequired?Description
lookup_valueRequiredThe value to find.
lookup_arrayRequiredOne row or one column to search.
match_typeOptional0 exact (use for IDs). 1 approximate ≤ (array ascending). -1 approximate ≥ (array descending).

Version

Excel 2007 and later, Microsoft 365, LibreOffice Calc.

How to use — Why → What → How

Why: You often need “where is this ID?” so another function can pick the matching city or amount. MATCH answers where, not what. Courier sheets in Jaipur and Berlin store tracking IDs; MATCH returns position 2 or 3 so INDEX can pull City or COD. Always pass 0 for unsorted IDs —...

What: MATCH scans lookup_array and returns the position of lookup_value. Read the arguments table carefully; each one changes the answer in a specific way.

How — numbered steps:

  1. Click the answer cell.
  2. Type =MATCH( and the value to find.
  3. Select the single column (or row) of keys.
  4. Type 0 for exact match.
  5. Enter — you get a number like 3, not the city itself.
  6. Compare your result with the Answers sheet only after you attempt it.
  7. Write one sentence in your own words explaining when you would use this function at work.

Ravindra Bagale's Tip

Friends, for tracking IDs always use match_type 0. Leaving it blank defaults to 1 and needs a sorted list — a common silent bug.

Ravindra Bagale's Tip

MATCH is case-insensitive for text. Trim spaces on both sides if keys look equal but fail.

Ravindra Bagale's Tip

Friends, after class open a blank sheet and rebuild one MATCH example without looking. That memory test beats re-reading the page.

Download practice file: practice-match.xlsx (includes sheet About this data, practice sheets, and Answers).

Worked examples

1) Exact position of a tracking ID

Jaipur courier list.

TrackCityCOD (₹)
TR-101Jaipur450
TR-108Udaipur0
TR-112Jaipur320
Formula: =MATCH("TR-108", A2:A4, 0)

Result: 2

What it means: TR-108 is the second key in the range.

2) Not found

Bad scan TR-999.

Track
TR-101
TR-108
Formula: =MATCH("TR-999", A2:A3, 0)

Result: #N/A

What it means: Exact mode returns #N/A when missing.

3) Feed INDEX — city for TR-112

Position → city.

TrackCity
TR-101Jaipur
TR-108Udaipur
TR-112Jaipur
Formula: =INDEX(B2:B4, MATCH("TR-112", A2:A4, 0))

Result: Jaipur

What it means: MATCH returns 3; INDEX picks the 3rd city.

4) Berlin € row position

Euro prepaid parcel in the same list.

TrackCityFee
TR-101Jaipur₹450
TR-200Berlin€6.50
TR-112Jaipur₹320
Formula: =MATCH("TR-200", A2:A4, 0)

Result: 2

What it means: Position 2 is the Berlin row.

5) Approximate match on sorted scores

Passing band: find band for score 78 (sorted ascending).

Score fromBand
0Fail
40Pass
60Merit
80Dist
Formula: =MATCH(78, A2:A5, 1)

Result: 3

What it means: Largest value ≤ 78 is 60 → position 3 (Merit band when fed to INDEX).

6) Classroom recap

Quick check before you close the MATCH lesson.

TrackCityCOD (₹)
TR-101Jaipur450
TR-108Udaipur0
TR-112Jaipur320
Formula: =MATCH("TR-108", A2:A4, 0)

Result: 2

What it means: Same pattern as example 1 — rebuild it from memory on the Practice sheet, then check Answers.

About this data. Small demo rows for learning. Real sheets are longer; the same formula pattern scales when columns are clean.

Common errors and fixes

#N/A — No match in exact mode, or approximate table unsorted. Fix: Use 0 for IDs; sort for 1/-1.
Wrong position — Forgot match_type 0 on unsorted IDs. Fix: Always pass 0 for codes.
#VALUE! — lookup_array is more than one row AND one column. Fix: Pass a single row or single column.

Notes and tips

  • XMATCH is the modern twin with search modes and wildcards.
  • MATCH with 0 does not require sorting.
  • Wildcard support: with match_type 0 you can use * and ? in lookup_value.
  • MATCH answers where, not what. Courier sheets in Jaipur and Berlin store tracking IDs; MATCH returns position 2 or 3 so INDEX can pull City or COD. Always pass 0 for unsorted IDs — the default 1 is approximate and needs ascending sort, a silent bug that wastes hours. Wildcards work with match_type 0. XMATCH adds reverse search and clearer modes on Microsoft 365.
  • MATCH vs XMATCH: XMATCH adds search_mode and match_mode options and needs 365/2021. MATCH remains the compatible classic.
  • Fictional sample data only — practice amounts and names are made for learning.
  • After you finish the 10 tasks, re-read the errors table once; most class mistakes are listed there.
  • Keep ranges locked with absolute references when you copy formulas down a column of inputs.
  • Say the business question in plain words before you type the equals sign — it prevents wrong arguments.

In real work

MATCH answers where, not what. Courier sheets in Jaipur and Berlin store tracking IDs; MATCH returns position 2 or 3 so INDEX can pull City or COD. Always pass 0 for unsorted IDs — the default 1 is approximate and needs ascending sort, a silent bug that wastes hours. Wildcards work with match_type 0. XMATCH adds reverse search and clearer modes on Microsoft 365.

How it compares

MATCH vs XMATCH: XMATCH adds search_mode and match_mode options and needs 365/2021. MATCH remains the compatible classic.

Interview corner

What does MATCH return?
A 1-based position inside the lookup array.
Which match_type for employee codes?
0 for exact.
Can MATCH search a 2D block?
No — one row or one column only.

INDEX, XMATCH, XLOOKUP, VLOOKUP

Practice tasks (10)

  1. Task 1. Find the position of TR-108.
    Hint: match_type 0.
  2. Task 2. Return City for TR-112 using INDEX+MATCH.
    Hint: MATCH inside INDEX.
  3. Task 3. Show Not found for TR-999 via IFNA.
    Hint: wrap MATCH or the full INDEX+MATCH.
  4. Task 4. Find position of the Berlin tracking ID.
    Hint: exact match on Track.
  5. Task 5. On the Score sheet, MATCH 78 with type 1 and note the position.
    Hint: sorted ascending list.
  6. Task 6. Explain why blank match_type can mis-read unsorted IDs.
    Hint: default is 1.
  7. Task 7. Use a cell reference as lookup_value (F2).
    Hint: do not quote the cell.
  8. Task 8. Try MATCH on a 2D range and write the error.
    Hint: should be one row or one column.
  9. Task 9. Return COD amount for TR-101 via INDEX+MATCH.
    Hint: INDEX the COD column.
  10. Task 10. Bonus: wildcard MATCH for tracks starting TR-1 using TR-1*.
    Hint: match_type 0 supports *.

Quick quiz

Q1. MATCH returns:
Q2. Best match_type for tracking IDs:
Q3. Default match_type if omitted is:
Q4. MATCH can search a 2D block (many rows and columns).
Q5. INDEX + MATCH is often used instead of:

Answers: Q1=The position number, Q2=0, Q3=1, Q4=False, Q5=VLOOKUP (check after you try).

Revision card

Standalone card (no tip or photo strip). QR opens this lesson. Download the PNG and revise offline.

Revision card: MATCH
MATCH revision card