
ISERROR returns TRUE when a value contains any Excel error. That includes #N/A, #VALUE!, #REF!, #DIV/0!, and the other standard error types.
This makes ISERROR the broad version of Excel error checking. If you do not need to separate one error type from another, it gives you a simple yes-or-no test that tells you whether the result is clean or not.
Returns TRUE for any standard Excel error type, including lookup, math, and reference errors.
TRUE means the tested value is an error. FALSE means the value is not an error.
=ISERROR(value)
You can test a cell reference, a formula result, or a direct expression. Microsoft groups ISERROR with the other IS functions, which all return only TRUE or FALSE based on the type of result they receive.
ISERROR does not change the value. It only checks whether the result is an Excel error.
| Function | What it catches | Use it when |
|---|---|---|
ISERROR |
All errors | You want one simple test for any error state. |
ISERR |
All errors except #N/A |
You want to keep lookup misses separate. |
ISNA |
Only #N/A |
You only care about missing lookups. |
IFERROR |
All errors with a fallback result | You want to replace the error right away. |
The usual reason to use ISERROR is to test whether a result is valid before you do something else with it. That can be useful in dashboards, validation sheets, and helper columns where the next step depends on knowing whether the current formula worked at all.
ISERROR is also helpful when you want one broad rule for all error types. A missing lookup, a broken reference, and a divide-by-zero problem all return TRUE here. That can be convenient when the exact error type does not matter and you only want to know whether the result is safe to use.
One practical note matters here. The older pattern =IF(ISERROR(formula),fallback,formula) can evaluate the same formula twice. If your version of Excel supports IFERROR, that is often cleaner when your goal is simply to replace the error with another result. ISERROR is still useful when you want to test and branch more deliberately.
This is the direct use of the function.
=ISERROR(A1)
If A1 contains any standard Excel error, the result is TRUE. That makes this a quick way to check whether a cell is safe to use in later logic or whether it needs attention first.
In cell F1, check whether A1 contains any Excel error.
This is where ISERROR differs from ISERR.
=ISERROR(C1)
If C1 contains #N/A, ISERROR still returns TRUE. That is useful when you want a broad error check and do not need to treat missing lookups differently from other errors.
In cell F2, confirm that ISERROR also catches #N/A in C1.
This is the classic older pattern for error handling.
=IF(ISERROR(A1),"Processing...",A1)
If A1 contains an error, the formula returns "Processing...". Otherwise it returns the original value. This works, but it is best used when you specifically want the logical test as part of a larger formula flow.
In cell F3, show "Processing..." when A1 contains any error, otherwise return A1.
ISERROR is also useful for confirming that a good value is not being flagged.
=ISERROR(B2)
If B2 contains a valid number like 500, the result is FALSE. That may sound simple, but it is useful when you are auditing mixed data and want to separate clean rows from rows with problems.
In cell F4, confirm that a normal value like B2 is not treated as an error.
ISERROR catches any Excel error.ISERR.IF when you want a message or alternate result.IFERROR when you want to replace the error directly.Tell your friends about this post