Statistical functions

EXPON.DIST

Close: 1 of 49,370 recorded answers differ in the last bits, worst 1 ULP

Everything else matches (49,346 in the answer bank and 24 workbook cells). Last-bit means a finite number within 16 ULP of Excel's. How we measure this · See the Rust code

Local names in 40 languages
LanguageName in Excel
ArabicEXPON.DIST
BulgarianEXPON.DIST
CzechEXPON.DIST
DanishEKSP.FORDELING
GermanEXPON.DIST
GreekEXPON.DIST
English (Australia)EXPON.DIST
English (United Kingdom)EXPON.DIST
English (United States)EXPON.DIST
SpanishDISTR.EXP.N
EstonianEXPON.DIST
FinnishEKSPONENTIAALI.JAKAUMA
FrenchLOI.EXPONENTIELLE.N
HebrewEXPON.DIST
CroatianEXPON.DIST
HungarianEXP.ELOSZL
IndonesianEXPON.DIST
ItalianEXPON.DIST
JapaneseEXPON.DIST
KoreanEXPON.DIST
LithuanianEXPON.DIST
LatvianEXPON.DIST
NorwegianEKSP.FORDELING.N
DutchEXPON.VERD.N
PolishROZKŁ.EXP
Portuguese (Brazil)EXPON.DIST
Portuguese (Portugal)DIST.EXPON
RomanianEXPON.DIST
RussianЭКСП.РАСП
SlovakEXPON.DIST
SlovenianEXPON.DIST
Serbian (Latin)EXPON.DIST
SwedishEXPON.FÖRD
ThaiEXPON.DIST
TurkishÜSTEL.DAĞ
UkrainianEXPON.DIST
VietnameseEXPON.DIST
Chinese (Simplified)EXPON.DIST
Chinese (Hong Kong)EXPON.DIST
Chinese (Traditional)EXPON.DIST

Names from Microsoft's support site.

What it does

EXPON.DIST(x, lambda, cumulative)

EXPON.DIST(x, lambda, cumulative) models a nonnegative waiting time at a positive rate lambda. TRUE returns the probability of a wait no longer than x; FALSE returns a density at x. Rate has inverse-time units, so if x is in hours, lambda is per hour. The mathematical mean wait is 1/lambda.

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.

=EXPON.DIST(2,0.5,TRUE) is about 0.632120558828558: the rate-times-time product is one. About 63.2% of the modeled waits finish within two time units. Changing TRUE to FALSE gives density about 0.183939720585721.

=EXPON.DIST(0,2,FALSE) returns 2. A density can exceed one; it describes probability per unit of time. It is not the probability of a wait lasting exactly zero.

Quirks

Negative x or a nonpositive rate gives #NUM!; nonnumeric numeric arguments give #VALUE!. Zero time is admitted: the CDF is zero and the density is the rate. Do not pass a mean waiting time as lambda without taking its reciprocal.

A naive 1-exp(-lambda*x) can erase a small positive CDF when the exponential rounds to one. The current route has an explicit correction for this case. It also checks the stored rate-times-time product for overflow and flushes a subnormal product to zero, so a representable small CDF is not enough by itself to predict the published result.

How to implement

The current kernel uses R for the stored arithmetic operation, with the measured public LN and EXP leaves.

  1. Validate x>=0 and lambda>0. Store t=R(lambda*x). A nonfinite t gives #NUM!; replace a subnormal t with zero.
  2. For density, obtain u=EXP(-t) and return R(lambda*u) under the finite-result policy.
  3. For the CDF, obtain the same u. If it is exactly one, return t.
  4. Otherwise store d=R(u-1). If t<1, store c=R(R(d*(-t))/LN(u)); otherwise use c=d. Return -c. Keep the product and division stores separate.
  5. The current finite-result helper turns nonfinite answers into #NUM! and flushes final subnormal answers to zero.

For the main example, t=1, u is about 0.36787944117144233, and the CDF is about 0.632120558828558. The density multiplies u by 0.5. At t=1e-20, the public exponential rounds to one; returning t preserves the small CDF that direct subtraction would lose.

This is the stored Kahan correction also used by the PMT discount recipe. The leaves and operation order are part of the candidate; substituting a language’s exp or expm1 can change final bits. The problem report retains a numerical residual, so this is not a whole-domain equality claim.

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.

EXPON.DIST · 4 lines · calc-func/src/catalogue/distributions.rs on GitHub
63 expon_dist "EXPON.DIST" (3, 3) [V "x", V "lambda", V "cumulative"] |s, a, sv| {
    let [x, lambda] = nums::<2>(s, a)?;
    out(s, dd::expon_dist_kernel(x, lambda, flag(s, a, 2)?))
}

Kernels shared with other functions

Argument and result plumbing

  • flag catalogue/kit
  • num catalogue/kit
  • out catalogue/kit

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
20131Windows, bitness not recorded, AMD Ryzen 7 4800H with Radeon Graphics39,412
20430Windows, 64-bit, CPU not recorded9,934

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 20131

Windows, bitness not recorded, AMD Ryzen 7 4800H with Radeon Graphics

39,412 captured inputs are indexed for this environment. Capture dates: 2026-07-17 to 2026-07-23. This is a reading count, not a comparison with another build.

Excel 16.0 build 20430

Windows, 64-bit, CPU not recorded

9,934 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

GAMMA.DIST with shape one is related, but its scale transformation has its own stores. WEIBULL.DIST generalises the waiting-time shape.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents