Difference Between XLOOKUP vs INDEX & MATCH
XLOOKUP vs INDEX & MATCH — Ultimate Battle ⚔️
Excel ke do most powerful lookup methods — modern XLOOKUP (Excel 365/2021+) jo single-function powerhouse hai, aur classic INDEX & MATCH combination jo years se professionals ka favorite hai. Detailed comparison, performance analysis, aur real-world scenarios. Employee data ke examples aur interview questions ke saath. Data Insights par.
📑 Is Blog Mein Kya Sikhenge:
- 🟢 Basic: Lookup evolution — VLOOKUP se XLOOKUP tak
- 🟡 Medium: XLOOKUP — Modern all-in-one lookup
- 🟡 Medium: INDEX & MATCH — Classic flexible combo
- 🔴 Advanced: Side-by-side scenarios comparison
- 🔴 Advanced: Performance, features, edge cases
- 📋 Comparison: XLOOKUP vs INDEX & MATCH detailed table
- 💬 Interview: Top asked questions
1. Lookup Evolution — Introduction 🟢
📘 Definition: Excel mein lookup functions ka evolution hua hai. Pehle VLOOKUP tha (limited), phir INDEX & MATCH combo aaya (flexible), ab XLOOKUP hai (modern all-in-one). XLOOKUP Excel 365/2021+ mein hai — single function jo VLOOKUP aur INDEX-MATCH dono ka kaam karta hai. INDEX & MATCH combination classic approach hai jo ALL Excel versions mein kaam karta hai, powerful lekin thoda complex. Dono modern lookup ke top choices hain.
🎯 Samjho Hinglish Mein: Employee ID se salary chahiye — 3 tarike se kar sakte ho: (1) VLOOKUP — old, limited, sirf right side lookup, column number bhoolne pe error. (2) INDEX & MATCH — powerful combo, dono direction (left/right) lookup, professionals ka favorite. (3) XLOOKUP — modern king, sab kuch ek function mein — error handling built-in, dono direction, cleaner syntax. Interview mein XLOOKUP jaano — modern Excel skill. INDEX-MATCH bhi jaano — classic knowledge dikhata hai.
📋 Evolution Timeline:
| Era | Function | Status | Availability |
|---|---|---|---|
| 1990s | VLOOKUP | Legacy (limited) | All versions |
| 2000s | INDEX & MATCH combo | Classic ✅ | All versions |
| 2019+ | XLOOKUP | Modern King ⚡ | 2019/365+ |
2. XLOOKUP — Modern All-in-One 🟡
📘 Definition: XLOOKUP is Excel's MODERN lookup function (Excel 2019/365+) designed to replace VLOOKUP, HLOOKUP, and even INDEX-MATCH. Single function with powerful features — bidirectional lookup (left/right, up/down), built-in error handling, exact/approximate/wildcard matching, and reverse search. Clean syntax, faster performance, most flexible option.
📊 Sample Data (Employee Table):
| A | B | C | D | E |
|---|---|---|---|---|
| ID | Name | Department | Salary | Experience |
| 101 | Aarav | IT | 55000 | 3 |
| 102 | Ishita | HR | 72000 | 5 |
| 103 | Kabir | Finance | 65000 | 4 |
| 104 | Diya | IT | 58000 | 2 |
| 105 | Rohan | Marketing | 80000 | 6 |
💡 Syntax:
=XLOOKUP(lookup_value,
lookup_array,
return_array,
[if_not_found],
[match_mode],
[search_mode])
# Parameters:
# lookup_value = value to find (e.g., 103)
# lookup_array = where to search (A2:A6)
# return_array = what to return (D2:D6)
# if_not_found = error message (optional)
# match_mode = 0=exact (default), -1=exact/next smaller, 1=exact/next larger, 2=wildcard
# search_mode = 1=first-to-last (default), -1=last-to-first, 2=binary asc, -2=binary desc💻 Formula Examples:
# Example 1: Basic lookup — Kabir's salary
=XLOOKUP(103, A2:A6, D2:D6)
# Result: 65000
# Example 2: With if_not_found
=XLOOKUP(999, A2:A6, D2:D6, "Not Found")
# Result: Not Found (built-in error handling!)
# Example 3: REVERSE lookup — Name → ID (right to left!)
=XLOOKUP("Diya", B2:B6, A2:A6)
# Result: 104 (Diya's ID)
# VLOOKUP CANNOT do this!
# Example 4: Return multiple columns (spill!)
=XLOOKUP(102, A2:A6, B2:E6)
# Result: Ishita | HR | 72000 | 5 (spills to 4 cells)
# Example 5: Approximate match (next smaller)
=XLOOKUP(56000, D2:D6, B2:B6, , -1)
# Result: Aarav (55000 is next smaller)
# Example 6: Search from bottom (last match)
=XLOOKUP("IT", C2:C6, B2:B6, , , -1)
# Result: Diya (last IT employee, not Aarav)
# Example 7: Wildcard match
=XLOOKUP("K*", B2:B6, D2:D6, , 2)
# Result: 65000 (Kabir — name starting with K)
# Example 8: With cell reference (dynamic)
=XLOOKUP(F1, A2:A6, D2:D6, "N/A")
# F1 mein ID daalo — salary auto-update• ✅ Single function (no combo needed)
• ✅ Bidirectional lookup (left, right, up, down)
• ✅ Built-in error handling (if_not_found)
• ✅ Reverse search (last-to-first)
• ✅ Wildcard support built-in
• ✅ Return multiple columns (spill)
• ✅ Cleaner, more readable syntax
• ⚠️ Only Excel 2019/365+
3. INDEX & MATCH — Classic Combo 🟡
📘 Definition: INDEX & MATCH combination is the CLASSIC powerful lookup method — works in ALL Excel versions. INDEX returns value at a given position, MATCH finds the position of a value. Combining them creates bidirectional lookup superior to VLOOKUP. Slightly more complex syntax than XLOOKUP but VERY flexible and universally supported.
💡 How the Combo Works:
# INDEX returns value at position
=INDEX(array, row_num, [column_num])
# MATCH finds position of value
=MATCH(lookup_value, lookup_array, [match_type])
# Combined — MATCH finds row, INDEX returns value
=INDEX(return_array,
MATCH(lookup_value, lookup_array, 0))
# Logic:
# Step 1: MATCH searches lookup_value in lookup_array
# Step 2: Returns position (e.g., 3rd row)
# Step 3: INDEX returns value from return_array at that position
# match_type:
# 0 = exact match (recommended)
# 1 = exact or next smaller (data must be sorted)
# -1 = exact or next larger (data must be sorted)💻 Formula Examples:
# Example 1: Basic lookup — Kabir's salary (ID 103)
=INDEX(D2:D6, MATCH(103, A2:A6, 0))
# Step 1: MATCH(103, A2:A6, 0) → returns 3 (position)
# Step 2: INDEX(D2:D6, 3) → returns 65000
# Example 2: With IFERROR for error handling
=IFERROR(
INDEX(D2:D6, MATCH(999, A2:A6, 0)),
"Not Found")
# Result: Not Found (manual error handling)
# Example 3: REVERSE lookup — Name → ID (right to left!)
=INDEX(A2:A6, MATCH("Diya", B2:B6, 0))
# Result: 104 (VLOOKUP nahi kar sakta!)
# Example 4: 2D lookup (row + column)
=INDEX(A2:E6,
MATCH(102, A2:A6, 0), # row: ID 102
MATCH("Salary", A1:E1, 0)) # col: Salary
# Result: 72000 (Ishita's salary — dynamic 2D)
# Example 5: Approximate match (nearest less)
=INDEX(B2:B6, MATCH(56000, D2:D6, 1))
# Result: Aarav (nearest smaller salary)
# NOTE: data must be SORTED ascending for match_type=1
# Example 6: Get entire row
=INDEX(A2:E6, MATCH(103, A2:A6, 0), 0)
# Result: entire row (works with array formulas or spill in 365)
# Example 7: Multiple criteria (advanced)
=INDEX(D2:D6,
MATCH(1,
(C2:C6="IT") * (E2:E6>=3),
0))
# Array formula — first IT employee with 3+ exp
# Result: 55000 (Aarav — IT, 3 years)
# Example 8: Dynamic column selection
=INDEX(A2:E6,
MATCH(F1, A2:A6, 0),
MATCH(G1, A1:E1, 0))
# F1 = ID, G1 = column name — fully dynamic lookup• ✅ Works in ALL Excel versions
• ✅ Bidirectional lookup (unlike VLOOKUP)
• ✅ 2D lookups possible (row + column dynamic)
• ✅ Multiple criteria with array formulas
• ✅ No column index number confusion
• ✅ Column insert/delete doesn't break formula
• ⚠️ Requires 2 functions (more complex)
• ⚠️ Manual IFERROR for error handling
4. Side-by-Side Battle 📋
📘 Definition: Ab dono methods ki DIRECT COMPARISON — same task, both approaches. Har scenario mein dekho kaunsa cleaner, kaunsa flexible, kaunsa fast.
💻 Scenario 1: Basic Lookup — Kabir's Salary
# TASK: Find salary of employee with ID 103
# XLOOKUP way (cleaner ✅)
=XLOOKUP(103, A2:A6, D2:D6)
# 1 function, 3 arguments, easy to read
# INDEX & MATCH way (verbose)
=INDEX(D2:D6, MATCH(103, A2:A6, 0))
# 2 functions, 4 arguments total
# Both return: 65000
# XLOOKUP shorter and cleaner💻 Scenario 2: With Error Handling
# TASK: Handle "Not Found" cases
# XLOOKUP way (built-in ✅)
=XLOOKUP(999, A2:A6, D2:D6, "Not Found")
# 4th argument = error message. Clean!
# INDEX & MATCH way (needs IFERROR wrap)
=IFERROR(
INDEX(D2:D6, MATCH(999, A2:A6, 0)),
"Not Found")
# 3 functions, extra wrapper needed
# Both return: Not Found
# XLOOKUP wins in cleanliness💻 Scenario 3: Reverse Lookup (Name → ID)
# TASK: Find ID from Name (right-to-left)
# XLOOKUP way (natural)
=XLOOKUP("Diya", B2:B6, A2:A6)
# Just swap the arrays — done!
# INDEX & MATCH way (equally clean)
=INDEX(A2:A6, MATCH("Diya", B2:B6, 0))
# Same logic, no extra complexity
# Both return: 104
# Both handle reverse lookup well (unlike VLOOKUP)💻 Scenario 4: 2D Lookup (Row + Column Dynamic)
# TASK: Dynamic row (ID 102) + Dynamic column ("Salary")
# XLOOKUP way (nested XLOOKUP)
=XLOOKUP(102, A2:A6,
XLOOKUP("Salary", A1:E1, A2:E6))
# 2 XLOOKUP functions nested
# INDEX & MATCH way (natural fit ⚡)
=INDEX(A2:E6,
MATCH(102, A2:A6, 0),
MATCH("Salary", A1:E1, 0))
# INDEX naturally handles 2D — cleaner
# Both return: 72000
# INDEX-MATCH wins for 2D lookups (more intuitive)💻 Scenario 5: Last Match (Search from Bottom)
# TASK: Find LAST IT employee (bottom-up search)
# XLOOKUP way (built-in!)
=XLOOKUP("IT", C2:C6, B2:B6, , , -1)
# search_mode = -1 (last to first). Easy!
# Result: Diya (last IT employee)
# INDEX & MATCH way (complex workaround)
=INDEX(B2:B6,
LARGE(IF(C2:C6="IT", ROW(C2:C6) - 1), 1))
# Array formula, complex, needs Ctrl+Shift+Enter in older Excel
# XLOOKUP clearly wins for last-match scenarios• Basic lookup — XLOOKUP (cleaner)
• Error handling — XLOOKUP (built-in)
• Reverse lookup — Tie (both easy)
• 2D lookup — INDEX & MATCH (natural fit)
• Last match — XLOOKUP (search_mode)
• Multiple criteria — INDEX & MATCH (array formula)
• Wildcard search — XLOOKUP (match_mode)
• Old Excel — INDEX & MATCH (only option)
5. Detailed Comparison Table 📋
📋 Feature-by-Feature Comparison:
| Feature | XLOOKUP | INDEX & MATCH |
|---|---|---|
| Excel Version | 2019 / 365+ | All versions ✅ |
| Number of Functions | 1 (single) | 2 (combo) |
| Syntax Complexity | Simple ⚡ | Moderate |
| Bidirectional Lookup | ✅ Yes | ✅ Yes |
| Error Handling | Built-in (if_not_found) | Manual (IFERROR wrap) |
| Match Modes | Exact, next smaller, next larger, wildcard | Exact, less than, greater than |
| Search Direction | First-to-last, last-to-first, binary | First match only |
| Last Match Support | ✅ Built-in (search_mode=-1) | Complex workarounds |
| Wildcard Support | ✅ Built-in (match_mode=2) | Yes (in MATCH) |
| 2D Lookup | Nested XLOOKUP | Natural with 2 MATCH ⚡ |
| Return Array | ✅ Spills (whole rows) | Needs array formula (365 spills) |
| Multiple Criteria | Complex (concat approach) | Array formulas ⚡ |
| Performance | Fast (optimized) | Fast (proven) |
| Learning Curve | Easy (single function) | Moderate (combo logic) |
| Backward Compatibility | ❌ Fails in old Excel | ✅ Works everywhere |
| Best For | Modern Excel users | Universal compatibility |
6. When to Use What 🎯
📋 Decision Guide:
| Scenario | Best Method | Why |
|---|---|---|
| Simple lookup with error message | XLOOKUP | Built-in if_not_found |
| Modern Excel user (365/2019+) | XLOOKUP | Cleaner, more features |
| Old Excel (2016 or below) | INDEX & MATCH | Only compatible option |
| Shared file with mixed users | INDEX & MATCH | Universal support |
| 2D lookup (row + column) | INDEX & MATCH | More natural for 2D |
| Last occurrence needed | XLOOKUP | search_mode = -1 |
| Multiple criteria lookup | INDEX & MATCH | Array formulas power |
| Wildcard search | XLOOKUP | match_mode = 2 |
| Return entire row/column | XLOOKUP | Spill array natural |
| Interview / Learning | BOTH | Shows depth of knowledge |
💻 Real-World Scenarios:
# Scenario 1: HR Dashboard (Modern Excel)
=XLOOKUP(EmpID, A:A, D:D, "Employee not found")
# Clean, error-handled, professional
# Scenario 2: Old Excel Report
=IFERROR(
INDEX(D:D, MATCH(EmpID, A:A, 0)),
"Employee not found")
# Same result, works in ALL Excel versions
# Scenario 3: Latest Salary (multiple entries per employee)
=XLOOKUP(EmpID, A:A, D:D, "N/A", 0, -1)
# Search from bottom — latest entry ki salary
# Scenario 4: Dynamic Pivot-like Table (2D)
=INDEX(SalaryTable,
MATCH(EmpName, Names, 0),
MATCH(Month, MonthHeaders, 0))
# Employee ki specific month salary
# Scenario 5: Employees in Dept + Exp ≥ 3 (multi-criteria)
=INDEX(Names,
MATCH(1,
(Dept="IT") * (Exp>=3),
0))
# Array formula for multiple conditions
# Scenario 6: Full record spill (Modern)
=XLOOKUP(102, A:A, B:E)
# Returns entire row across 4 columns (spill)
# Scenario 7: Wildcard search (Modern)
=XLOOKUP("K*", B:B, D:D, , 2)
# First name starting with K → salary
# Scenario 8: Cross-department comparison
=INDEX(SalaryData,
MATCH("IT", Depts, 0),
MATCH("Q3", Quarters, 0))
# IT dept ki Q3 salary — dynamic table lookup7. Common Mistakes ⚠️
- Excel version issue — old Excel mein #NAME? error. File share karo toh check karo receiver ka Excel version.
- Wrong array sizes — lookup_array aur return_array different sizes — #VALUE! error.
- Skipping optional arguments incorrectly —
=XLOOKUP(a, b, c, , , -1)— commas count karna. - Match mode confusion — 0 exact, -1 next smaller, 1 next larger, 2 wildcard. Default 0.
- Forgetting spill space — XLOOKUP returning array needs empty cells around.
- MATCH type wrong — 0 for exact, 1 for less than (sorted asc), -1 for greater (sorted desc). Default is 1 (dangerous!).
- Return array wrong size — INDEX array size lookup_array se match hona chahiye.
- Nested formula confusion — INDEX outside, MATCH inside. Order galat karne se logic fail.
- No IFERROR wrap — value not found pe #N/A. Manually handle karo.
- Absolute references bhoolna — dragging formula pe ranges shift ho jaate hain.
💻 Mistakes vs Correct Code:
# ❌ MISTAKE 1: XLOOKUP wrong array sizes
=XLOOKUP(103, A2:A6, D2:D10)
# lookup 5 rows, return 9 rows — mismatch!
# ✅ FIX: Same size arrays
=XLOOKUP(103, A2:A6, D2:D6)
# ❌ MISTAKE 2: MATCH type default (dangerous!)
=INDEX(D2:D6, MATCH(103, A2:A6))
# Default = 1 (approximate) — wrong results!
# ✅ FIX: Always specify 0 for exact match
=INDEX(D2:D6, MATCH(103, A2:A6, 0))
# ❌ MISTAKE 3: XLOOKUP without error handling
=XLOOKUP(SearchID, A:A, D:D)
# If not found: #N/A error
# ✅ FIX: Add if_not_found argument
=XLOOKUP(SearchID, A:A, D:D, "Not Found")
# ❌ MISTAKE 4: INDEX-MATCH without absolute references
=INDEX(D2:D6, MATCH(F2, A2:A6, 0))
# Dragging shifts ranges — errors!
# ✅ FIX: Use $ for fixed ranges
=INDEX($D$2:$D$6, MATCH(F2, $A$2:$A$6, 0))
# ❌ MISTAKE 5: XLOOKUP skipping arguments incorrectly
=XLOOKUP(103, A:A, D:D, -1)
# -1 goes to if_not_found, not search_mode!
# ✅ FIX: Use commas for skipped arguments
=XLOOKUP(103, A:A, D:D, , , -1)
# Empty commas for if_not_found & match_mode8. Interview Questions 💬
Q1: XLOOKUP aur INDEX & MATCH mein main difference kya hai?
Ans: Main differences: (1) Excel Version — XLOOKUP 2019/365+, INDEX-MATCH all versions. (2) Functions — XLOOKUP single function, INDEX-MATCH combo (2 functions). (3) Error handling — XLOOKUP built-in (if_not_found), INDEX-MATCH needs IFERROR wrap. (4) Features — XLOOKUP mein search_mode (last-to-first), wildcard match_mode built-in. INDEX-MATCH mein array formulas ke through advanced features. (5) Syntax — XLOOKUP cleaner, INDEX-MATCH more flexible. Rule: modern Excel — XLOOKUP, old Excel or compatibility — INDEX-MATCH.
Q2: XLOOKUP se better kaun sa method hai — INDEX-MATCH?
Ans: Depends on use case: XLOOKUP better for: (1) Simple lookups (cleaner syntax). (2) Error handling (built-in). (3) Last match search (search_mode=-1). (4) Wildcard matching (match_mode=2). (5) Return entire rows (spill). INDEX-MATCH better for: (1) All Excel versions compatibility. (2) 2D lookups (row+col dynamic). (3) Multiple criteria (array formulas). (4) Legacy files. (5) When flexibility over simplicity needed. Overall: modern Excel work mein XLOOKUP wins, backward compatibility ke liye INDEX-MATCH. Both are professional-grade — situation decides winner.
Q3: XLOOKUP old Excel versions mein kaam nahi karta — solution kya hai?
Ans: Solutions: (1) Use INDEX-MATCH combo — works in ALL Excel versions from 2003+. Same functionality as XLOOKUP. (2) Check receiver's Excel version before sharing — 2019/365 hai toh XLOOKUP safe. (3) Convert XLOOKUP to values before sharing — right-click → paste special → values. (4) Provide dual versions — one with XLOOKUP, one with INDEX-MATCH. (5) Upgrade Excel — Excel 365 subscription mein latest features. Best practice: enterprise environments mein INDEX-MATCH still preferred kyunki mixed Excel versions common hain. Interview mein bolo — "compatibility matters" — professional maturity dikhata hai.
Q4: INDEX & MATCH mein match_type ka role kya hai?
Ans: MATCH ka match_type parameter (third argument) 3 options provide karta hai: (1) 0 = Exact match — value exactly milni chahiye, no error. RECOMMENDED for most cases. (2) 1 = Less than — nearest smaller value returns. Data must be sorted ASCENDING. (3) -1 = Greater than — nearest larger value returns. Data must be sorted DESCENDING. Default = 1 — DANGEROUS if data not sorted! Always specify 0 explicitly. Real use: (1) Exact ID lookup → 0. (2) Approximate salary range → 1 (sorted). (3) Nearest threshold → -1. Common mistake: default use karke wrong results milte hain — production mein bug source hai.
Q5: XLOOKUP se reverse lookup (right-to-left) kaise karo?
Ans: XLOOKUP naturally supports reverse lookup — VLOOKUP jaise limitation nahi hai. Syntax: =XLOOKUP(lookup_value, lookup_array, return_array). Bas arrays swap karo — return_array left side ho toh bhi kaam karta hai. Example: ID from Name — =XLOOKUP("Diya", B:B, A:A) → 104 (ID from A column jo left side hai). Similarly INDEX-MATCH mein — =INDEX(A:A, MATCH("Diya", B:B, 0)). Both work. VLOOKUP inko nahi kar sakta — sirf right side lookup. Real use: employee name → get ID, product name → get code, city → get country. Modern lookup functions bidirectional hain — no direction restriction.
Q6: XLOOKUP ka search_mode = -1 kab use karte hain?
Ans: search_mode = -1 last-to-first search karta hai — matlab data ke END se start karke UP direction mein search. Use cases: (1) Latest entry — same ID ke multiple records mein latest wala. (2) Most recent transaction — chronological data mein latest match. (3) Last salary revision — salary history mein current amount. (4) Recent status — order tracking mein latest status. Example: =XLOOKUP(EmpID, IDs, Salaries, "N/A", 0, -1) — same ID pe multiple entries hain toh LAST wali salary return. Default search_mode = 1 (first-to-last). INDEX-MATCH mein complex workarounds needed — XLOOKUP direct solution deta hai. Interview mein yeh feature specifically batao — advanced XLOOKUP knowledge dikhata hai.
Q7: 2D lookup ke liye XLOOKUP ya INDEX-MATCH — kaunsa better hai?
Ans: INDEX & MATCH better hai 2D lookups ke liye — more natural syntax: =INDEX(data, MATCH(rowValue, rowArray, 0), MATCH(colValue, colArray, 0)). Direct row + column indexing. XLOOKUP mein nested XLOOKUP karna padta hai — =XLOOKUP(row, rows, XLOOKUP(col, cols, data)) — thoda complex. Real use: pivot-style tables — employee name (row) + month (column) → salary. INDEX-MATCH intuitive hai kyunki INDEX naturally row + col arguments accept karta hai. XLOOKUP 1D lookups mein winner, 2D mein INDEX-MATCH still preferred hai. Modern approach: 2D lookups mein INDEX-MATCH, single dimension mein XLOOKUP.
Q8: Real-world job mein XLOOKUP vs INDEX-MATCH — kya expected hai?
Ans: Job expectations: (1) Modern Companies (2020+) — XLOOKUP expected, VLOOKUP outdated. Excel 365 subscription common. (2) Enterprise/Government — INDEX-MATCH safer choice due to mixed Excel versions. (3) Startups — Modern Excel + XLOOKUP norm. (4) Data Analyst roles — Both known expected, plus Power Query/BI. (5) Interview questions — usually ask both, comparison, when to use what. (6) Skill Level Indicator — knowing both = advanced Excel user. (7) Legacy files — INDEX-MATCH still very common. Best strategy: master both, prefer XLOOKUP for new work, use INDEX-MATCH for compatibility. Modern job market mein "Advanced Excel" means both — mention explicitly in resume. Interview mein prefer XLOOKUP examples but discuss INDEX-MATCH as backup — shows depth aur adaptability.
9. Quick Cheat Sheet 📋
# ══════════════════════════════════════
# XLOOKUP — Modern (Excel 2019/365+)
# ══════════════════════════════════════
=XLOOKUP(lookup_value, lookup_array, return_array,
[if_not_found], [match_mode], [search_mode])
# Basic lookup
=XLOOKUP(103, A:A, D:D)
# With error handling
=XLOOKUP(103, A:A, D:D, "Not Found")
# Reverse lookup (right-to-left)
=XLOOKUP("Diya", B:B, A:A)
# Return multiple columns (spill)
=XLOOKUP(102, A:A, B:E)
# Last match (search from bottom)
=XLOOKUP("IT", C:C, B:B, , , -1)
# Wildcard match
=XLOOKUP("K*", B:B, D:D, , 2)
# Approximate match (next smaller)
=XLOOKUP(56000, D:D, B:B, , -1)
# ══════════════════════════════════════
# INDEX & MATCH — Classic (All Excel)
# ══════════════════════════════════════
=INDEX(return_array,
MATCH(lookup_value, lookup_array, 0))
# Basic lookup
=INDEX(D:D, MATCH(103, A:A, 0))
# With error handling
=IFERROR(
INDEX(D:D, MATCH(103, A:A, 0)),
"Not Found")
# Reverse lookup
=INDEX(A:A, MATCH("Diya", B:B, 0))
# 2D lookup (row + column)
=INDEX(A:E,
MATCH(102, A:A, 0),
MATCH("Salary", 1:1, 0))
# Multiple criteria (array formula)
=INDEX(D:D,
MATCH(1,
(C:C="IT") * (E:E>=3),
0))
# ══════════════════════════════════════
# MATCH match_type reference
# ══════════════════════════════════════
# 0 = Exact match (recommended)
# 1 = Less than (data sorted ASC)
# -1 = Greater than (data sorted DESC)
# ══════════════════════════════════════
# XLOOKUP match_mode reference
# ══════════════════════════════════════
# 0 = Exact (default) ⭐
# -1 = Exact or next smaller
# 1 = Exact or next larger
# 2 = Wildcard match (*, ?)
# ══════════════════════════════════════
# XLOOKUP search_mode reference
# ══════════════════════════════════════
# 1 = First-to-last (default) ⭐
# -1 = Last-to-first
# 2 = Binary search asc (sorted)
# -2 = Binary search desc (sorted)
# ══════════════════════════════════════
# GOLDEN RULES
# ══════════════════════════════════════
# 1. Modern Excel → XLOOKUP (cleaner)
# 2. Old Excel / compatibility → INDEX-MATCH
# 3. 2D lookups → INDEX-MATCH (natural)
# 4. Multi-criteria → INDEX-MATCH (arrays)
# 5. Last match → XLOOKUP (search_mode=-1)
# 6. Wildcards → XLOOKUP (match_mode=2)
# 7. MATCH always use 0 (exact) — don't default!
# 8. Use absolute references ($) for dragging• 🥇 XLOOKUP — modern, single function, cleaner syntax (Excel 2019/365+)
• 🥈 INDEX & MATCH — classic combo, universal compatibility (all Excel)
• 🎯 XLOOKUP: built-in error handling, reverse search, wildcards, last match
• 🎯 INDEX-MATCH: 2D lookups natural, multi-criteria arrays, works everywhere
• ⚠️ MATCH type = 0 (exact) — never rely on default!
• 💡 Modern Excel: XLOOKUP first, INDEX-MATCH for special cases
• 📊 Real-world: enterprises still use INDEX-MATCH heavily
• 🎓 Interview: know both, discuss trade-offs, show depth
🎉 Excel Topic Wise Series — Complete!
Congratulations! Aapne Excel ka comprehensive comparison series complete kar liya — XLOOKUP, VLOOKUP, HLOOKUP, INDEX, MATCH, IF, IFS, SUMIF, SUMIFS, COUNT, COUNTA, COUNTIF, FILTER, UNIQUE, TEXTJOIN, CONCAT, LEFT, MID, RIGHT — sab cover ho gaya! Ab aap modern Excel expert hain. Data Insights par aur bhi topics coming soon — Pivot Tables, Power Query, Charts, Dashboards, Excel VBA aur bahut kuch. Keep learning!
Happy Learning & Keep Exploring! 🚀
💬 Comments (0)
Loading comments...