Engineering functions

GESTEP

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

Of 1,100 recorded answers (1,096 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
ArabicGESTEP
BulgarianGESTEP
CzechGESTEP
DanishGETRIN
GermanGESTEP
GreekGESTEP
English (Australia)GESTEP
English (United Kingdom)GESTEP
English (United States)GESTEP
SpanishMAYOR.O.IGUAL
EstonianGESTEP
FinnishRAJA
FrenchSUP.SEUIL
HebrewGESTEP
CroatianGESTEP
HungarianKÜSZÖBNÉL.NAGYOBB
IndonesianGESTEP
ItalianGESTEP
JapaneseGESTEP
KoreanGESTEP
LithuanianGESTEP
LatvianGESTEP
NorwegianGRENSEVERDI
DutchGROTER.DAN
PolishSPRAWDŹ.PRÓG
Portuguese (Brazil)GESTEP
Portuguese (Portugal)DEGRAU
RomanianGESTEP
RussianПОРОГ
SlovakGESTEP
SlovenianGESTEP
Serbian (Latin)GESTEP
SwedishSLSTEG
ThaiGESTEP
TurkishBESINIR işlevi
UkrainianGESTEP
VietnameseGESTEP
Chinese (Simplified)GESTEP
Chinese (Hong Kong)GESTEP
Chinese (Traditional)GESTEP

Names from Microsoft's support site.

What it does

GESTEP(number, [step])

GESTEP(number, [step]) returns numeric one when number>=step, and zero otherwise. The omitted threshold is zero. Equality belongs to the one-result side of the boundary.

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.

=GESTEP(6,6) returns 1; =GESTEP(5,6) returns 0; =GESTEP(-0.5) returns 0. The threshold itself is included.

Quirks

The recorded wrapper reads the threshold before the first number. GESTEP(TRUE,#REF!) therefore returns #REF!, while GESTEP(#REF!,TRUE) returns #VALUE!. A logical is rejected in either slot, including through a cell reference; a blank cell instead reads as zero.

The represented number at the threshold gives one. There is no tolerance band. DELTA tests equality alone and does not include larger values.

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

First read the optional threshold, using zero if omitted. Apply the nonlogical numeric conversion and return its error before reading the first number. Read the first number under the same rules. This is the second-argument-first order retained in the recorded controls.

Evaluate number>=step and map the result to numeric one or zero. In the example 6>=6 selects one. Preserve errors and failed conversion separately from a valid false comparison; an implementation that catches every failure and returns zero loses this distinction. Array lifting, if supplied by the host, must preserve its own error ordering.

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.

GESTEP · 5 lines · calc-func/src/catalogue/engineering.rs on GitHub
71 gestep "GESTEP" (1, 2) [V "number", V "step"] |s, a, sv| {
    let step = 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::gestep_fn::gestep_kernel(x, step))
}
gestep_kernel · 3 lines · calc-func/src/ported/gestep_fn.rs on GitHub
pub fn gestep_kernel(number: f64, step: f64) -> Result<f64, WorksheetErrorCode> {
    Ok(if number >= step { 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,096

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

=GESTEP(TRUE,#REF!) returned #REF!. =GESTEP(#REF!,TRUE) returned #VALUE!. Inputs were supplied through formula literals. These are controls from this environment, not a same-input comparison with another build.

Observed formulas and results
  • =GESTEP(TRUE,#REF!) → #REF! (formula-literal)
  • =GESTEP(#REF!,TRUE) → #VALUE! (formula-literal)

Excel 16.0 build 20430

Windows, 64-bit, CPU not recorded

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

DELTA identifies equal values; COUNTIF counts values at or above a threshold; IF selects arbitrary results.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents