IFERROR
Returns a value you specify if a formula evaluates to an error; otherwise, returns the result of the formula.
IFERROR(value, value_if_error)Arguments
valueThe formula or value to check for errorsvalue_if_errorThe value to return if an error is found
=IFERROR(A1/B1,0)Returns 0 instead of #DIV/0! if B1 is empty or zero
=IFERROR(VLOOKUP(A1,Data,2,FALSE),"Not Found")Returns 'Not Found' if VLOOKUP fails
=IFERROR(1/0,"Error")Catches the division by zero error
- •IFERROR catches all error types (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!)
- •Use IFNA if you only want to catch #N/A errors
- •Be careful not to hide real errors that should be investigated
- •Wrapping the entire formula in IFERROR as a reflex. It also swallows your own typos and broken references, not just the error you were expecting
- •Reaching for IFERROR when a VLOOKUP might return #N/A, when IFNA would catch exactly that and let other, more serious errors still show up
- •Writing IFERROR(VLOOKUP(...),VLOOKUP(...)) and making Excel run the same expensive lookup twice for no reason
What is the difference between IFERROR and IFNA?
IFERROR catches everything - #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!, all of it. IFNA only catches #N/A, which means a real bug elsewhere in your formula won't get quietly swept under the rug.
Does IFERROR slow down my workbook?
It can, especially on older Excel versions where the wrapped formula sometimes gets calculated twice, or when it's applied across thousands of rows. A helper column, or LET in modern Excel, avoids the duplicate work.
Should I just wrap everything in IFERROR to be safe?
Honestly, no. That's the fastest way to hide a real problem - a broken reference or a wrong range - behind a clean-looking result. Use it for errors you actually expect, like a lookup value that might legitimately not exist.
Need to translate a formula using IFERROR?
Use our translator to convert your complete formula
