Excel formula explainer
Paste a formula you did not write. You get it laid out so the nesting is visible, evaluated from the innermost call outward, and a note on what will break it.
How to understand a formula you did not write
- 1
Paste the whole thing
Include the leading equals sign and every closing bracket. A truncated formula gets explained as if the missing part did not exist, which is worse than no explanation.
- 2
Read the reformatted version first
Most formulas are hard to read because they are one long line. Seeing the nesting indented usually answers half the question before you read a word of prose.
- 3
Follow it from the inside out
That is the order Excel evaluates in, and the order the explanation uses. The innermost call runs first and its result becomes an argument to the one wrapping it.
- 4
Check the 'Watch out for' notes against your sheet
Absolute versus relative references and hard-coded row limits are what make an inherited formula break when the data grows. These get called out specifically.
Why inherited formulas are hard to read
Excel gives you one line and no indentation, so a formula that is logically four nested steps arrives as four hundred unbroken characters. The logic is not complicated; the presentation is.
The second problem is that names are absent. A formula refers to $D$2:$D$500, not to "unit price", so reconstructing intent means cross-referencing the sheet while holding the bracket depth in your head.
Reformatting solves the first problem outright, and naming what each range appears to hold solves most of the second. That is what this tool does before it explains anything.
The error codes and what they actually mean
#N/A means a lookup found nothing — the value genuinely is not there, or it is there with a trailing space, or one side is text and the other is a number. #REF! means a reference points at something that no longer exists, usually a deleted column.
#VALUE! is a type mismatch: arithmetic on text, or a function handed a range where it wanted a single cell. #NAME? is a misspelled function or an undefined named range — including a 365-only function opened in an older Excel.
#SPILL! is newer and specific to dynamic arrays: the formula wants to write into cells that are not empty. #DIV/0! and #NUM! are what they sound like. Knowing which one you have narrows the cause enormously before you read a line of the formula.
When to rewrite rather than repair
A formula that needs an explanation to be understood will need one again next year. If you own the sheet, an explanation is a good moment to decide whether to break it into helper columns.
Three signals that it is worth rewriting: the nesting is more than three deep, the same subexpression appears twice, or the ranges are hard-coded to a row number that the data will pass. LET solves the second of those neatly on Microsoft 365.
If the sheet belongs to someone else, resist the urge. Understand it, fix the specific break, and leave a comment saying what it does — a rewrite you cannot fully test is a worse outcome than a formula that is merely ugly.
Excel error codes at a glance
| Error | Means | Usual cause | First thing to try |
|---|---|---|---|
| #N/A | A lookup found nothing | Trailing spaces, or text that looks like a number on one side only | TRIM both sides; wrap in IFNA to show a message instead |
| #REF! | A reference points at nothing | A column or sheet the formula used was deleted | Rebuild the reference; INDEX survives deletions better than OFFSET |
| #VALUE! | Wrong type of argument | Arithmetic on text, or a range passed where one cell was expected | Check with ISNUMBER; use VALUE to coerce text digits |
| #DIV/0! | Division by zero or blank | The denominator cell is empty, not zero | Guard with IF(denominator=0, "", …) |
| #NAME? | Unrecognised name | Misspelled function, undefined named range, or a 365-only function on older Excel | Check spelling; check the function exists in your version |
| #NUM! | Impossible number | SQRT of a negative, or an iterative function that did not converge | Check the input range; supply a guess argument where one is accepted |
| #SPILL! | The spill range is blocked | A dynamic array wants cells that are not empty | Clear the cells below or right of the formula |
| #NULL! | Two ranges do not intersect | A space used where a comma was meant | Check the argument separators |
Formula explainer FAQ
- Does it work with Google Sheets formulas?
- Yes, including QUERY, ARRAYFORMULA and the IMPORT family, which have no Excel equivalent. Set the switch to Google Sheets so the explanation uses the right semantics.
- Can it explain a formula with named ranges?
- It can explain the structure, but it cannot see what a named range refers to. Telling it in the same message — "TaxRate is a single cell on the Config sheet" — gets you a much more useful answer.
- Will it tell me what is wrong with a broken formula?
- Usually. Paste the formula and say which error you are seeing, and the explanation will focus on what in that formula produces that error code. The more specific you are about the symptom, the better this works.
- How long a formula can I paste?
- Up to 4,000 characters, which covers essentially everything a person has written by hand. Machine-generated monsters longer than that are better split into parts.
- Does it change my formula?
- No. The reformatted version adds line breaks and indentation only — the behaviour is identical. If you want it rewritten or simplified, ask for that explicitly.