What Most People Miss About How IFERROR Works in Excel

It’s 3:12 PM. You’re updating the Q2 vendor payment tracker. Sarah Chen from Finance just forwarded last week’s PO log — but three supplier names don’t match your master list. Every time you drag down =VLOOKUP(A2,Suppliers!A:B,2,0), six cells scream #N/A. Your pivot table breaks. The dashboard turns red. You copy-paste the formula into ChatGPT and pray.

The Setup

You’re working with Vendor Payments Q2-2024.xlsx, two sheets: Payments (A1:E10) and Suppliers (A1:B12). The Payments sheet lists invoices due this month. Column C (Supplier ID) should pull the vendor’s region from the Suppliers sheet using VLOOKUP — but three IDs are outdated or mistyped.

Invoice #AmountSupplier IDRegion (raw VLOOKUP)Notes
INV-7812$14,250SUP-003=VLOOKUP(C2,Suppliers!A:B,2,0)Active
INV-7813$8,920SUP-007=VLOOKUP(C3,Suppliers!A:B,2,0)Active
INV-7814$22,100SUP-011=VLOOKUP(C4,Suppliers!A:B,2,0)Active
INV-7815$5,640SUP-999#N/AID retired
INV-7816$17,800SUP-005=VLOOKUP(C6,Suppliers!A:B,2,0)Active
INV-7817$3,210SUP-888#N/ATypo — should be SUP-008
INV-7818$11,400SUP-008=VLOOKUP(C8,Suppliers!A:B,2,0)Active
INV-7819$6,750SUP-002=VLOOKUP(C9,Suppliers!A:B,2,0)Active
INV-7820$9,300SUP-XYZ#N/ANew vendor — not in Suppliers yet

The Challenge

You need Region values for every invoice — but VLOOKUP fails on three rows: SUP-999, SUP-888, and SUP-XYZ. If you leave those as #N/A, your SUMIFS for regional totals returns #N/A. Your conditional formatting highlights all of column D in red. And worse — if you wrap VLOOKUP in IF(ISNA(...)), you’ll get a double-check slowdown. IFERROR fixes that. But here’s what most people miss: IFERROR doesn’t just hide errors — it intercepts them before Excel finishes evaluating the formula. That means no extra calculation pass. No hidden performance tax.

Also — and this trips up even seasoned users — IFERROR catches all error types: #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, and #NAME?. Not just #N/A. So if your lookup range shifts and you get #REF!, IFERROR still swallows it. That’s useful — but dangerous if you’re unaware.

Walking Through It

Start in cell D2. The original formula is =VLOOKUP(C2,Suppliers!A:B,2,0). Select that cell. Press Alt + E + F to open the Formula Bar (or just click inside it). Place your cursor right before VLOOKUP and type =IFERROR(. Then move to the end — right after the closing parenthesis — and add ,"Not Found").

Your new formula: =IFERROR(VLOOKUP(C2,Suppliers!A:B,2,0),"Not Found").

Now drag down to D10. Watch what happens:

Invoice #AmountSupplier IDRegion (with IFERROR)Notes
INV-7812$14,250SUP-003North AmericaActive
INV-7813$8,920SUP-007EMEAActive
INV-7814$22,100SUP-011APACActive
INV-7815$5,640SUP-999Not FoundID retired
INV-7816$17,800SUP-005North AmericaActive
INV-7817$3,210SUP-888Not FoundTypo — should be SUP-008
INV-7818$11,400SUP-008APACActive
INV-7819$6,750SUP-002North AmericaActive
INV-7820$9,300SUP-XYZNot FoundNew vendor — not in Suppliers yet

Notice: The three #N/A cells now say “Not Found”. Your SUMIFS in another sheet — say, =SUMIFS(E2:E10,D2:D10,"North America") — now works cleanly. No more #N/A propagation.

Counterintuitive tip: You can use IFERROR to return a blank — but not with "". Use "" only if you want a truly empty-looking cell. However, Excel treats "" as text — so COUNTA will count it. For true emptiness in calculations, use IFERROR(VLOOKUP(...),) — leave the value_if_error argument blank. Yes, just a comma and close: =IFERROR(VLOOKUP(C2,Suppliers!A:B,2,0),). That returns a genuine blank — invisible to COUNTA, ignored by AVERAGE, and won’t break pivot groupings.

The Result

Here’s your final cleaned Region column — ready for reporting, pivots, or Power Query ingestion:

Invoice #AmountSupplier IDRegionStatus
INV-7812$14,250SUP-003North AmericaActive
INV-7813$8,920SUP-007EMEAActive
INV-7814$22,100SUP-011APACActive
INV-7815$5,640SUP-999Not FoundRetired
INV-7816$17,800SUP-005North AmericaActive
INV-7817$3,210SUP-888Not FoundTypo
INV-7818$11,400SUP-008APACActive
INV-7819$6,750SUP-002North AmericaActive
INV-7820$9,300SUP-XYZNot FoundNew

What Could Go Wrong

Mistake #1: Forgetting the comma before the second argument. Typing =IFERROR(VLOOKUP(...),) is fine — but typing =IFERROR(VLOOKUP(...)) (no comma) throws #VALUE!. Excel expects two arguments. You’ll see the formula bar flash red. Fix: Add the comma, even if you leave the second argument blank.

Mistake #2: Using IFERROR with array formulas without Ctrl+Shift+Enter (in older Excel). If you’re on Excel 2019 or earlier and try =IFERROR(VLOOKUP(A2:A10,Suppliers!A:B,2,0),"Missing") as an array, it returns only one result — not ten. You must press Ctrl + Shift + Enter to confirm. In Microsoft 365, it spills automatically. Check your Excel version first.

Mistake #3: Nesting IFERROR inside SUMPRODUCT and expecting it to ignore errors silently. This fails: =SUMPRODUCT(IFERROR(VLOOKUP(A2:A10,Suppliers!A:B,2,0),0)). SUMPRODUCT doesn’t handle error-handled arrays that way. Instead, wrap the whole SUMPRODUCT: =IFERROR(SUMPRODUCT(VLOOKUP(A2:A10,Suppliers!A:B,2,0)),0).

Here’s your quick-reference cheat sheet — print it and stick it next to your monitor:

Use CaseFormulaNotes
Hide #N/A, show text=IFERROR(VLOOKUP(C2,Suppliers!A:B,2,0),"Not Found")Most common. Safe for reports.
Return true blank=IFERROR(VLOOKUP(C2,Suppliers!A:B,2,0),)No quotes. Counts as empty in COUNTA.
Default to zero for math=IFERROR(VLOOKUP(C2,Suppliers!A:B,2,0),0)Safe for SUM, AVERAGE, charts.
Catch & log error type=IFERROR(VLOOKUP(C2,Suppliers!A:B,2,0),ERROR.TYPE(VLOOKUP(C2,Suppliers!A:B,2,0)))Returns 7 for #N/A, 3 for #VALUE! — useful for debugging.
Lisa Anderson

Lisa Anderson

Lisa is a certified Microsoft trainer who writes step-by-step guides for Power Automate