Excel 16.0 build 19929
Windows, bitness not recorded, CPU not recorded
46 captured inputs are indexed for this environment. Capture dates are not recorded. This is a reading count, not a comparison with another build.
Compatibility
Close: 5 of 9 recorded answers differ in the last bits, worst 2 ULP
Everything else matches (3 in the answer bank and 6 workbook cells). Last-bit means a finite number within 16 ULP of Excel's. How we measure this · See the Rust code
| Language | Name in Excel |
|---|---|
| Arabic | HYPGEOMDIST |
| Bulgarian | HYPGEOMDIST |
| Czech | HYPGEOMDIST |
| Danish | HYPGEOFORDELING |
| German | HYPGEOMDIST |
| Greek | HYPGEOMDIST |
| English (Australia) | HYPGEOMDIST |
| English (United Kingdom) | HYPGEOMDIST |
| English (United States) | HYPGEOMDIST |
| Spanish | DISTR.HIPERGEOM |
| Estonian | HYPGEOMDIST |
| Finnish | HYPERGEOM.JAKAUMA |
| French | LOI.HYPERGEOMETRIQUE |
| Hebrew | HYPGEOMDIST |
| Croatian | HYPGEOMDIST |
| Hungarian | HIPERGEOM.ELOSZLÁS |
| Indonesian | HYPGEOMDIST |
| Italian | HYPGEOMDIST |
| Japanese | HYPGEOMDIST |
| Korean | HYPGEOMDIST |
| Lithuanian | HYPGEOMDIST |
| Latvian | HYPGEOMDIST |
| Norwegian | HYPGEOMDIST |
| Dutch | HYPERGEO.VERD |
| Polish | ROZKŁAD.HIPERGEOM |
| Portuguese (Brazil) | HYPGEOMDIST |
| Portuguese (Portugal) | DIST.HIPERGEOM |
| Romanian | HYPGEOMDIST |
| Russian | ГИПЕРГЕОМЕТ |
| Slovak | HYPGEOMDIST |
| Slovenian | HYPGEOMDIST |
| Serbian (Latin) | HYPGEOMDIST |
| Swedish | HYPGEOMFÖRD |
| Thai | HYPGEOMDIST |
| Turkish | HİPERGEOMDAĞ işlevi |
| Ukrainian | HYPGEOMDIST |
| Vietnamese | HYPGEOMDIST |
| Chinese (Simplified) | HYPGEOMDIST |
| Chinese (Hong Kong) | HYPGEOMDIST |
| Chinese (Traditional) | HYPGEOMDIST |
Names from Microsoft's support site.
HYPGEOMDIST(sample_s, number_sample, population_s, number_pop)
HYPGEOMDIST(sample_s, number_sample, population_s, number_pop) models sampling without replacement. It counts successes in a fixed sample drawn from a finite population.This compatibility form returns a mass only.
=HYPGEOMDIST(1,2,3,5) is about 0.6. Drawing two objects from five, three marked successful, yields one success in choose(3,1)*choose(2,1)=6 of choose(5,2)=10 possible samples.
The four arguments are counts and are truncated toward zero, with the current code rejecting original negative signs before truncation. The feasible success interval is max(0,n-(N-K))..min(n,K), where n is sample size, K population successes and N population size.
Microsoft’s documented guard gives #NUM! for invalid sizes and success counts; nonnumeric arguments give #VALUE!. The current shared mass helper instead supplies zero for an unsupported success count and handles an empty sample as a degenerate mass. The modern HYPGEOM.DIST has retained build 20430 controls for such departures, but those calls do not measure this legacy spelling. Keep that remaining scope explicit.
The mathematical probability is choose(K,k)*choose(N-K,n-k)/choose(N,n). For one success in a sample of two from five objects with three successes, the numerator is 3*2=6 and the denominator ten, giving 0.6.
The current wrapper calls the same mass helper as HYPGEOM.DIST with cumulative FALSE. It rejects original negative signs, truncates the counts, checks n<=N and K<=N, then applies the mass support and degenerate-sample rules. For nondegenerate supported counts it forms p=n/N and q=(N-n)/N, obtains three binomial masses, and returns their product/ratio in the stated order. There is no cumulative switch or cumulative endpoint shortcut on this spelling.
Ratios of integer combinations or a recurrence give alternative mathematical algorithms. They avoid separately overflowing factorials, but do not identify Excel’s numerical leaves or error order. The generated fingerprint report still has no adopted complete hypergeometric algorithm; legacy-spelling boundaries and remaining numerical differences stay open.
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.
HYPGEOMDIST · 4 lines · calc-func/src/catalogue/distributions.rs on GitHub78 hypgeomdist "HYPGEOMDIST" (4, 4) [V "sample_s", V "number_sample", V "population_s", V "number_pop"] |s, a, sv| {
let [ss, ns, ps, np] = nums::<4>(s, a)?;
out(s, dd::hypergeom_dist_kernel(ss, ns, ps, np, false))
}
nums catalogue/distributionsstirling_error ported/discrete_distdeviance ported/discrete_distbinom_mass ported/discrete_distfinite ported/discrete_disthypergeom_mass ported/discrete_disthypergeom_dist_kernel ported/discrete_distbinary_with ported/excel_numericexcel_x87_add ported/excel_numericexcel_x87_sub ported/excel_numericexcel_x87_mul ported/excel_numericexcel_x87_div ported/excel_numericmul ported/excel_numeric/x87add ported/excel_numeric/x87sub ported/excel_numeric/x87div ported/excel_numeric/x87No implementation has been published with a Handbook test suite for this function.
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 |
|---|---|---|
| 19929 | Windows, bitness not recorded, CPU not recorded | 46 |
| 20131 | Windows, bitness not recorded, AMD Ryzen 7 4800H with Radeon Graphics | 3 |
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.
Windows, bitness not recorded, CPU not recorded
46 captured inputs are indexed for this environment. Capture dates are not recorded. This is a reading count, not a comparison with another build.
Windows, bitness not recorded, AMD Ryzen 7 4800H with Radeon Graphics
3 captured inputs are indexed for this environment. Capture dates: 2026-07-16 to 2026-07-16. This is a reading count, not a comparison with another build.
BINOM.DIST models independent trials with replacement; COMBIN counts combinations; HYPGEOM.DIST exposes the cumulative switch.
No named variants are recorded yet.
Suggest a correction or contribute an implementation · For agents