ISNA
Check whether a value is the #N/A error and return TRUE or FALSE.
Spreadsheet editor
Spreadsheet editor
Syntax
=ISNA(value)
Returns: Boolean Arguments
| Argument | Required | Description |
|---|---|---|
| value | Yes | The value or cell reference you want to test for the #N/A error. |
About
ISNA checks a single value and returns TRUE if it is the #N/A error, or FALSE for anything else. Unlike ISERROR, which flags every error type, ISNA reacts only to #N/A. That makes it the go-to test for lookups, since #N/A is the error VLOOKUP, HLOOKUP, and MATCH return when they cannot find a match.
Most of the time you pair ISNA with IF to swap a missing match for a friendly message or a default value. For example, =IF(ISNA(VLOOKUP(...)), "Not found", VLOOKUP(...)) keeps your report clean instead of showing raw #N/A errors. ISNA accepts any value: a cell reference, a formula result, text, a number, or a blank cell.
If your goal is simply to replace a #N/A result, the modern IFNA function does it in one step and is easier to read. Use ISNA when you need the TRUE/FALSE test itself, for instance inside a larger logical check or when counting how many lookups failed.
Most of the time you pair ISNA with IF to swap a missing match for a friendly message or a default value. For example, =IF(ISNA(VLOOKUP(...)), "Not found", VLOOKUP(...)) keeps your report clean instead of showing raw #N/A errors. ISNA accepts any value: a cell reference, a formula result, text, a number, or a blank cell.
If your goal is simply to replace a #N/A result, the modern IFNA function does it in one step and is easier to read. Use ISNA when you need the TRUE/FALSE test itself, for instance inside a larger logical check or when counting how many lookups failed.
Exercises using ISNA
Examples
ISNA only catches #N/A
Notice that ISNA returns TRUE only for the #N/A error, while the #DIV/0! error still returns FALSE. Edit the cell values to see which errors slip through.
Spreadsheet editor
Show a friendly message instead of #N/A
Wrap the lookup in IF and ISNA so a missing match shows "Not found" instead of a raw error. Change "Jake" to a name in the table and watch the department appear.
Spreadsheet editor
Count how many lookups failed
Run ISNA down a column of lookups, then total the TRUE values with SUMPRODUCT to count the #N/A results. Fix an order code to match the table and watch the failure count drop.
Spreadsheet editor
Watch out for
⚠
Using ISNA when you meant any error
ISNA only catches the #N/A error. If a cell holds #DIV/0!, #VALUE!, or #REF!, ISNA returns FALSE and the error slips through your check.
→ Use ISERROR to catch every error type, or ISERR for all errors except #N/A. Keep ISNA for lookups where #N/A is the only error you expect.
⚠
Writing the lookup twice
The =IF(ISNA(VLOOKUP(...)), "...", VLOOKUP(...)) pattern repeats the same lookup, which is slower and easy to mistype when ranges change.
→ If you just want to replace #N/A, use IFNA instead. =IFNA(VLOOKUP(...), "Not found") writes the lookup once and reads more clearly.
Tips & notes
Common questions
What is the difference between ISNA and ISERROR?
ISNA returns TRUE only for the #N/A error. ISERROR returns TRUE for any error, including #DIV/0!, #VALUE!, and #REF!. Use ISNA when a missing lookup is the only error you want to catch.
Should I use ISNA or IFNA?
Use IFNA when you simply want to replace a #N/A result with another value, since it does the job in one step. Use ISNA when you need the actual TRUE/FALSE test, for example inside a bigger logical formula or to count failed lookups.
Why does my VLOOKUP return #N/A?
#N/A means VLOOKUP could not find the lookup value. Common causes are extra spaces, text stored as numbers, or a value that truly is not in the table. ISNA helps you flag these rows so you can fix them.
Is ISNA available in Google Sheets?
Yes. ISNA works the same way in Google Sheets, using ISNA(value) to test for the #N/A error.