Compatibility

WEIBULL

Matches all 6 recorded answers

Recorded: 6 workbook cells. How we measure this · See the Rust code

Local names in 40 languages
LanguageName in Excel
ArabicWEIBULL
BulgarianWEIBULL
CzechWEIBULL
DanishWEIBULL
GermanWEIBULL
GreekWEIBULL
English (Australia)WEIBULL
English (United Kingdom)WEIBULL
English (United States)WEIBULL
SpanishDIST.WEIBULL
EstonianWEIBULL
FinnishWEIBULL
FrenchLOI.WEIBULL
HebrewWEIBULL
CroatianWEIBULL
HungarianWEIBULL
IndonesianWEIBULL
ItalianWEIBULL
JapaneseWEIBULL
KoreanWEIBULL
LithuanianWEIBULL
LatvianWEIBULL
NorwegianWEIBULL
DutchWEIBULL
PolishROZKŁAD.WEIBULL
Portuguese (Brazil)WEIBULL
Portuguese (Portugal)WEIBULL
RomanianWEIBULL
RussianВЕЙБУЛЛ
SlovakWEIBULL
SlovenianWEIBULL
Serbian (Latin)WEIBULL
SwedishWEIBULL
ThaiWEIBULL
TurkishWEIBULL işlevi
UkrainianWEIBULL
VietnameseWEIBULL
Chinese (Simplified)WEIBULL
Chinese (Hong Kong)WEIBULL
Chinese (Traditional)WEIBULL

Names from Microsoft's support site.

What it does

WEIBULL(x, alpha, beta, cumulative)

WEIBULL(x,alpha,beta,cumulative) evaluates a Weibull distribution at nonnegative x. Alpha is the positive shape; beta is the positive scale in the same units as x. TRUE returns a cumulative probability and FALSE a density. This is the compatibility spelling of WEIBULL.DIST.

Writing t=(x/beta)^alpha, the mathematical CDF is 1-exp(-t). In particular, at x=beta it is 1-exp(-1) for every positive shape. Shape one gives the exponential family with rate 1/beta.

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.

=WEIBULL(4,2,2,TRUE) is about 0.9816843611: mathematically, (4/2)^2=4 and the CDF is 1-exp(-4). Changing TRUE to FALSE gives a density of about 0.03663127777746836.

The scale is not the exponential rate. In the shape-one case, a scale of two corresponds to rate one half, not rate two.

Quirks

Negative x or a nonpositive shape or scale gives #NUM!; nonnumeric numeric arguments give #VALUE!. Densities and cumulative probabilities are different quantities, even when they happen to have similar decimal values.

At zero, the mathematical CDF is zero. The density’s right-hand limit is zero for alpha>1, 1/beta for alpha=1, and unbounded for 0<alpha<1. The current helper returns zero at x=0 for both cumulative and density calls, for every admitted shape. For example, its WEIBULL(0,1,2,FALSE) result is zero rather than the mathematical one half. This is a code-level boundary behaviour, not a newly measured Excel answer; keep it separate from the positive-input reconstruction.

How to implement

For positive inputs, define a raw power helper P(a,b)=EXP(R(b*LN(a))), using the public stored LN and EXP leaves and the stored operation R. The current route uses this chain even for integer exponents and square roots; a host pow shortcut changes the candidate.

  1. Validate finite inputs and the documented sign domain; handle the code’s zero-input branch separately.
  2. Store r=R(x/beta), then obtain t=P(r,alpha).
  3. For the CDF, compute -expm1_internal(-t). Here the Kahan correction uses ordinary binary64 arithmetic: with u=EXP(-t), return t if u==1; otherwise return -(u-1) for t>=1, or -((u-1)*(-t)/LN(u)) for t<1.
  4. For density, obtain B=P(beta,alpha), X=P(x,alpha-1) and E=EXP(-t). Evaluate division first and multiply left to right: R(R(R(alpha/B)*X)*E).
  5. The helper rejects a nonfinite result with #NUM!. Keep worksheet publication separate from the polynomial/power body.

For x=4,alpha=2,beta=2, the mathematical reduction has r=2, t=4, alpha/beta^alpha=0.5, and x^(alpha-1)=4; density is therefore 2*exp(-4). The raw power chain need not publish exact integer four at each intermediate stage, so the mathematical trace is not permission to remove those calls.

The cited source retains positive-input power-staging discriminants, including 113 controls separating the stored exponent product. Exact global branch boundaries and a whole-domain legacy-spelling result remain unestablished here. No Handbook suite is published for this function.

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.

WEIBULL · 4 lines · calc-func/src/catalogue/distributions.rs on GitHub
62 weibull "WEIBULL" (4, 4) [V "x", V "alpha", V "beta", V "cumulative"] |s, a, sv| {
    let [x, alpha, beta] = nums::<3>(s, a)?;
    out(s, sd::weibull_kernel(x, alpha, beta, flag(s, a, 3)?))
}
weibull_kernel · 8 lines · calc-func/src/ported/special_dist_family.rs on GitHub
pub fn weibull_kernel(
    x: f64,
    alpha: f64,
    beta: f64,
    cumulative: bool,
) -> Result<f64, WorksheetErrorCode> {
    weibull_dist_kernel(x, alpha, beta, cumulative)
}

Kernels shared with other functions

Argument and result plumbing

  • flag catalogue/kit
  • num catalogue/kit
  • out catalogue/kit

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

WEIBULL.DIST is the modern spelling; EXPON.DIST is the shape-one special family; GAMMA.DIST supplies another positive-valued distribution.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents