Information functions
ISOMITTED
Matches all 5 recorded answers
Recorded: 5 workbook cells. How we measure this · See the Rust code
Local names in 40 languages
| Language | Name in Excel |
|---|---|
| Arabic | ISOMITTED |
| Bulgarian | ISOMITTED |
| Czech | ISOMITTED |
| Danish | ISOMITTED |
| German | ISOMITTED |
| Greek | ISOMITTED |
| English (Australia) | ISOMITTED |
| English (United Kingdom) | ISOMITTED |
| English (United States) | ISOMITTED |
| Spanish | ISOMITTED |
| Estonian | ISOMITTED |
| Finnish | ISOMITTED |
| French | ISOMITTED |
| Hebrew | ISOMITTED |
| Croatian | ISOMITTED |
| Hungarian | ISOMITTED |
| Indonesian | ISOMITTED |
| Italian | ISOMITTED |
| Japanese | ISOMITTED |
| Korean | ISOMITTED |
| Lithuanian | ISOMITTED |
| Latvian | ISOMITTED |
| Norwegian | ISOMITTED |
| Dutch | ISOMITTED |
| Polish | ISOMITTED |
| Portuguese (Brazil) | ISOMITTED |
| Portuguese (Portugal) | ISOMITTED |
| Romanian | ISOMITTED |
| Russian | ПРОПУЩЕНО |
| Slovak | ISOMITTED |
| Slovenian | ISOMITTED |
| Serbian (Latin) | ISOMITTED |
| Swedish | ÄRUTELÄMNAT |
| Thai | ISOMITTED |
| Turkish | ATLANMIŞ |
| Ukrainian | ISOMITTED |
| Vietnamese | ISOMITTED |
| Chinese (Simplified) | ISOMITTED |
| Chinese (Hong Kong) | ISOMITTED |
| Chinese (Traditional) | ISOMITTED |
Names from Microsoft's support site.
What it does
ISOMITTED(argument)
ISOMITTED(argument) returns TRUE if the argument slot it was handed was left empty at the
call site, and FALSE otherwise.
Microsoft's description: "Checks whether the value in a LAMBDA is missing and returns TRUE or FALSE." The argument is "The value you want to test, such as a LAMBDA parameter."
This is the only worksheet function whose subject is the value kind Missing — the marker
that, in Excel's value universe, exists at exactly one boundary and nowhere else. From
the value universe: Missing is "the marker for an argument
that was omitted at a call site"; it is never stored in a cell, never returned by a function,
never published by a formula. It is admitted at the call-argument boundary only.
ISOMITTED is how that marker becomes visible. Without it, Missing is a kind that exists in
the engine and can never be observed from the sheet.
The mechanism LAMBDA supplies is the second half of the story. LAMBDA lets a user define a
function with parameters; a caller may leave a parameter slot empty ((1,)); the empty slot
delivers Missing to the body; ISOMITTED reads it. Microsoft's own example:
=LAMBDA(x,y, IF(ISOMITTED(y),"Missing second argument",x+y))(1,)
That is the whole design pattern — optional parameters with defaults in user-defined
functions, which is what ISOMITTED exists to make possible. Before it, a LAMBDA could not
distinguish "you gave me nothing" from "you gave me zero".
Arguments
argument — required, exactly one. The published signature is ISOMITTED(value).
- The intended use is a bare
LAMBDAparameter name.ISOMITTED(y)inside the body of aLAMBDA(x,y,…). - An expression is not a slot.
ISOMITTED(y+0)cannot beTRUE— the addition produced a value, and a value is not missing. Wrapping the parameter in anything destroys the thing being tested. - Outside a
LAMBDAthere is nothing to be missing.=ISOMITTED(A1)on a worksheet is asking about a cell reference, which was supplied. The documented subject of this function is aLAMBDAparameter; using it anywhere else is not what it is for, and the Handbook has not established what it does there.
Try it
Quirks
Result and edge cases
Returns a Logical.
Missingis notEmpty. This is the distinction the whole function rests on. A parameter bound to a reference to a blank cell received something — theEmptykind — and is not omitted.ISOMITTEDshould beFALSEthere andISBLANKTRUE. The two functions cover the two different nothings, and the model keeps them separate precisely so that they can.- A parameter bound to
0or""is not omitted. The whole point. - Errors do not propagate.
ISOMITTED(#N/A)classifies rather than forwards, in the same way the IS-family predicates do — an error argument was supplied, so the answer isFALSE. - Trailing omission versus interior omission.
(1,)leaves a slot empty at the end;(,2)leaves one at the start. Both are omissions in the formula-text sense. Whether both deliverMissingis not established here. - Nested
LAMBDAs. A parameter forwarded from oneLAMBDAto another — does theMissingmarker survive the hop, so that the innerISOMITTEDsees it? Not established here, and this is the question that determines whether optional parameters compose.
Errors
ISOMITTED returns no error of its own for any argument it can be given.
Microsoft's page documents no error return.
How to implement
Notes for implementers
Missingmust survive argument binding. If aLAMBDAinvocation normalizes empty slots toEmptyor to0before binding parameters,ISOMITTEDcan never returnTRUE, and the failure is silent — every call just takes the non-default branch.ISOMITTEDmust not have its argument evaluated to a value first. It needs the binding, not the binding's value. This is a lazier argument treatment than any ordinary function's.Missingis admitted at exactly one boundary. It must never be storable in a cell, returnable from a function, or publishable as a result. An engine that letsMissingleak is creating a value Excel cannot represent.- Decide the nesting behaviour deliberately. Whether a forwarded parameter carries its
Missingmarker into an innerLAMBDAdetermines whether optional parameters compose, and it is not documented either way. - The battery cannot reach the
TRUEcase. Mechanical probing with ordinary values only ever exercisesFALSE. Any test corpus for this function must be constructed by hand, insideLAMBDAinvocations.
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.
ISOMITTED · 9 lines · calc-func/src/catalogue/offset.rs on GitHubCatalogueEntry {
id: ISOMITTED,
spelling: "ISOMITTED",
notation: Notation::Call,
arity: CallableArityShape::exact(1),
parameters: &[Parameter::value_or_reference("argument")],
demand: ArgumentDemand::Eager,
kernel: Kernel::Eager(isomitted),
}
isomitted · 9 lines · calc-func/src/catalogue/offset.rs on GitHub/// ISOMITTED(argument): TRUE when the argument is omitted, as a LAMBDA parameter its call did not
/// supply is (Excel 16.0, 2026-10-23: `=LAMBDA(x,[y],IF(ISOMITTED(y),x*2,x+y))(5)` is 10 and
/// `=ISOMITTED(1)` FALSE).
fn isomitted(
arguments: &[CalcValue],
_services: &mut EvalServices<'_>,
) -> Result<CalcValue, FunctionFault> {
Ok(CalcValue::logical(arguments[0].is_missing()))
}
Argument and result plumbing
Parameter::value_or_referencecatalogue
No implementation has been published with a Handbook test suite for this function.
Version differences
No comparison between specific Excel builds is recorded here yet. This does not establish that all builds behave alike.
Alternatives
Relationships
LAMBDAis the functionISOMITTEDexists to serve; outside it, the function has no subject.ISBLANKis the near neighbour and the standard confusion.ISBLANKtestsEmpty— a cell with no content.ISOMITTEDtestsMissing— a call-site slot with nothing in it. Two kinds, two functions, and the model deliberately refuses to conflate them (the value universe, "Missing versus Empty").MAP,REDUCE,SCAN,BYROW,BYCOL,MAKEARRAYshareISOMITTED's implementation module and its callable-helper classification. They consumeLAMBDAvalues;ISOMITTEDinspects aLAMBDA's own binding.IFis the invariable companion:IF(ISOMITTED(y), <default>, y)is the idiom, and it is worth noting thatIFis a lazy branch selector (the call pipeline), so the default expression is not evaluated when the parameter was supplied.LEToften appears alongside, to name the defaulted value once:LET(yy, IF(ISOMITTED(y), 10, y), …).- Optional arguments in built-in functions are the analogue this function brings to
user-defined ones: every built-in with an
[optional]slot performs internally the test thatISOMITTEDexposes.
Named variants
No named variants are recorded yet.
Suggest a correction or contribute an implementation · For agents