Known larger differences on 1,938 of 2,828 recorded answers
Of 2,828 recorded answers (2,822 in the answer bank and 6 workbook cells), 1,938 do not match: 574 differ by more than 16 ULP, 1,364 differ by at most 16 ULP. How we measure this · See the Rust code
Local names in 40 languages
Language
Name in Excel
Arabic
BETA.DIST
Bulgarian
BETA.DIST
Czech
BETA.DIST
Danish
BETA.FORDELING
German
BETA.DIST
Greek
BETA.DIST
English (Australia)
BETA.DIST
English (United Kingdom)
BETA.DIST
English (United States)
BETA.DIST
Spanish
DISTR.BETA.N
Estonian
BETA.DIST
Finnish
BEETA.JAKAUMA
French
LOI.BETA.N
Hebrew
BETA.DIST
Croatian
BETA.DIST
Hungarian
BÉTA.ELOSZL
Indonesian
BETA.DIST
Italian
BETA.DIST
Japanese
BETA.DIST
Korean
BETA.DIST
Lithuanian
BETA.DIST
Latvian
BETA.DIST
Norwegian
BETA.DIST
Dutch
BETA.DIST
Polish
ROZKŁ.BETA
Portuguese (Brazil)
BETA.DIST
Portuguese (Portugal)
DIST.BETA
Romanian
BETA.DIST
Russian
БЕТА.РАСП
Slovak
BETA.DIST
Slovenian
BETA.DIST
Serbian (Latin)
BETA.DIST
Swedish
BETA.FÖRD
Thai
BETA.DIST
Turkish
BETA.DAĞ
Ukrainian
BETA.DIST
Vietnamese
BETA.DIST
Chinese (Simplified)
BETA.DIST
Chinese (Hong Kong)
BETA.DIST
Chinese (Traditional)
BETA.DIST
Names from Microsoft's support site.
What it does
BETA.DIST(x, alpha, beta, cumulative, [A], [B])
BETA.DIST(x,alpha,beta,cumulative,[A],[B]) evaluates a beta distribution between optional bounds A and B, defaulting to zero and one. The two shape parameters are positive. TRUE selects its cumulative probability; FALSE selects its density.
Changing the interval rescales the density by its width. It does not multiply a CDF by that width.
Try it
=BETA.DIST(5,2,1,TRUE,2,6) is about 0.5625. Five maps to z=(5-2)/(6-2)=0.75, and these shapes have CDF z^2.
=BETA.DIST(5,2,1,FALSE,2,6) is about 0.375. The standard density 2*z is divided by width four, giving 1.5/4. The density is a different quantity from the cumulative probability.
Quirks
Microsoft documents #VALUE! for nonnumeric arguments and #NUM! for nonpositive shapes, x outside the interval or equal bounds. The current helper requires ordered finite bounds B>A.
At an interval endpoint, mathematical density limits need explicit treatment. The current log-density body has no general endpoint shortcut: even the uniform shape-one density can encounter 0*log(0) and return #NUM!, although its mathematical density is finite. This is a code limitation, rather than an additional Excel observation.
The current ordinary binary64 width calculation can overflow for extreme finite bounds. Keeping finite parameter validation separate from intermediate arithmetic is necessary for explaining that case.
How to implement
Use D for ordinary binary64 storage.
Apply optional bounds and validate positive finite shapes, finite x and ordered finite bounds. Require x inside the interval.
Store width=D(B-A), offset=D(x-A) and z=D(offset/width).
For cumulative mode, call the regularized lower beta helper. It handles z=0 and z=1 explicitly; otherwise it supplies bratio(alpha,beta,z,D(1-z)) and returns the first ratio.
For density mode, the current body uses runtime logarithms and exponentials and the internal log-gamma routine. It computes log_norm=logGamma(alpha)+logGamma(beta)-logGamma(alpha+beta), then (alpha-1)*log(z)+(beta-1)*log(1-z)-log_norm-log(width) with binary64 stores in that order, and exponentiates. These are internal leaves, not unconditional calls to the worksheet LN, EXP or GAMMALN wrappers.
Apply the finite-result and worksheet publication rules. Preserve the density’s current endpoint behaviour when describing this code; handling mathematical limits is a separate implementation choice.
For the examples z is three quarters. The beta(2,1) CDF is z^2=9/16; the density on the chosen interval is 2*z/4=3/8. Stored numerical approximations can differ in their low bits from those rational values.
Integer shapes use the same current beta-ratio route, rather than a binomial-sum shortcut. The complement construction, log-density arithmetic, endpoint cases and inner approximations have distinct numerical scopes. The problem report still records beta-distribution mismatches; a general beta library does not by itself reproduce Excel’s private program.
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
2,805
20430
Windows, 64-bit, CPU not recorded
17
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
2,805 captured inputs are indexed for this environment. Capture dates: 2026-07-16 to 2026-07-18. This is a reading count, not a comparison with another build.
Excel 16.0 build 20430
Windows, 64-bit, CPU not recorded
17 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
BETADIST is the compatibility CDF-only spelling; BETA.INV maps probability to a value. F.DIST and T.DIST use related beta ratios with different argument constructions.