Compatibility

LOGNORMDIST

Close: 2,143 of 3,304 recorded answers differ in the last bits, worst 9 ULP

Everything else matches (3,299 in the answer bank and 5 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
ArabicLOGNORMDIST
BulgarianLOGNORMDIST
CzechLOGNORMDIST
DanishLOGNORMFORDELING
GermanLOGNORMDIST
GreekLOGNORMDIST
English (Australia)LOGNORMDIST
English (United Kingdom)LOGNORMDIST
English (United States)LOGNORMDIST
SpanishDISTR.LOG.NORM
EstonianLOGNORMDIST
FinnishLOGNORM.JAKAUMA
FrenchLOI.LOGNORMALE
HebrewLOGNORMDIST
CroatianLOGNORMDIST
HungarianLOG.ELOSZLÁS
IndonesianLOGNORMDIST
ItalianLOGNORMDIST
JapaneseLOGNORMDIST
KoreanLOGNORMDIST
LithuanianLOGNORMDIST
LatvianLOGNORMDIST
NorwegianLOGNORMDIST
DutchLOG.NORM.VERD
PolishROZKŁAD.LOG
Portuguese (Brazil)LOGNORMDIST
Portuguese (Portugal)DIST.NORMALLOG
RomanianLOGNORMDIST
RussianЛОГНОРМРАСП
SlovakLOGNORMDIST
SlovenianLOGNORMDIST
Serbian (Latin)LOGNORMDIST
SwedishLOGNORMFÖRD
ThaiLOGNORMDIST
TurkishLOGNORMDAĞ işlevi
UkrainianLOGNORMDIST
VietnameseLOGNORMDIST
Chinese (Simplified)LOGNORMDIST
Chinese (Hong Kong)LOGNORMDIST
Chinese (Traditional)LOGNORMDIST

Names from Microsoft's support site.

What it does

LOGNORMDIST(x, mean, standard_dev)

LOGNORMDIST(x,mean,standard_dev) returns the probability that a positive lognormal variable is no greater than x. Its mean and standard deviation arguments describe ln(X), not X. This legacy function always returns a cumulative probability; it has no density switch.

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.

=LOGNORMDIST(1,0,1) returns 0.5: ln(1) is the centre of the specified normal distribution. With the same positive spread, values below one have probabilities below one half and values above one have probabilities above one half.

=LOGNORMDIST(EXP(1),1,0.5) is approximately 0.5. Mathematically, the median is exp(mean); in a worksheet composition, the stored EXP result and the later logarithm can introduce their own rounding.

Quirks

Nonpositive x or nonpositive standard deviation gives #NUM!; nonnumeric arguments give #VALUE!. A negative log-space mean is allowed. All three arguments are required, and adding a fourth cumulative flag does not turn this spelling into LOGNORM.DIST.

The two tails are asymmetric in the original units even though ln(X) is normal. A CDF near one can round to one, so subtracting it from one may lose a small upper-tail probability. The standardization must use the log-space parameters, not statistics calculated directly from untransformed observations.

How to implement

The current shared kernel performs these steps:

  1. Validate positive finite x and positive finite sigma.
  2. Obtain the internal CRT logarithm L=crt_log(x).
  3. Store the ordinary binary64 subtraction and division z=(L-mean)/sigma.
  4. Evaluate the shared standard-normal CDF at z.

At x=1,mean=0, the logarithm and standardized value are zero and the CDF is one half. The standard-normal CDF has its own stored argument transformation and complementary-error dependency; its upper ERFC body remains open.

The code retains a 45-control public-composition observation on the modern spelling, but a later larger bank distinguishes the internal CRT log from worksheet LN at a named control. Thus NORM.DIST(LN(x),mean,sigma,TRUE) is a useful mathematical composition, not permission to replace the internal log on every input. This wrapper is shared by the current legacy implementation; the modern observation alone does not measure every legacy call.

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.

LOGNORMDIST · 4 lines · calc-func/src/catalogue/distributions.rs on GitHub
10 lognormdist "LOGNORMDIST" (3, 3) [V "x", V "mean", V "standard_dev"] |s, a, sv| {
    let [x, m, sd_] = nums::<3>(s, a)?;
    out(s, nl::lognorm_dist_kernel(x, m, sd_, true))
}

Kernels shared with other functions

Argument and result plumbing

  • 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 Graphics3,299

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

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

Alternatives

LOGNORM.DIST is the modern spelling. NORM.DIST describes the normal variable in log space.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents