Information functions

ISREF

Matches all 1,252 recorded answers

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

ISREF(value)

ISREF(value) returns TRUE when the argument it receives is a reference — a designator for one or more cell ranges — and FALSE when it is any other kind of value.

Microsoft's condition: "Value refers to a reference."

The kinds it answers TRUE for are the reference shapes listed in the value universe: single cell (A1), area (A1:B10), multi-area union, three-dimensional (Sheet1:Sheet3!A1), structured (Table1[Amount]) and spill anchor (B1#). Whether every one of those shapes actually answers TRUE in Excel is listed below as unmeasured.

Arguments

value — required, exactly one.

The argument is not a values position. It is the only IS-family argument that is not, and that is the entire design of the function. Two consequences follow:

  1. What you write in the call matters, not what it evaluates to. ISREF(A1) asks about the expression A1, not about the number sitting in A1. ISREF(1) is FALSE because the literal 1 is not a reference, regardless of what A1 contains.
  2. Reference-producing functions can be tested. ISREF(INDIRECT("A1")) and ISREF(OFFSET(A1,1,1)) ask whether those calls produced a usable reference, and that is the idiom the function exists for.

The classic use is validating a sheet name before building a reference from text: ISREF(INDIRECT("'"&name&"'!A1")) is TRUE when the sheet exists and FALSE when it does not, which is how a workbook checks for a sheet without a macro.

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

  • ISREF(#REF!) is the interesting case. #REF! is an Error value, not a reference — the reference it once designated is gone. The expected answer is therefore FALSE, which means ISREF is not a "is this reference still valid?" test in the way its name suggests; it is closer to one, because a broken reference degrades to an error rather than staying a reference. This has not been measured here and it is the first thing this page would probe.
  • An array literal is FALSE. {1,2;3,4} is an Array, a different kind entirely.
  • A defined name that names a range is expected TRUE; a defined name that names a constant or a formula is expected FALSE. Not measured here.
  • A spill anchor B1# designates a range and is expected TRUE. Not measured here.
  • Numbers, text, logicals, errors and empties are all FALSE.

Errors

Note the asymmetry worth remembering: ISREF returns FALSE where you might expect an error, because "not a reference" is an answer, not a failure. INDIRECT of a bad address returns #REF!; ISREF of that #REF! returns FALSE. The error is produced by the inner function, never by ISREF.

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

How to implement

Notes for implementers

  1. ISREF cannot be implemented on a values-only pipeline. If the dispatch layer resolves references before calling, ISREF will return FALSE for everything, silently. This is the function that proves an engine has a reference-aware argument path at all.
  2. Do not dereference inside the function either. ISREF must not touch the cells the reference designates; it inspects the designator. Dereferencing turns a cheap test into a potentially expensive one and can raise errors that ISREF should never produce.
  3. Every reference shape needs an explicit decision. Single cell, area, multi-area, 3-D, structured, spill anchor — six shapes, and an engine that models only the first two will quietly disagree with Excel on the rest.
  4. No array lift. ISREF is a single-argument inspection, not an elementwise classifier. Routing it through the family's lift helper would change its behaviour on array arguments.

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.

ISREF · 1 lines · calc-func/src/catalogue/information.rs on GitHub
unary(ISREF, "ISREF", VALUE_OR_REFERENCE, isref)
isref · 15 lines · calc-func/src/catalogue/information.rs on GitHub
/// ISREF: TRUE for a reference, of any number of cells or areas, blank cells included; FALSE for
/// every other value, an array and an error among them. Nothing is read.
fn isref(
    arguments: &[CalcValue],
    services: &mut EvalServices<'_>,
) -> Result<CalcValue, FunctionFault> {
    let site = Site::new(ISREF, services);
    let argument = &arguments[0];
    let step = match argument.core_ref() {
        CoreRef::Reference(_) => Ok(CalcValue::logical(true)),
        CoreRef::Array(_) => Ok(CalcValue::logical(false)),
        _ => scalar(&site, argument).map(|_| CalcValue::logical(false)),
    };
    Site::finish(step)
}

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

  • INDIRECT is ISREF's usual companion: INDIRECT builds a reference from text at evaluation time (eval_time_deref) and ISREF reports whether the build succeeded.
  • OFFSET, INDEX (reference form), CHOOSE over ranges also produce references and can be tested the same way.
  • AREAS counts the areas in a reference; between them, ISREF and AREAS are the two functions that treat a reference as an object rather than as a source of values.
  • ROW, COLUMN, CELL, SHEET, ISFORMULA, FORMULATEXT are the other reference-aware functions in this Handbook's catalogue; they share ISREF's argument-preparation deviation and none of its semantics.
  • ISERROR is what you want if the real question is "did this expression break?" — ISREF answers a narrower and different question.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents