How to what does this index match array formula do? plain-english explanation
- Step 1Grab the formula you want to learn — Copy it from the formula bar of the cell (copying the cell copies the answer, not the formula). A tutorial or forum copy works too. The leading
=is optional. - Step 2Make sure you're on Pro — This tool is Pro and above. On Free it just says
Formula Explainer requires Pro tier.There's no size limit on the formula itself — it's a short string. - Step 3Paste it in — One box, the
formulafield. No upload, no settings. The breakdown appears immediately. - Step 4Read top-to-bottom, outside-in — The first line is the outermost function — for INDEX/MATCH that's usually INDEX. Each indented line beneath is one of its arguments. Follow the indentation down to reach MATCH and then the array comparison.
- Step 5Learn the argument names — INDEX's
range:is where the answer lives; itsrow number:is which row to pull. MATCH'slookup value:is what you're searching for,lookup range:is where,match type:0 means exact. Seeing them labelled teaches the signature. - Step 6Then go try it in Excel — The tool explains the formula; it doesn't compute it. Once you understand the structure, type it into Excel with your data to see the result — and use the formula highlighter to see which cells across a sheet use formulas.
INDEX/MATCH parts, named and explained
The arguments you'll see labelled when you paste an INDEX/MATCH formula, and what each one means in plain terms. Both functions are on the labelled list.
| Function : argument label | Plain meaning | In the example formula |
|---|---|---|
INDEX : range | The column or area the answer is pulled from | B:B — the result column |
INDEX : row number | Which position in that range to return | supplied by MATCH |
MATCH : lookup value | What you're searching for | 1 (the array trick's target) |
MATCH : lookup range | Where to search | (A:A=E2)*(C:C>0) — a TRUE/FALSE array |
MATCH : match type | 0 = exact, 1 = ascending, -1 = descending | 0 — exact match |
What the report actually contains
The Explainer outputs a single plain-text report (outputType report). There is no file download, no chart, no colour highlighting — it is text you read or copy.
| Part of the report | What it shows | Notes |
|---|---|---|
Formula: line | The cleaned formula, echoed back with a leading = added if you omitted it | Confirms exactly what was parsed |
A 60-character ─ rule | A visual separator | Pure formatting |
Step-by-step breakdown: | The heading for the tree | Always present |
| The indented tree | One line per node, indented two spaces per nesting level, outermost function first | This is the substance of the output |
What's fully supported vs. what isn't (for learners)
The everyday array-formula syntax parses cleanly; a few advanced constructs degrade. Knowing this saves confusion while you learn.
| Construct | Supported? | What happens |
|---|---|---|
| Nested INDEX(MATCH(...)) | Yes | Full layered breakdown |
(A:A=E2)*(C:C>0) array comparison | Yes | Two comparisons shown multiplied |
Whole-column ranges A:A, B:B | Yes | Shown as cell range A:A |
{1,2,3} brace array constant | No | Not expanded — appears as a raw line |
| Curly-brace CSE entry from old Excel | N/A | Paste only the formula text, without the { } Excel adds for CSE |
Cookbook
Beginner-friendly array formulas with the exact breakdown the tool gives — read each one outside-in.
Classic two-way INDEX/MATCH
The everyday 'left-lookup' that VLOOKUP can't do. INDEX is outermost; MATCH supplies its row number. This is the shape to learn first.
Paste:
=INDEX(B:B,MATCH(D1,A:A,0))
Breakdown:
INDEX() — Returns the value at a given position in a range
range: cell range B:B
row number: MATCH() — Returns the position of a value within a range
lookup value: cell reference D1
lookup range: cell range A:A
match type: number 0The array trick: multiplying two conditions
This is the formula that makes people give up. The breakdown shows the secret: MATCH looks for 1, and 1 only appears where BOTH comparisons are TRUE (TRUE×TRUE = 1). Seeing the two comparisons multiplied is the 'aha'.
Paste:
=INDEX(B:B,MATCH(1,(A:A=E2)*(C:C>0),0))
Breakdown:
INDEX() — Returns the value at a given position in a range
range: cell range B:B
row number: MATCH() — Returns the position of a value within a range
lookup value: number 1
lookup range: multiplication (*)
left: equality test (=)
left: cell range A:A
right: cell reference E2
right: greater-than test (>)
left: cell range C:C
right: number 0
match type: number 0SUMPRODUCT, the friendlier array cousin
Beginners often meet SUMPRODUCT before array INDEX/MATCH. It's not on the description list, so it shows as a generic function — but the conditional math inside is broken out so you can read it.
Paste:
=SUMPRODUCT((A:A="East")*B:B)
Breakdown:
SUMPRODUCT() — Excel function
arg 1: multiplication (*)
left: equality test (=)
left: cell range A:A
right: text "East"
right: cell range B:BINDEX/MATCH wrapped in IFERROR
Tutorials often add IFERROR so a missing match shows blank instead of #N/A. The tool puts IFERROR at the top and nests the whole INDEX/MATCH as its first argument.
Paste:
=IFERROR(INDEX(B:B,MATCH(D1,A:A,0)),"")
Breakdown:
IFERROR() — Returns a value if a formula produces an error; otherwise returns the formula result
expression: INDEX() — Returns the value at a given position in a range
range: cell range B:B
row number: MATCH() — Returns the position of a value within a range
lookup value: cell reference D1
lookup range: cell range A:A
match type: number 0
fallback if error: text ""Why a brace array constant doesn't expand
If a tutorial uses an inline array like {1,2,3}, the tool can't expand it — the { is unrecognised. Everything up to it parses; the brace part shows raw. You can usually replace it with a cell range to learn the rest.
Paste:
=SUM({1,2,3})
Breakdown:
SUM() — Adds all numeric values in a range
arg 1: {1,2,3})
(The {1,2,3} array isn't parsed. To study the SUM structure,
put the numbers in cells and paste =SUM(A1:A3) instead.)Edge cases and what actually happens
Free tier blocked entirely
Pro requiredThe Explainer is gated to Pro and above. On Free it returns Formula Explainer requires Pro tier. with no partial output. There is no smaller free preview — the whole tool is behind the gate. Upgrade to Pro (or higher) to use it.
Pasting the CSE braces Excel adds
Strip them firstLegacy array formulas display in Excel wrapped in { } (Ctrl+Shift+Enter / CSE). Those outer braces are Excel's display, not part of the formula — and the parser treats { as unknown, so leaving them in dumps the formula as a raw line. Paste only the inner formula text (without the surrounding { }) and it parses normally.
Array constant in braces
Not parsedAn inline array constant like {1,2,3} or {"a";"b"} starts with {, an unknown character, so it and the rest of the argument appear as a raw line rather than as parsed values. The surrounding function is still named; only the literal array is left unexpanded.
Function name not in the description list
By designAny function that is not one of the 65 named ones — a valid-but-unlisted Excel function like SUMPRODUCT, OFFSET, or INDIRECT, a Google Sheets-only function like QUERY or ARRAYFORMULA, or a custom workbook UDF like MyMacro — renders as NAME() — Excel function (uppercased) with generic arg N labels. It is never mislabelled User-defined function and never throws; you still see the full nesting structure and every argument, just without a prose description of that one function.
Expecting a calculated result
By designThe Explainer is static analysis: it never evaluates the formula and never reads cell values, so it cannot tell you what =VLOOKUP(...) returns for your data — only what each part does and how the parts nest. To see a value, run the formula in Excel; to understand it, use this. For tracing which cells feed a result with real values, use the dependency map.
Expecting it to say which row matched
By designThe tool explains that MATCH returns a position and INDEX uses it — but it can't tell you that the position is, say, row 17, because it never reads your data. It is structure, not computation. Type the formula into Excel to see the actual matched row.
Same formula, different explanation?
Cannot happenThe breakdown comes from a deterministic recursive-descent parser, not a language model, so an identical formula always produces an identical tree. There is no temperature, no sampling, and no chance of an AI confidently inventing a function or mis-describing an argument — the descriptions are fixed text keyed to each function name.
Structured table reference
Column droppedExcel table syntax is not fully tokenised. Table1[Amount] keeps Table1 as a plain cell reference but drops the [Amount] column part. A reference that starts with a bracket, like [@Price], starts with an unrecognised character, so it and the rest of the formula dump as one raw line. Replace structured references with the equivalent A1 ranges before pasting if you need them in the tree.
Empty or whitespace-only input
No formula providedIf the formula box is empty or only whitespace, the tool returns No formula provided. rather than an empty tree. Paste the real formula text. A leading = is optional — it is added automatically if you leave it off.
Frequently asked questions
I'm new to INDEX/MATCH — will this actually help me learn it?
Yes. It prints the formula as an indented outline, outermost function first, with each argument labelled (range:, row number:, lookup value:, match type:). Reading INDEX→MATCH→the array comparison top-to-bottom is far easier than decoding nested parentheses, and because it's a parser rather than an AI, what you learn from it is always correct.
What's the `(A:A=E2)*(C:C>0)` part doing?
That's the array trick. The tool breaks it into two comparisons multiplied together. Each comparison yields TRUE/FALSE per row; multiplying them yields 1 only where both are TRUE. MATCH then searches that array for 1, finding the first row that satisfies both conditions. The breakdown makes this structure visible.
Does it tell me the answer the formula produces?
No — it never evaluates and never reads your data. It explains what each part does and how they nest. To see the result, type the formula into Excel with your data. Use this to understand it first so the result makes sense.
Do I need to upload my spreadsheet?
No. There's no file upload at all — just paste the formula text into the single box. You can learn from a formula you found in a tutorial or a colleague's sheet without having the workbook.
Why does SUMPRODUCT say 'Excel function' with no description?
SUMPRODUCT is a real function but it isn't one of the 65 the tool has prose for, so it renders as SUMPRODUCT() — Excel function. The conditional math inside it is still fully broken down, so you can read the logic even without a one-line description of SUMPRODUCT itself.
My tutorial's formula has curly braces — do I include them?
No. Those { } are how Excel displays a legacy array (CSE) formula — they aren't typed into the cell. The parser treats { as unknown, so leaving them in breaks parsing. Paste only the inner formula text without the outer braces.
Can I paste a Google Sheets formula to learn from?
Usually yes — Sheets shares most of Excel's functions and syntax. Sheets-only functions (QUERY, ARRAYFORMULA) aren't described and show as generic NAME() — Excel function, but standard INDEX/MATCH/SUMPRODUCT formulas explain correctly.
What happens if I make a typo and unbalance the parentheses?
It won't crash — it parses what it can and shows a partial tree. That's actually useful while learning: you can paste a half-built formula to check the structure so far, then finish it in Excel.
Is my formula private?
No. The parser runs entirely in your browser — the formula text never leaves your device, nothing is logged, and nothing is stored. This matters when the formula encodes confidential business logic (pricing rules, model assumptions, internal thresholds). The only server interaction is the tier check that confirms you are on Pro or above.
Why is it Pro-only?
The Formula Explainer is gated to Pro and above. On the Free tier the tool returns Formula Explainer requires Pro tier. and does nothing else. The gate is on the tool, not on formula size — there is no per-formula byte or character limit, because the input is a short string rather than a file. Pro, Pro-media, Developer, and Enterprise all have full, unlimited-explanation access.
Does my file's size or row count matter?
No. Unlike the file-based Excel tools — which cap at 5 MB / 10,000 rows on Free up to 500 MB / unlimited on Developer — this tool takes a pasted formula string and never reads a workbook. There is nothing to upload, so the byte and row ceilings do not apply. If you want to explain formulas that live inside a workbook, open the file in Excel, copy the formula text from the formula bar, and paste it here.
What if the box is empty?
The tool returns No formula provided. — it does not guess or produce a blank tree. Paste the actual formula text, with or without the leading =; a missing = is added automatically before parsing.
Privacy first
Every JAD Excel tool runs entirely in your browser using SheetJS and ExcelJS. Your spreadsheets, formulas, and data never leave your device — verified by zero outbound network requests during processing.