ISERROR
Returns TRUE if a value is any error type, FALSE otherwise.
ISERROR(value)Arguments
valueThe value to check for errors
=ISERROR(A1/B1)Checks if division causes error
=IF(ISERROR(VLOOKUP(A1,B:C,2,0)),"Not found",VLOOKUP(A1,B:C,2,0))Error handling (use IFERROR instead)
=ISERROR(#N/A)Returns TRUE for #N/A
- •Catches all error types
- •Use ISNA for only #N/A errors
- •IFERROR is usually more convenient
- •Using ISERROR broadly to hide every error the same way, when IFERROR would be simpler for the common case of just substituting a fallback value
- •Confusing ISERROR (catches every error type) with ISNA (catches only #N/A), leading to unintended masking of a genuine formula bug
- •Wrapping a whole formula in ISERROR without realizing the wrapped formula still gets calculated in full, which doesn't save any processing time
What's the difference between ISERROR and IFERROR?
ISERROR returns TRUE or FALSE, so you still need to wrap it in IF to actually substitute a value. IFERROR does both steps in one function.
Does ISERROR catch every kind of error?
Yes, #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, and #NULL! are all caught by ISERROR, unlike ISNA which only catches #N/A.
Should I use ISERROR to silence every possible error in a formula?
Be careful - that can hide a real problem, like a broken reference, behind a clean-looking result. Reserve it for errors you actually expect, like a lookup that might legitimately fail.
Need to translate a formula using ISERROR?
Use our translator to convert your complete formula
