← All comparisons

ISERROR vs ISERR vs ISNA: how wide a net

Three error detectors that differ only in scope: ISERROR catches everything, ISNA catches only #N/A (the 'not found' signal), and ISERR is the odd middle child — everything EXCEPT #N/A. Same philosophy as IFERROR vs IFNA: match the net to what you actually expect.

The differences at a glance

ISERRORISERRISNAERROR.TYPE
#N/ATRUEFALSE — deliberately excludedTRUE7
#DIV/0!, #VALUE!, #REF!, #NAME?...TRUETRUEFALSEcodes 1-6, 8
Mirror wrapperIFERROR(none)IFNA
Typical useAny-failure flagsReal-bug detection while tolerating lookup missesLookup-miss handlingBranching by error kind
CompatibilityUniversalUniversalUniversalUniversal — all verified by execution

Which should you use?

Compatibility (from executed tests)

All four execute identically in every version of Excel, Google Sheets, and LibreOffice we test. ERROR.TYPE is the escalation path when the boolean tests aren't enough — it returns a code per error kind (#N/A is 7), letting one formula branch differently on misses vs genuine faults.

Example formulas

Lookup miss?=ISNA(MATCH(D2,A:A,0))
Real bugs only (ignores #N/A)=SUMPRODUCT(--ISERR(B2:B100))
Branch by error kind=IF(ISNA(A2),"missing",IF(ISERROR(A2),"broken",A2))

Full per-version details on each function page: ISERROR · ISERR · ISNA · ERROR.TYPE.