{
  "category": "Compatibility",
  "display_name": "BETADIST",
  "entry_kind": "built_in_function",
  "eval_api": {
    "method": "POST",
    "url": "https://handbook.dnacalc.com/api/eval"
  },
  "function_id": "FUNC.BETADIST",
  "implementation_state": {
    "answer_bank": {
      "excel_builds": [
        "20131",
        "?"
      ],
      "larger_numeric": 17,
      "last_bit": 137,
      "matched": 140,
      "other_mismatch": 0,
      "refused": 0,
      "rows": 294,
      "unread": 0,
      "worst_ulp": 170
    },
    "detail": "Of 336 recorded answers (294 in the answer bank and 42 workbook cells), 166 do not match: 17 differ by more than 16 ULP, 149 differ by at most 16 ULP.",
    "dnacalc_commit": "9e1884369a678158dd82d3d74188daf986995e87",
    "in_catalogue": true,
    "state": "differs",
    "state_label": "Known larger differences",
    "summary": "Known larger differences on 166 of 336 recorded answers",
    "workbook_corpus": {
      "cells": 42,
      "last_bit": 12,
      "matched": 30,
      "worst_ulp": 7
    }
  },
  "implementations": [
    {
      "commit": "9e1884369a678158dd82d3d74188daf986995e87",
      "flavour": "excel-compatibility-candidate",
      "language": "Rust",
      "name": "CalcFunc",
      "own_code": [
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/distributions.rs#L205-L210"
      ],
      "repository": "https://github.com/DnaCalc/DnaCalc",
      "shared_code": [
        "catalogue/distributions::nums",
        "ported/beta_gamma_stats_family::beta_log_norm",
        "ported/beta_gamma_stats_family::validate_beta_shape",
        "ported/beta_gamma_stats_family::beta_dist_kernel",
        "ported/excel_numeric::binary_with",
        "ported/excel_numeric::excel_x87_add",
        "ported/excel_numeric::excel_x87_mul",
        "ported/excel_numeric::excel_x87_mul_add",
        "ported/excel_numeric/x87::mul",
        "ported/excel_numeric/x87::add",
        "ported/special_math_common::ln_gamma",
        "ported/special_math_common::bratio_ftoi",
        "ported/special_math_common::bratio_spmpar1",
        "ported/special_math_common::bratio_exparg",
        "ported/special_math_common::bratio_esum",
        "ported/special_math_common::bratio_esum20",
        "ported/special_math_common::bratio_alnrel",
        "ported/special_math_common::bratio_rlog1",
        "ported/special_math_common::bratio_gam1",
        "ported/special_math_common::bratio_gamln1",
        "ported/special_math_common::bratio_gamln",
        "ported/special_math_common::bratio_algdiv",
        "ported/special_math_common::bratio_bcorr",
        "ported/special_math_common::bratio_gsumln",
        "ported/special_math_common::bratio_betaln",
        "ported/special_math_common::bratio_betaln_60",
        "ported/special_math_common::bratio_erf_nswc",
        "ported/special_math_common::bratio_erfc1",
        "ported/special_math_common::bratio_rexp",
        "ported/special_math_common::bratio_psi",
        "ported/special_math_common::bratio_fpser",
        "ported/special_math_common::bratio_apser",
        "ported/special_math_common::bratio_bpser",
        "ported/special_math_common::bratio_bup",
        "ported/special_math_common::bratio_brcomp",
        "ported/special_math_common::bratio_brcmp1",
        "ported/special_math_common::bratio_bfrac",
        "ported/special_math_common::bratio_bgrat",
        "ported/special_math_common::bratio_grat1",
        "ported/special_math_common::bratio_basym",
        "ported/special_math_common::bratio",
        "ported/special_math_common::regularized_beta"
      ],
      "source": "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/distributions.rs#L205-L210",
      "state": "differs",
      "suite": null,
      "summary": "Known larger differences on 166 of 336 recorded answers"
    }
  ],
  "json_url": "https://handbook.dnacalc.com/api/functions/FUNC.BETADIST.json",
  "name": "BETADIST",
  "notes": [],
  "schema": "efh.function-reference/v1",
  "section_order": [
    "what-it-does",
    "try-it",
    "quirks",
    "how-to-implement",
    "version-differences",
    "alternatives"
  ],
  "sections": {
    "alternatives": "\n[BETA.DIST](FUNC.BETA.DIST.md) is the current spelling. [BETAINV](FUNC.BETAINV.md) reverses the value/probability direction.\n\n\n",
    "how-to-implement": "\n1. Validate positive finite alpha and beta and finite ordered bounds `B>A`. Apply omitted defaults A=0 and B=1. Require a finite x inside those bounds under the current helper’s rules.\n2. With D meaning ordinary binary64 storage, form `width=D(B-A)`, `offset=D(x-A)` and `z=D(offset/width)`.\n3. Evaluate the regularized lower beta ratio at z. The current `regularized_beta` helper returns exact zero and one for z=0 and z=1; otherwise it computes `w=D(1-z)` and calls `bratio(alpha,beta,z,w)`.\n4. Return the helper’s first ratio under the worksheet number-publication policy. Keep that lower/upper-tail convention explicit.\n\nFor the uniform example, width is four, offset one and z one quarter. Shapes one and one give CDF z. For the second example, z is one half and shapes two and one give CDF `z^2`, one quarter.\n\nThis wrapper constructs its complement from the already stored z. It does not independently form `(B-x)/(B-A)` as some other distribution wrappers do for their paired arguments. A scaled affine transformation can improve extreme-input range, but changes the stored history.\n\nThe current code routes integer shapes through the same beta-ratio body as fractional shapes; its retained comparisons did not justify replacing them with an integer binomial-sum shortcut. The inner beta approximation, extreme affine cases and the remaining problem-report mismatches remain open. The wrapper recipe does not identify every private Excel approximation.\n\n\n",
    "quirks": "\nNonpositive shapes and invalid bounds give `#NUM!`; nonnumeric arguments give `#VALUE!`. An x outside the bounds gives `#NUM!`. This old spelling has no density/CDF switch: it is cumulative.\n\nA and B change the value interval, rather than the probability scale. A CDF still ranges from zero to one, and the uniform example’s density on two to six would be one quarter, not one. The current affine normalization uses ordinary binary64 subtraction and division; extreme finite bounds can overflow an intermediate width.\n\n\n",
    "sources": "\n- [Microsoft: BETADIST function](https://support.microsoft.com/en-us/excel/functions/betadist-function), opened 6 November 2026; syntax, documented argument rules and errors.\n- [DnaCalc implementation](https://github.com/DnaCalc/DnaCalc/blob/da3ecc4fb19a3a5529708c311d0e8f05688ac165/crates/calc-func/src/ported/beta_gamma_stats_family.rs); implementation steps and the limits identified in the text.\n- [Beta ratio and ordered-value search](https://github.com/DnaCalc/DnaCalc/blob/da3ecc4fb19a3a5529708c311d0e8f05688ac165/crates/calc-func/src/ported/special_math_common.rs); `regularized_beta` and `bisect_inverse`.\n\n",
    "try-it": "\n`=BETADIST(3,1,1,2,6)` is about `0.25`. The shape-one beta is uniform on two to six, and three is one quarter of the way across.\n\n`=BETADIST(4,2,1,2,6)` is also about `0.25`. Here four is halfway across the interval, but the transformed CDF is `z^2`, rather than z. Shape parameters change the distribution within the same bounds.\n\n\n",
    "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.\n\n| Excel 16.0 build | Platform and CPU | Captured inputs |\n|---|---|---:|\n| 19929 | Windows, bitness not recorded, CPU not recorded | 28 |\n| 20131 | Windows, bitness not recorded, AMD Ryzen 7 4800H with Radeon Graphics | 294 |\n\nThe 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.\n\n[Recorded environments and comparison details](https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.BETADIST.json).",
    "what-it-does": "\n`BETADIST(x, alpha, beta, [A], [B])` returns the cumulative beta probability up to x. The two positive shape parameters control the distribution, and optional bounds A and B default to zero and one. This is a compatibility name.\n\n\n"
  },
  "signature": {
    "display": "BETADIST(x, alpha, beta, [A], [B])",
    "parameters": [
      {
        "description": null,
        "name": "x",
        "optional": false,
        "repeats": false
      },
      {
        "description": null,
        "name": "alpha",
        "optional": false,
        "repeats": false
      },
      {
        "description": null,
        "name": "beta",
        "optional": false,
        "repeats": false
      },
      {
        "description": null,
        "name": "A",
        "optional": true,
        "repeats": false
      },
      {
        "description": null,
        "name": "B",
        "optional": true,
        "repeats": false
      }
    ],
    "trailing_repeats": false
  },
  "sources": {
    "metadata": {
      "admission": {
        "label": "implemented",
        "reason": null
      },
      "arity": {
        "max": 5,
        "min": 3
      },
      "category": "Compatibility",
      "classification": {
        "arg_preparation_profile": "ValuesOnlyPreAdapter",
        "coercion_lift_profile": "Custom",
        "determinism_class": "Deterministic",
        "error_collapse_profile": "None",
        "fec_dependency_profile": "None",
        "host_interaction_class": "None",
        "kernel_signature_class": "Custom",
        "rich_value_usage": "RichBlind",
        "surface_fec_dependency_profile": "None",
        "thread_safety_class": "SafePure",
        "volatility_class": "NonVolatile"
      },
      "descriptions": {
        "long": null,
        "short": "Cumulative beta probability (the older form of BETA.DIST)",
        "short_source": "dna-calc-own"
      },
      "docs": {
        "english_description": "Returns the beta cumulative distribution function",
        "microsoft_url": "https://support.microsoft.com/en-us/office/betadist-function-49f1b9a9-a5da-470f-8077-5f1730b5fd47"
      },
      "entry_kind": "built_in_function",
      "localized_family_names": null,
      "localized_names": [
        {
          "locale": "ar-SA",
          "name": "BETADIST"
        },
        {
          "locale": "bg-BG",
          "name": "BETADIST"
        },
        {
          "locale": "cs-CZ",
          "name": "BETADIST"
        },
        {
          "locale": "da-DK",
          "name": "BETAFORDELING"
        },
        {
          "locale": "de-DE",
          "name": "BETADIST"
        },
        {
          "locale": "el-GR",
          "name": "BETADIST"
        },
        {
          "locale": "en-AU",
          "name": "BETADIST"
        },
        {
          "locale": "en-GB",
          "name": "BETADIST"
        },
        {
          "locale": "en-US",
          "name": "BETADIST"
        },
        {
          "locale": "es-ES",
          "name": "DISTR.BETA"
        },
        {
          "locale": "et-EE",
          "name": "BETADIST"
        },
        {
          "locale": "fi-FI",
          "name": "BEETAJAKAUMA"
        },
        {
          "locale": "fr-FR",
          "name": "LOI.BETA*"
        },
        {
          "locale": "he-IL",
          "name": "BETADIST"
        },
        {
          "locale": "hr-HR",
          "name": "BETADIST"
        },
        {
          "locale": "hu-HU",
          "name": "BÉTA.ELOSZLÁS"
        },
        {
          "locale": "id-ID",
          "name": "BETADIST"
        },
        {
          "locale": "it-IT",
          "name": "BETADIST"
        },
        {
          "locale": "ja-JP",
          "name": "BETADIST"
        },
        {
          "locale": "ko-KR",
          "name": "BETADIST"
        },
        {
          "locale": "lt-LT",
          "name": "BETADIST"
        },
        {
          "locale": "lv-LV",
          "name": "BETADIST"
        },
        {
          "locale": "nb-NO",
          "name": "BETADIST"
        },
        {
          "locale": "nl-NL",
          "name": "BETADIST"
        },
        {
          "locale": "pl-PL",
          "name": "ROZKŁAD.BETA"
        },
        {
          "locale": "pt-BR",
          "name": "BETADIST"
        },
        {
          "locale": "pt-PT",
          "name": "DISTBETA"
        },
        {
          "locale": "ro-RO",
          "name": "BETADIST"
        },
        {
          "locale": "ru-RU",
          "name": "БЕТАРАСП"
        },
        {
          "locale": "sk-SK",
          "name": "BETADIST"
        },
        {
          "locale": "sl-SI",
          "name": "BETADIST"
        },
        {
          "locale": "sr-Latn-RS",
          "name": "BETADIST"
        },
        {
          "locale": "sv-SE",
          "name": "BETAFÖRD"
        },
        {
          "locale": "th-TH",
          "name": "BETADIST"
        },
        {
          "locale": "tr-TR",
          "name": "BETADAĞ işlevi"
        },
        {
          "locale": "uk-UA",
          "name": "BETADIST"
        },
        {
          "locale": "vi-VN",
          "name": "BETADIST"
        },
        {
          "locale": "zh-CN",
          "name": "BETADIST"
        },
        {
          "locale": "zh-HK",
          "name": "BETADIST"
        },
        {
          "locale": "zh-TW",
          "name": "BETADIST"
        }
      ],
      "signature": {
        "display": "BETADIST(x, alpha, beta, [A], [B])",
        "parameters": [
          {
            "description": null,
            "name": "x",
            "optional": false,
            "repeats": false
          },
          {
            "description": null,
            "name": "alpha",
            "optional": false,
            "repeats": false
          },
          {
            "description": null,
            "name": "beta",
            "optional": false,
            "repeats": false
          },
          {
            "description": null,
            "name": "A",
            "optional": true,
            "repeats": false
          },
          {
            "description": null,
            "name": "B",
            "optional": true,
            "repeats": false
          }
        ],
        "trailing_repeats": false
      },
      "surface_name": "BETADIST",
      "version_marker": null,
      "xlcall": {
        "code": "270",
        "symbol": "xlfBetadist"
      }
    },
    "microsoft": "https://support.microsoft.com/en-us/office/betadist-function-49f1b9a9-a5da-470f-8077-5f1730b5fd47"
  },
  "try_it": {
    "formula": "=BETADIST(3,1,1,2,6)"
  },
  "url": "https://handbook.dnacalc.com/functions/BETADIST.html",
  "variants": [],
  "versions": [
    {
      "behaviour": "28 captured inputs are indexed for this environment. Capture dates are not recorded. This is a reading count, not a comparison with another build.",
      "excel_build": "16.0 build 19929",
      "platform": "Windows, bitness not recorded, CPU not recorded",
      "sources": [
        "https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.BETADIST.json"
      ]
    },
    {
      "behaviour": "294 captured inputs are indexed for this environment. Capture dates: 2026-07-16 to 2026-07-17. This is a reading count, not a comparison with another build.",
      "excel_build": "16.0 build 20131",
      "platform": "Windows, bitness not recorded, AMD Ryzen 7 4800H with Radeon Graphics",
      "sources": [
        "https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.BETADIST.json"
      ]
    }
  ]
}