Information functions

ISLOGICAL

Matches all 1,238 recorded answers

Recorded: 1,227 in the answer bank and 11 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

ISLOGICAL(value)

ISLOGICAL(value) returns TRUE when the value it receives has kind Logical — that is, when it is the boolean TRUE or the boolean FALSE — and FALSE for every other kind.

Microsoft's condition: "Value refers to a logical value."

Logical is a distinct kind, not a number (the value universe). It converts to 1 or 0 on demand in arithmetic contexts, which is why TRUE+0 is 1 and SUM(TRUE) is 1, but the conversion is a coercion performed by the consuming function, not a property of the value. ISLOGICAL classifies before any of that happens, so:

  • ISLOGICAL(TRUE) is TRUE
  • ISLOGICAL(1) is FALSE
  • ISLOGICAL("TRUE") is FALSE — the string, not the boolean
  • ISLOGICAL(1=1) is TRUE — comparison operators produce Logical values

The last line is the useful one: ISLOGICAL is the way to confirm that a comparison, a NOT/AND/OR result, or an ISxxx result really is a boolean and not a number that happens to be 1 or 0.

Arguments

value — required, exactly one.

Not converted. Microsoft's remark: "The value arguments of the IS functions are not converted." The to-logical primitive described in coercion and lifting — under which zero becomes FALSE, nonzero becomes TRUE, and in some contexts the strings "TRUE"/"FALSE" are accepted — is exactly what ISLOGICAL does not do. Whether text that names a logical is accepted at all is per-family policy elsewhere in Excel; here it is settled, because no conversion is attempted.

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.

  • FALSE is a logical. ISLOGICAL(FALSE) is TRUE. The predicate is about the kind, not the truth value, and an implementation that special-cases falsiness will get this wrong.
  • 0 and 1 are FALSE. Numbers, whatever their value.
  • The strings "TRUE" and "FALSE" are FALSE. They are Text.
  • Empty is FALSE. A blank cell is not a logical, even though most boolean contexts treat it as FALSE.
  • Error is FALSE and does not propagate; ISLOGICAL is one of the declared per-family exceptions to the propagation discipline in coercion and lifting.
  • Logicals in scanned ranges are ignored by some aggregates even though they are present as values. That is a scan-policy fact about SUM and friends, not about ISLOGICAL, but it is the same underlying kind distinction seen from the other side, and it is why a column of TRUE/FALSE can be simultaneously "logical" to ISLOGICAL and invisible to SUM.
  • Arrays are classified elementwise into a same-shaped mask.

Errors

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

How to implement

Notes for implementers

  1. Model Logical as its own kind. An engine that represents booleans as numbers 1 and 0 cannot implement ISLOGICAL at all, and cannot implement TYPE either. This is the single design decision the function polices.
  2. Do not accept "TRUE"/"FALSE" text. The to-logical primitive's text acceptance is per-family policy elsewhere; it must not leak into a kind test.
  3. ISLOGICAL(FALSE) must be TRUE. Worth an explicit test, because a naive "is it truthy?" shortcut passes every other case.
  4. The kind must survive comparison operators. 1=1 has to produce a Logical, not a number, or ISLOGICAL will report FALSE on the most natural way of producing a boolean.

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.

ISLOGICAL · 1 lines · calc-func/src/catalogue/information.rs on GitHub
unary(ISLOGICAL, "ISLOGICAL", VALUE, islogical)
islogical · 9 lines · calc-func/src/catalogue/information.rs on GitHub
/// ISLOGICAL: TRUE for TRUE and FALSE; their text is text.
fn islogical(
    arguments: &[CalcValue],
    services: &mut EvalServices<'_>,
) -> Result<CalcValue, FunctionFault> {
    predicate(ISLOGICAL, arguments, services, scalar, |core| {
        matches!(core, CoreRef::Logical(_))
    })
}

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

  • TYPE returns 4 for exactly the values ISLOGICAL calls TRUE. 4 is the odd number out in the TYPE code table — 1, 2, 4, 16, 64 — and the gap at 8 is a reminder that these are bit flags by origin.
  • ISNUMBER is the predicate people reach for when they want "is it 1 or 0 or TRUE or FALSE?" and it will not give them that; ISNUMBER(TRUE) is FALSE and ISLOGICAL(1) is FALSE, so neither predicate alone covers the union. OR(ISNUMBER(x), ISLOGICAL(x)) does.
  • N converts a logical to 1 or 0 — the conversion ISLOGICAL declines to perform. N is the standard way to turn a Logical mask into a summable numeric mask, as is the double unary --.
  • TRUE() and FALSE() manufacture the values this predicate tests for.
  • ISNONTEXT is TRUE for logicals too, but for six other kinds as well; ISLOGICAL is the precise test.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents