Compatibility
LOGINV
Close: 2 of 5 recorded answers differ in the last bits, worst 2 ULP
Everything else matches (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
| Language | Name in Excel |
|---|---|
| Arabic | LOGINV |
| Bulgarian | LOGINV |
| Czech | LOGINV |
| Danish | LOGINV |
| German | LOGINV |
| Greek | LOGINV |
| English (Australia) | LOGINV |
| English (United Kingdom) | LOGINV |
| English (United States) | LOGINV |
| Spanish | DISTR.LOG.INV |
| Estonian | LOGINV |
| Finnish | LOGNORM.JAKAUMA.KÄÄNT |
| French | LOI.LOGNORMALE.INVERSE |
| Hebrew | LOGINV |
| Croatian | LOGINV |
| Hungarian | INVERZ.LOG.ELOSZLÁS |
| Indonesian | LOGINV |
| Italian | LOGINV |
| Japanese | LOGINV |
| Korean | LOGINV |
| Lithuanian | LOGINV |
| Latvian | LOGINV |
| Norwegian | LOGINV |
| Dutch | LOG.NORM.INV |
| Polish | ROZKŁAD.LOG.ODW |
| Portuguese (Brazil) | LOGINV |
| Portuguese (Portugal) | INVLOG |
| Romanian | LOGINV |
| Russian | ЛОГНОРМОБР |
| Slovak | LOGINV |
| Slovenian | LOGINV |
| Serbian (Latin) | LOGINV |
| Swedish | LOGINV |
| Thai | LOGINV |
| Turkish | LOGTERS işlevi |
| Ukrainian | LOGINV |
| Vietnamese | LOGINV |
| Chinese (Simplified) | LOGINV |
| Chinese (Hong Kong) | LOGINV |
| Chinese (Traditional) | LOGINV |
Names from Microsoft's support site.
What it does
LOGINV(probability, mean, standard_dev)
LOGINV(probability,mean,standard_dev) returns the value x at a specified cumulative lognormal probability. The parameters describe ln(X): mean is the location in log space and standard_dev its positive spread. They are not the arithmetic mean and standard deviation of the positive output variable. This is the compatibility spelling of LOGNORM.INV.
Try it
=LOGINV(0.5,0,1) returns 1. Probability one half selects the median; the log-space median is zero and exponentiating it gives one.
=LOGINV(0.5,1,0.5) is about 2.718281828459045, the exponential of the log-space location one. Changing the positive spread does not move the mathematical median, although it changes other quantiles.
Quirks
The probability must be strictly between zero and one. Either endpoint, an out-of-range probability or a nonpositive standard deviation gives #NUM!; nonnumeric arguments give #VALUE!. The location may be negative: that describes positive values below one rather than negative output values.
Extreme quantiles can overflow after exponentiation, or become so small that worksheet publication matters. A normal quantile in log space can be representable even when its exponential is not. Do not treat that outer exponential as harmless formatting.
How to implement
- Validate the open probability interval and positive finite log-space spread.
- Obtain a standard-normal quantile
zatp. The current candidate uses Acklam’s piecewise rational approximation followed by one Newton correction; that generic inverse is not an identified Excel inverse program. - Form
t=mean+standard_dev*zwith the current binary64 multiplication and addition order. - Call the measured public EXP chain on the stored
t. The current code explicitly usesexcel_exphere, rather than an arbitrary host exponential.
At p=0.5, the symmetric standard quantile is zero, so the calculation reduces to EXP(mean). This explains both examples without settling the inverse approximation away from the median. Tail quantiles, input coercion and publication still need their own controls; a direct lognormal inverse library can have different intermediate values.
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.
LOGINV · 4 lines · calc-func/src/catalogue/distributions.rs on GitHub12 loginv "LOGINV" (3, 3) [V "probability", V "mean", V "standard_dev"] |s, a, sv| {
let [p, m, sd_] = nums::<3>(s, a)?;
out(s, nl::lognorm_inv_kernel(p, m, sd_))
}
Kernels shared with other functions
numscatalogue/distributionsbinary_withported/excel_numericexcel_x87_mulported/excel_numericmulported/excel_numeric/x87phi_kernelported/normal_dist_commonvalidate_positive_sigmaported/normal_log_familyvalidate_probability_open_unitported/normal_log_familyinverse_standard_normal_acklam_refinedported/normal_log_familyinverse_standard_normalported/normal_log_familylognorm_inv_kernelported/normal_log_family
Argument and result plumbing
No implementation has been published with a Handbook test suite for this function.
Version differences
No same-input comparison between named Excel builds is recorded for this function here. The documented behaviour below is not a measurement of every Excel release.
Alternatives
LOGNORM.INV 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