Engineering functions

DELTA

Refuses 4 of 1,096 recorded calls; the rest match

Of 1,096 recorded answers (1,092 in the answer bank and 4 workbook cells), 4 do not match: 4 are refused. How we measure this · See the Rust code

Local names in 40 languages
LanguageName in Excel
ArabicDELTA
BulgarianDELTA
CzechDELTA
DanishDELTA
GermanDELTA
GreekDELTA
English (Australia)DELTA
English (United Kingdom)DELTA
English (United States)DELTA
SpanishDELTA
EstonianDELTA
FinnishSAMA.ARVO
FrenchDELTA
HebrewDELTA
CroatianDELTA
HungarianDELTA
IndonesianDELTA
ItalianDELTA
Japanese差分
Korean델타
LithuanianDELTA
LatvianDELTA
NorwegianDELTA
DutchDELTA
PolishCZY.RÓWNE
Portuguese (Brazil)DELTA
Portuguese (Portugal)DELTA
RomanianDELTA
RussianДЕЛЬТА
SlovakDELTA
SlovenianDELTA
Serbian (Latin)DELTA
SwedishDELTA
ThaiDELTA
TurkishDELTA
UkrainianDELTA
VietnameseDELTA
Chinese (Simplified)增量
Chinese (Hong Kong)DELTA
Chinese (Traditional)DELTA

Names from Microsoft's support site.

What it does

DELTA(number1, [number2])

DELTA(number1, [number2]) returns numeric one when the two numbers are equal and zero otherwise. The second number defaults to zero. It is an equality indicator, not an approximate-comparison function.

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.

=DELTA(6,6) returns 1; =DELTA(6,7) returns 0; =DELTA(0) returns 1. Summing such results counts exact matches.

Quirks

The recorded wrapper rejects logicals in either position, including TRUE held in a cell, with #VALUE!. A referenced blank instead reads as zero. Errors reveal the read order: DELTA(TRUE,#REF!) returns #REF!, while DELTA(#REF!,TRUE) returns #VALUE!, because the second scalar is read first.

Equality applies to the represented inputs, with no tolerance. Mathematically equal decimal expressions can arrive as different binary64 values. A tolerance comparison is a different operation.

DELTA and GESTEP read their second argument first

When both arguments of DELTA or GESTEP are bad, the error comes from the second one: DELTA(TRUE,#REF!) is #REF! and DELTA(#REF!,TRUE) is #VALUE!. With two errors, DELTA gives the second. ERF reads left to right: ERF(TRUE,#REF!) is #VALUE! and ERF(#REF!,TRUE) is #REF!. A logical is rejected in either position of these functions, whether typed or held in a cell: DELTA(TRUE,0) and DELTA(2,TRUE) are #VALUE!, and DELTA(B1,0) with TRUE in B1 is #VALUE!, while an empty B1 reads as 0 and gives 1.

FormulaExcelMathematical value
=DELTA(TRUE,#REF!)
Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA
Inputs and reference value

Typed formula.

#REF!—
=DELTA(#REF!,TRUE)
Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA
Inputs and reference value

Typed formula.

#VALUE!—
=GESTEP(TRUE,#REF!)
Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA
Inputs and reference value

Typed formula.

#REF!—
=GESTEP(#REF!,TRUE)
Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA
Inputs and reference value

Typed formula.

#VALUE!—
=ERF(TRUE,#REF!)
Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA
Inputs and reference value

Typed formula.

#VALUE!—
=ERF(#REF!,TRUE)
Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA
Inputs and reference value

Typed formula.

#REF!—
DELTA(A1, A2)
Excel 16.0.20527.20088, Windows, bitness and CPU not recorded in this reading file
Inputs and reference value

Number supplied through a cell.

number1: #N/A

number2: #REF!

#REF!—
=DELTA(B1,0)
Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA
Inputs and reference value

Number supplied through a cell.

B1: TRUE

#VALUE!—
=DELTA(B1,0)
Excel 16.0.20527.20088 Current Channel, Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA
Inputs and reference value

Number supplied through a cell.

B1: (empty cell)

1
0x3ff0000000000000
—

Inputs, build details and evidence

How to implement

Read and convert the supplied second scalar first, or use zero when it is omitted. Reject a logical and return an error encountered in that position before reading the first scalar. Then read the first scalar under the same nonlogical numeric rules. A referenced blank is numeric zero.

Compare the admitted numbers for equality and return numeric one or zero, rather than logical TRUE or FALSE. For (6,6) the indicator is one. If both inputs are errors, the recorded result is the second error. This read order is part of the implementation; validating left to right changes the answer before the equality test is reached.

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.

DELTA · 6 lines · calc-func/src/catalogue/engineering.rs on GitHub
70 delta "DELTA" (1, 2) [V "number1", V "number2"] |s, a, sv| {
    // Excel reads the second scalar before the first, including conversion errors.
    let y = if given(a, 1) { super::kit::num_without_logical(s, a, 1)? } else { 0.0 };
    let x = super::kit::num_without_logical(s, a, 0)?;
    out(s, k::delta_fn::delta_kernel(x, y))
}
delta_kernel · 3 lines · calc-func/src/ported/delta_fn.rs on GitHub
pub fn delta_kernel(lhs: f64, rhs: f64) -> Result<f64, WorksheetErrorCode> {
    Ok(if lhs == rhs { 1.0 } else { 0.0 })
}

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,092

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.20527.20088

Windows 64-bit (NT 10.0.26200), x86-64, AMD Ryzen 7 4800H, en-ZA

=DELTA(TRUE,#REF!) returned #REF!. =DELTA(#REF!,TRUE) returned #VALUE!. 2 further recorded controls are attached. Inputs were supplied through cells using Value2, formula literals. These are controls from this environment, not a same-input comparison with another build.

Observed formulas and results
  • =DELTA(TRUE,#REF!) → #REF! (formula-literal)
  • =DELTA(#REF!,TRUE) → #VALUE! (formula-literal)
  • =DELTA(B1,0) → #VALUE! (cell-value2)
  • =DELTA(B1,0) → 1
    0x3ff0000000000000 (cell-value2)

Excel 16.0.20527.20088

Windows, bitness and CPU not recorded in this reading file

DELTA(A1, A2) returned #REF!. Inputs were supplied through cells using Value2. These are controls from this environment, not a same-input comparison with another build.

Observed formulas and results
  • DELTA(A1, A2) → #REF! (cell-value2)

Excel 16.0 build 20430

Windows, 64-bit, CPU not recorded

1,092 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

--(a=b) expresses a worksheet equality indicator; GESTEP tests an inclusive threshold; COUNTIF counts matches over a range.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents