Known larger differences on 3,891 of 7,815 recorded answers
Of 7,815 recorded answers (7,809 in the answer bank and 6 workbook cells), 3,891 do not match: 559 differ by more than 16 ULP, 3,332 differ by at most 16 ULP. How we measure this · See the Rust code
Local names in 40 languages
Language
Name in Excel
Arabic
LOGNORM.DIST
Bulgarian
LOGNORM.DIST
Czech
LOGNORM.DIST
Danish
LOGNORM.FORDELING
German
LOGNORM.DIST
Greek
LOGNORM.DIST
English (Australia)
LOGNORM.DIST
English (United Kingdom)
LOGNORM.DIST
English (United States)
LOGNORM.DIST
Spanish
DISTR.LOGNORM
Estonian
LOGNORM.DIST
Finnish
LOGNORM_JAKAUMA
French
LOI.LOGNORMALE.N
Hebrew
LOGNORM.DIST
Croatian
LOGNORM.DIST
Hungarian
LOGNORM.ELOSZLÁS
Indonesian
LOGNORM.DIST
Italian
LOGNORM.DIST
Japanese
LOGNORM.DIST
Korean
LOGNORM.DIST
Lithuanian
LOGNORM.DIST
Latvian
LOGNORM.DIST
Norwegian
LOGNORM.DIST
Dutch
LOGNORM.VERD
Polish
ROZKŁ.LOG
Portuguese (Brazil)
LOGNORM.DIST
Portuguese (Portugal)
DIST.NORMLOG
Romanian
LOGNORM.DIST
Russian
ЛОГНОРМ.РАСП
Slovak
LOGNORM.DIST
Slovenian
LOGNORM.DIST
Serbian (Latin)
LOGNORM.DIST
Swedish
LOGNORM.FÖRD
Thai
LOGNORM.DIST
Turkish
LOGNORM.DAĞ
Ukrainian
LOGNORM.DIST
Vietnamese
LOGNORM.DIST
Chinese (Simplified)
LOGNORM.DIST
Chinese (Hong Kong)
LOGNORM.DIST
Chinese (Traditional)
LOGNORM.DIST
Names from Microsoft's support site.
What it does
LOGNORM.DIST(x, mean, standard_dev, cumulative)
LOGNORM.DIST(x, mean, standard_dev, cumulative) evaluates the lognormal distribution.
A positive random variable X is lognormal with parameters μ and σ when ln X is normal
with mean μ and standard deviation σ. The two functions follow by change of variable:
where Φ is the standard normal CDF. That second identity is the entire mathematical content
of the function: the lognormal CDF is the normal CDF of the standardised logarithm. The
1/x factor in the density is the Jacobian of the substitution u = ln x, and it is the only
place the two forms differ structurally.
The parameters are those of ln X, not of X. This is the single most common misreading
of this function, and it is worth setting the record out explicitly:
Quantity of X
Expression
median
e^μ
mean
exp(μ + σ²/2)
mode
exp(μ − σ²)
variance
(e^{σ²} − 1)·e^{2μ + σ²}
So mean = 0, standard_dev = 1 describes a distribution whose median is 1 and whose mean is
√e ≈ 1.6487. Passing the sample mean and standard deviation of the data into this function
gives an answer to a different question. The correct parameter estimates are the mean and
standard deviation of the logged data.
Domain.x > 0, σ > 0, μ any real. Range: the density is positive and unbounded
above as σ → 0; the CDF is confined to (0, 1), is strictly increasing on (0, ∞), and
satisfies F(0⁺) = 0, F(∞) = 1. The distribution is right-skewed for every σ > 0, with
skewness (e^{σ²} + 2)·√(e^{σ²} − 1), and all its moments are finite even though its
moment-generating function does not exist — a standard textbook curiosity, and the reason the
lognormal is not determined by its moments.
The two forms are related by differentiation, f = F′, and a correct implementation
should satisfy that relation numerically to within the accuracy of Φ and ln; it is a
usable self-check.
Arguments
Argument
Meaning
Admissible values
x
The value at which the distribution is evaluated
x > 0; required
mean
μ, the mean of ln X
Any finite real; required
standard_dev
σ, the standard deviation of ln X
σ > 0; required
cumulative
TRUE for the CDF, FALSE for the density
Logical; required
All four are scalar slots governed by ordinary to-number and to-logical coercion — see
Coercion and lifting.
Try it
Quirks
Result and edge cases
Returns Number.
x → 0⁺ — the CDF tends to zero and the density tends to zero as well, because
exp(−(ln x)²/2σ²) beats the 1/x blow-up. The density therefore has a removable-looking
but genuinely zero limit at the origin, which is why the lognormal density is smooth at 0
even though the formula has a pole there.
Very large x — the CDF approaches 1 and, in double precision, reaches it: once
(ln x − μ)/σ exceeds roughly 8.3, Φ rounds to exactly 1.0 and every distinction in
the upper tail is lost. See Numerical notes; this is a representational limit, not an
implementation defect, and it is the reason there is no way to compute a small upper-tail
probability from this function.
Very small x — the CDF underflows to zero once the standardised value falls below
roughly −38, and the density underflows sooner because of the extra factor.
σ very small — the distribution concentrates at e^μ; the density there behaves like
1/(e^μ σ√(2π)) and overflows for σ small enough. A density that overflows to #NUM! on
a legitimate parameter is a real edge, and where the boundary falls is unverified.
Errors
Error
Condition
Basis
#NUM!
x ≤ 0, or standard_dev ≤ 0
Documented by Microsoft on the LOGNORM.DIST page
#VALUE!
Any argument is non-numeric (or cumulative is not interpretable as a logical)
Documented; also the shared coercion rule
propagated
An error value in any argument
Shared coercion rule, chapter 02
How to implement
Numerical notes
LOGNORM.DIST performs almost no arithmetic of its own. Its accuracy is the accuracy of two
imported primitives, and the interesting engineering is entirely in how they are used.
The composition. The cumulative form is Φ(z) with z = (ln x − μ)/σ. Error enters at
three points:
ln x — a correctly rounded logarithm gives z a relative error of about one ulp in
the logarithm, which becomes an absolute error in z of about |ln x|·ε/σ. For large
x and small σ this is amplification: x = 10¹⁰⁰ gives ln x ≈ 230, so an ulp of the
logarithm is around 3·10⁻¹⁴, divided by σ.
The subtraction ln x − μ — cancellation when ln x ≈ μ, i.e. near the median. The
relative error of z there is unbounded, though the absolute error stays small, and
since Φ is Lipschitz with constant 1/√(2π) near zero the CDF value is still accurate in
absolute terms. This is the usual and acceptable trade.
Φ(z) — the normal CDF, whose own accuracy is the subject of a long literature.
The upper-tail problem.Φ(z) → 1 and there is no way back. In double precision
Φ(z) = 1.0 exactly for z ≳ 8.3, and long before that the returned value has no significant
digits in 1 − Φ(z). Any calculation that needs a small exceedance probability —
value-at-risk, reliability, tail pricing — must not compute 1 − LOGNORM.DIST(...). The
mathematically correct route uses the complement directly, 1 − Φ(z) = Φ(−z) = ½·erfc(z/√2),
which is accurate to full relative precision for z out to about 37 before erfc itself
underflows. Excel exposes no complementary lognormal CDF, so the workaround inside the
worksheet is LOGNORM.DIST(1/x, −μ, σ, TRUE), using the reflection identity: if X is
lognormal (μ, σ) then 1/X is lognormal (−μ, σ). That identity is exact and gives back
the upper tail as a lower tail. It is the single most useful practical fact on this page.
The reference literature. For Φ and erfc: Abramowitz and Stegun chapter 26, whose
formulas 26.2.16 to 26.2.19 are the classical series and continued-fraction expansions and
whose 26.2.17 rational approximation is the one embedded in an enormous amount of legacy code
at about seven decimal digits; Cody's rational Chebyshev approximations for erf/erfc
(Rational Chebyshev approximation for the error function, Math. Comp. 1969) and his ALGORITHM
715 / SPECFUN implementations, which are the accuracy standard; Hart et al., Computer
Approximations; and the treatments in Boost.Math and Cephes. For ln: fdlibm's
__ieee754_log and its glibc and musl descendants; Muller, Elementary Functions, for the
argument-reduction theory.
The published critique record on Excel's statistical distributions — McCullough and Wilson's
accuracy papers, Knüsel's assessments of statistical distribution accuracy in spreadsheets, and
Morten Welinder's work on Gnumeric's statistical functions — is the relevant background for
this family. The Handbook names it as literature and does not assert what Excel computes
internally.
A note on the density.f(x) should be evaluated as exp(−z²/2) / (x·σ·√(2π)), not by
exponentiating a difference of logarithms, and the √(2π) constant should be a correctly
rounded literal rather than computed as sqrt(2*PI()). For very negative −z²/2 the
exponential underflows gradually; returning a subnormal is better than returning zero, and
whether that happens is observable.
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.
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 build
Platform and CPU
Captured inputs
20131
Windows, bitness not recorded, AMD Ryzen 7 4800H with Radeon Graphics
3,299
20430
Windows, 64-bit, AMD Ryzen 7 4800H with Radeon Graphics
3,005
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.
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.
Excel 16.0 build 20430
Windows, 64-bit, AMD Ryzen 7 4800H with Radeon Graphics
3,005 captured inputs are indexed for this environment. Capture dates: 2026-09-24 to 2026-09-25. This is a reading count, not a comparison with another build.
Alternatives
Relationships
LOGNORMDIST — the legacy three-argument, cumulative-only
spelling, retained in the Compatibility category. The documented relationship is
LOGNORMDIST(x, μ, σ) = LOGNORM.DIST(x, μ, σ, TRUE). That is an equality of documented
meaning, not a demonstrated equality of computation. Two surfaces that document the same
value may be reached by different code with different rounding; proving they return the same
bits requires evidence, and the Handbook has none. Both of the evidence records attached to
this page treat LOGNORM.DIST and LOGNORMDIST as an unresolved pair for exactly this
reason — one of them notes that the upstream sentence carrying the only relevant figure does
not say which of the two spellings was probed.
LOGNORM.INV — the quantile function, and the exact inverse in the
mathematical sense: LOGNORM.INV(LOGNORM.DIST(x, μ, σ, TRUE), μ, σ) = x. The round trip is
the natural metamorphic probe for both surfaces.
WEIBULL.DIST, GAMMA.DIST — the other
right-skewed positive-support distributions readers choose between. The lognormal is the
one with the multiplicative central-limit justification: a product of many independent
positive factors tends to lognormal, as a sum tends to normal.
Confused with: the normal distribution of the data itself, and — persistently — with the
meaning of the mean argument. See above.