Information functions

ISNA

Matches all 1,240 recorded answers

Recorded: 1,227 in the answer bank and 13 workbook cells. How we measure this · See the Rust code

Local names of this family in 40 languages

Microsoft's list gives these names for the whole family without saying which belongs to which function, so they are shown together.

LanguageName in Excel
ArabicISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
BulgarianISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
CzechISODD, JE.CHYBA, JE.CHYBHODN, JE.ČISLO, JE.LOGHODN, JE.NEDEF, JE.NETEXT, JE.ODKAZ, JE.PRÁZDNÉ, JE.TEXT
DanishER.FEJL, ER.FJL, ER.IKKE.TEKST, ER.IKKE.TILGÆNGELIG, ER.LOGISK, ER.REFERENCE, ER.TAL, ER.TEKST, ER.TOM, ER.ULIGE
GermanISODD, ISTBEZUG, ISTFEHL, ISTFEHLER, ISTKTEXT, ISTLEER, ISTLOG, ISTNV, ISTTEXT, ISTZAHL
GreekISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
English (Australia)ISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
English (United Kingdom)ISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
English (United States)ISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
SpanishES.IMPAR, ESBLANCO, ESERR, ESERROR, ESLOGICO, ESNOD, ESNOTEXTO, ESNUMERO, ESREF, ESTEXTO
EstonianISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
FinnishONEI_TEKSTI, ONLUKU, ONPARITON, ONPUUTTUU, ONTEKSTI, ONTOTUUS, ONTYHJÄ, ONVIITT, ONVIRH, ONVIRHE
FrenchEST.IMPAIR, ESTERR, ESTERREUR, ESTLOGIQUE, ESTNA, ESTNONTEXTE, ESTNUM, ESTREF, ESTTEXTE, ESTVIDE
HebrewISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
CroatianISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
HungarianHIBA.E, HIBÁS, HIVATKOZÁS, LOGIKAI, NEM.SZÖVEG, NINCS, PÁRATLANE, SZÁM, SZÖVEG.E, ÜRES
IndonesianISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
ItalianISODD, VAL.ERR, VAL.ERRORE, VAL.LOGICO, VAL.NON.DISP, VAL.NON.TESTO, VAL.NUMERO, VAL.RIF, VAL.TESTO, VAL.VUOTO
JapaneseISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
KoreanISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
LithuanianISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
LatvianISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
NorwegianERF, ERFEIL, ERIKKETEKST, ERIT, ERLOGISK, ERREF, ERTALL, ERTEKST, ERTOM, ISODD
DutchIS.ONEVEN, ISFOUT, ISFOUT2, ISGEENTEKST, ISGETAL, ISLEEG, ISLOGISCH, ISNB, ISTEKST, ISVERWIJZING
PolishCZY.ADR, CZY.BŁ, CZY.BŁĄD, CZY.BRAK, CZY.LICZBA, CZY.LOGICZNA, CZY.NIE.TEKST, CZY.NIEPARZYSTE, CZY.PUSTA, CZY.TEKST
Portuguese (Brazil)É.NÃO.DISP, É.NÃO.TEXTO, ÉCÉL.VAZIA, ÉERRO, ÉERROS, ÉLÓGICO, ÉNÚMERO, ÉREF, ÉTEXTO, ISODD
Portuguese (Portugal)É.CÉL.VAZIA, É.ERRO, É.ERROS, É.LÓGICO, É.NÃO.DISP, É.NÃO.TEXTO, É.NÚM, É.REF, É.TEXTO, ÉÍMPAR
RomanianISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
RussianЕЛОГИЧ, ЕНД, ЕНЕТЕКСТ, ЕНЕЧЁТ, ЕОШ, ЕОШИБКА, ЕПУСТО, ЕССЫЛКА, ЕТЕКСТ, ЕЧИСЛО
SlovakISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
SlovenianISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
Serbian (Latin)ISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
SwedishÄREJTEXT, ÄRF, ÄRFEL, ÄRLOGISK, ÄRSAKNAD, ÄRTAL, ÄRTEXT, ÄRTOM, ÄRTOM, ÄRUDDA
ThaiISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
TurkishEBOŞSA, EHATA, EHATALIYSA, EMANTIKSALSA, EMETİNDEĞİLSE, EMETİNSE, EREFSE, ESAYIYSA, EYOKSA, TEKMİ işlevi
UkrainianISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
VietnameseISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
Chinese (Simplified)ISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
Chinese (Hong Kong)ISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT
Chinese (Traditional)ISBLANK, ISERR, ISERROR, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT

Names from Microsoft's support site.

What it does

ISNA(value)

ISNA(value) returns TRUE when the value it receives has kind Error and its code is #N/A, and FALSE otherwise.

Microsoft states the condition as "Value refers to the #N/A (value not available) error value." It is the narrowest predicate in the IS family: one kind, one code.

#N/A is not an ordinary failure. It is Excel's conventional answer for a lookup that found nothing and, under array broadcasting, for a coordinate that exists in the result shape but not in this argument (the call pipeline). ISNA is therefore usually asked as a business question — "did this key match?" — rather than as a diagnostic one.

Arguments

value — required, exactly one.

Not converted; Microsoft's IS-functions remark applies ("The value arguments of the IS functions are not converted"). A cell holding the text "#N/A" is Text, not Error, and ISNA returns FALSE for it. This is a real failure mode when error values have been round tripped through a CSV, a paste-as-values, or a TEXT call: the workbook looks full of #N/A and every ISNA says FALSE.

Try it

Input cells (optional)

Example: {"B2": 3, "B3": 4}. A1 holds the formula. Other cells need values before a formula can read them.

Enter a formula, then calculate.

Runs locally in your browser with OneCalc. Its answer may differ from Excel. Use English function names and commas between arguments.

Quirks

Result and edge cases

Returns a Logical, or an array of Logical when the argument is an array.

  • Every other error code is FALSE — #VALUE!, #DIV/0!, #REF!, #NAME?, #NUM!, #NULL!, and the extended codes.
  • Errors do not propagate. ISNA is one of the declared per-family exceptions to the propagation discipline in coercion and lifting.
  • Empty is FALSE. An empty cell is not #N/A, even though both often mean "no data".
  • Two sources of #N/A. The value produced by NA(), the value produced by a failed lookup, and the value produced positionally by broadcasting are — as far as the value model is concerned — the same value. The Handbook has not separately confirmed that Excel treats all three identically under ISNA, but the model gives no mechanism by which they could differ.

Errors

ISNA returns no error of its own for any value it can be given. The only failure available to it is arity: zero arguments, or two. ISNA() is expected to be refused at formula entry rather than evaluated (the call pipeline); the reference engine, having no entry-time surface, reports #VALUE! for both the too-few and the too-many case.

Microsoft's IS-functions page documents no error return for ISNA.

How to implement

Notes for implementers

  1. Compare the code, not the rendering. Error display text is localized on some surfaces; the code is the identity.
  2. A positional #N/A from broadcasting must be a real #N/A, not a sentinel. If an engine invents a distinct "missing coordinate" marker, ISNA will disagree with Excel on every ragged broadcast.
  3. ISNA is a mask generator, so its array result shape is load-bearing. A 1x1 collapse or an implicit intersection in the wrong place changes downstream SUM totals silently.

Rust code

Show the CalcFunc source of this function

Quoted from the public repository DnaCalc/DnaCalc, crates calc-func and calc-fml, at commit 9e1884369a67. Comments are the source's own. A kernel shared with other functions appears once, on its module page.

ISNA · 1 lines · calc-func/src/catalogue/information.rs on GitHub
unary(ISNA, "ISNA", VALUE, isna)
isna · 9 lines · calc-func/src/catalogue/information.rs on GitHub
/// ISNA: TRUE for #N/A alone.
fn isna(
    arguments: &[CalcValue],
    services: &mut EvalServices<'_>,
) -> Result<CalcValue, FunctionFault> {
    predicate(ISNA, arguments, services, known, |core| {
        matches!(core, CoreRef::Error(WorksheetErrorCode::NA))
    })
}

Kernels shared with other functions

Argument and result plumbing

No implementation has been published with a Handbook test suite for this function.

Version differences

The recorded environments below distinguish a reading from a same-input comparison. Counts describe captured inputs in each environment; overlapping captures and comparisons are not totals of unique worksheet calls.

Excel 16.0 buildPlatform and CPUCaptured inputs
20430Windows, 64-bit, CPU not recorded1,227

The record contains no same-input comparison between these environments. Reading different inputs on different builds does not establish either a version change or cross-build agreement.

Recorded environments and comparison details.

Excel 16.0 build 20430

Windows, 64-bit, CPU not recorded

1,227 captured inputs are indexed for this environment. Capture dates: 2026-09-29 to 2026-09-29. This is a reading count, not a comparison with another build.

Alternatives

Relationships

  • ISERR is ISNA's exact complement inside the Error kind: ISERROR = ISERR OR ISNA, and the two are disjoint. See FUNC.ISERR for the full contrast table.
  • IFNA(value, value_if_na) supersedes the IF(ISNA(x), y, x) idiom for the common case: it evaluates x once and branches only on #N/A, leaving other errors to surface. Where IFNA fits, prefer it; ISNA remains the right tool when you need the boolean itself — as a mask, a count, or a conditional-format condition.
  • IFERROR is the wrong pair for ISNA: it catches #N/A and everything else, which is the mistake IFNA was added to Excel 2013 to fix.
  • NA() manufactures the value this predicate tests for. ISNA(NA()) is TRUE and is the cheapest smoke test of both functions at once.
  • ERROR.TYPE returns 7 for #N/A; ERROR.TYPE(v) = 7 is an equivalent condition on error input but errors rather than returning FALSE on non-error input.
  • VLOOKUP / XLOOKUP / MATCH / XMATCH are where #N/A comes from in practice. XLOOKUP's if_not_found argument removes the need for ISNA in the simple case; ISNA survives for the array and diagnostic cases.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents