ISNA
Return TRUE for #N/A specifically, and FALSE for every other error.
Syntax
ISNA(value) | Argument | Required | Description |
|---|---|---|
value | Required | The value or formula to test. |
Examples
Every example below was executed against VisiGrid engine 0.31.0 — not
transcribed from another vendor's documentation. Reproduce any of them with vgrid calc.
| Formula | Result | Notes |
|---|---|---|
=ISNA(VLOOKUP(999,A1:B1,2,FALSE)) | TRUE | A lookup that found nothing. |
=ISNA(1/0) | FALSE | A division error is not #N/A, so this correctly says no. |
=ISERROR(1/0) | TRUE | For contrast — ISERROR catches it. |
The narrow test, and why narrow is better
#N/A means “no match”. Every other error means something is wrong with the
formula or the data. Treating those the same is how a broken range gets reported
as a missing value for months.
=IF(ISNA(x), "not found", "problem")
That distinction is impossible with ISERROR, which
answers TRUE to both.
When you want to substitute rather than test, IFNA is the
one-pass version — and is what most people mean when they reach for
IFERROR.
Note that NA(), Excel’s way of producing an #N/A deliberately, is not
implemented here.
Excel compatibility
Matches Excel.