「過去10回中7回成功したけど、本当の成功率ってどのくらいなんだろう?」。こんな疑問を持ったことはありませんか?
単純に7割と答えるのは簡単です。でもサンプル数が少ないと、本当の確率がどの範囲にあるかは自信を持てませんよね。
そんなときに使うのがBETA.DIST関数です。この記事では基本構文から実務活用まで解説します。TRUE/FALSEの違いや、BETADIST関数との関係もあわせて紹介しますよ。
スプレッドシートのBETA.DIST関数とは
BETA.DIST関数(読み方: ベータ・ディスト関数)は、ベータ分布にもとづいて確率を返す関数です。ベータ分布とは、0から1の範囲(割合や確率)をモデル化する確率分布です。
「BETA」はギリシャ文字のベータに由来する数学用語です。「DIST」は「Distribution(分布)」の略です。
たとえば「成功8回・失敗2回のデータから、真の成功率が70%以下である確率」を1つの数式で求められます。
BETA.DIST関数にできることをまとめると、次のとおりです。
- ある値以下となる確率を求める(累積分布)
- 特定の値での確率密度を求める
- 割合や確率(コンバージョン率、合格率など)の不確実性を評価する
- カスタム範囲(0〜1以外)のベータ分布も計算する
NOTE
BETA.DIST関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
ベータ分布が使える場面とは
ベータ分布は、次のような場面で使えます。
- 割合・確率のモデリング: コンバージョン率、合格率、不良品率など
- ベイズ推定の事前分布: 「成功n回・失敗m回」から真の確率を推定する
- プロジェクト管理: PERT法(楽観・悲観・最頻の3点見積もり)での工数推定
ベータ分布の大きな特徴は、値が0〜1の範囲に収まることです。そのため「割合」や「確率」を扱うのにぴったりの分布です。alphaとbetaの値によって、左寄り・右寄り・釣鐘型など自由に形が変わります。
TIP
alpha=1、beta=1のとき、ベータ分布は一様分布(どの値も同じ確率)と一致します。「事前情報がまったくない状態」を表すベースラインとして使えますよ。
基本構文と6つの引数
=BETA.DIST(x, alpha, beta, 累積, [A], [B])
カッコの中に4〜6つの引数を指定します。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| x | 必須 | 評価する値(AからBの範囲内の数値) |
| alpha(アルファ) | 必須 | 形状パラメータ1(正の数値) |
| beta(ベータ) | 必須 | 形状パラメータ2(正の数値) |
| 累積(cumulative) | 必須 | TRUEで累積分布、FALSEで確率密度 |
| A | 任意 | 下限(省略時は0) |
| B | 任意 | 上限(省略時は1) |
alphaは分布の左側の形を決めるパラメータです。「成功回数+1」と解釈できます。betaは分布の右側の形を決めるパラメータです。「失敗回数+1」と解釈できます。
AとBを指定すると、0〜1以外の範囲でベータ分布を計算できます。たとえば工数見積もりで「最短3日〜最長15日」の範囲を設定する場合に使います。
WARNING
alphaとbetaはどちらも正の数です。0以下を指定すると
#NUM!エラーになります。xはA以上B以下で指定してください。範囲外だと#NUM!エラーです。
BETADIST関数(互換関数)との関係
GoogleスプレッドシートにはBETADISTという関数もあります。これはBETA.DISTの旧バージョンです。計算結果はまったく同じです。
=BETADIST(0.7, 8, 3, 0, 1) --- 旧関数名(動作は同じ)
=BETA.DIST(0.7, 8, 3, TRUE, 0, 1) --- 新関数名(推奨)
ただし引数の構成が少し異なります。BETADISTは4番目の引数がAとBの下限・上限で、累積/密度の切り替えがありません(常に累積分布を返します)。新しく数式を書くときはBETA.DISTを使いましょう。既存のシートでBETADIST関数が使われていても、そのまま動作します。急いで書き換える必要はありません。
BETA.DIST関数のTRUE/FALSEの違い
BETA.DIST関数の4番目の引数「累積」は、TRUEかFALSEで結果がまったく変わります。この違いを押さえることが使いこなすポイントです。
FALSE(確率密度関数)――ある値での密度
FALSEを指定すると確率密度関数(PDF)の値を返します。「値xでの確率の密度」を表す値です。
=BETA.DIST(0.5, 8, 3, FALSE)
alpha=8、beta=3のベータ分布で、x=0.5での確率密度を返します。結果は約0.7031です。
数学的には、次の式で計算されています。
f(x) = x^(alpha-1) * (1-x)^(beta-1) / B(alpha, beta)
ここでB(alpha, beta)はベータ関数です。確率密度は1を超える値になることもあります。連続分布なので、確率はTRUEで求めるのが一般的です。
TRUE(累積分布関数)――x以下となる確率
TRUEを指定すると累積分布関数(CDF)の値を返します。「値がx以下となる確率」です。
=BETA.DIST(0.7, 8, 3, TRUE)
alpha=8、beta=3のベータ分布で、x=0.7以下となる確率です。結果は約0.3828(38.3%)です。
実務で「真の確率がx以下である可能性は?」と聞かれたら、TRUEを使ってください。
2つを比較してみる(サンプルデータつき)
alpha=8、beta=3の場合で、xの値ごとの結果を比べてみましょう。平均値は alpha / (alpha + beta) = 8/11 で約0.727です。
| x | FALSE(確率密度) | TRUE(x以下の確率) |
|---|---|---|
| 0.3 | 0.0386 | 0.0016(0.2%) |
| 0.4 | 0.2123 | 0.0123(1.2%) |
| 0.5 | 0.7031 | 0.0547(5.5%) |
| 0.6 | 1.6124 | 0.1673(16.7%) |
| 0.7 | 2.6683 | 0.3828(38.3%) |
| 0.8 | 3.0199 | 0.6778(67.8%) |
| 0.9 | 1.7219 | 0.9298(93.0%) |
| 1.0 | 0.0000 | 1.0000(100%) |
FALSE列はx=0.8付近で最大値を取り、その前後で小さくなります。TRUE列はxが増えるほど1に近づいていきます。
「x以上となる確率」を求めたいときは =1 - BETA.DIST(x, alpha, beta, TRUE) と書きます。たとえば「真の確率が80%以上である可能性」なら次のとおりです。結果は約0.3222(32.2%)です。
=1 - BETA.DIST(0.8, 8, 3, TRUE)
BETA.DIST関数の実務活用3パターン
基本がわかったところで、実際の業務で使えるパターンを3つ紹介します。
コンバージョン率の推定――ABテストの結果評価
「LPのABテストで、パターンAが100回中12回コンバージョンした」ケースを考えましょう。真のコンバージョン率が15%以下である確率を求めます。alpha=12+1=13(成功+1)、beta=88+1=89(失敗+1)です。
=BETA.DIST(0.15, 13, 89, TRUE)
結果は約0.7653(76.5%)です。約77%の可能性で、真のコンバージョン率は15%以下です。
では「コンバージョン率が10%以上である確率」はどうでしょうか。
=1 - BETA.DIST(0.1, 13, 89, TRUE)
結果は約0.7919(79.2%)です。約79%の可能性で10%以上のコンバージョン率が期待できます。ABテストの判断材料になりますね。
品質管理――不良品率の評価
「製造ライン検査で500個中10個が不良だった」場合を考えましょう。真の不良品率が3%以下である確率を求めます。alpha=10+1=11、beta=490+1=491です。
=BETA.DIST(0.03, 11, 491, TRUE)
結果は約0.8866(88.7%)です。約89%の可能性で、真の不良品率は3%以下に収まっています。
「不良品率が5%を超える確率」は次のとおりです。
=1 - BETA.DIST(0.05, 11, 491, TRUE)
結果は約0.0004(0.04%)です。5%を超える確率はほぼゼロです。品質基準を満たしているかの判断に活用できますね。
プロジェクト管理――PERT法による工数見積もり
「最短5日、最長20日、最も可能性が高いのは10日」というタスクの工数見積もりを考えましょう。PERT法ではalpha=3、beta=2.5程度を使い、A=5(下限)、B=20(上限)を指定します。
=BETA.DIST(12, 3, 2.5, TRUE, 5, 20)
結果は約0.3520(35.2%)です。12日以内に完了する確率は約35%です。
「15日以内に終わる確率」を求めてみましょう。
=BETA.DIST(15, 3, 2.5, TRUE, 5, 20)
結果は約0.7042(70.4%)です。バッファを含めて15日で計画すれば、約70%の確率で収まります。スケジュール策定の根拠になりますよ。
関連する統計関数との使い分け
BETA.DIST関数は、他の分布関数と性質が異なります。用途に応じて使い分けましょう。
| 関数 | 用途 | いつ使うか |
|---|---|---|
| BETA.DIST | ベータ分布の確率 | 割合・確率(0〜1の範囲)をモデル化する場合 |
| GAMMA.DIST | ガンマ分布の確率 | 複数イベントの合計時間や右裾データを扱う場合 |
| EXPON.DIST | 指数分布の確率 | 次のイベントまでの待ち時間を扱う場合 |
| NORM.DIST | 正規分布の確率 | 連続データ(身長・体重・気温など)を扱う場合 |
| CHISQ.DIST | カイ二乗分布の確率 | 適合度検定や独立性検定を行う場合 |
| WEIBULL.DIST | ワイブル分布の確率 | 製品寿命・故障率を分析する場合 |
| F.DIST | F分布の確率 | 分散分析(ANOVA)を行う場合 |
迷ったときの判断基準はシンプルです。
- 割合・確率をモデル化したい → BETA.DIST
- 待ち時間の合計 → GAMMA.DIST
- 連続データの確率 → NORM.DIST
- 製品の寿命分析 → WEIBULL.DIST
よくある間違いと注意点
BETA.DIST関数でつまずきやすいポイントをまとめました。
xが範囲外で#NUM!エラー
xはA以上B以下の範囲で指定します。範囲外の値を入れるとエラーになります。AとBを省略した場合は0〜1が範囲です。
=BETA.DIST(1.5, 3, 2, TRUE) --- #NUM! エラー(0〜1の範囲外)
alphaが0以下で#NUM!エラー
alphaは正の数で指定します。0や負の値はエラーになります。
=BETA.DIST(0.5, 0, 2, TRUE) --- #NUM! エラー
betaが0以下で#NUM!エラー
betaも正の数で指定します。0以下はエラーです。
=BETA.DIST(0.5, 3, 0, TRUE) --- #NUM! エラー
A >= Bで#NUM!エラー
下限Aが上限B以上だとエラーになります。AはBより小さい値を指定してください。
=BETA.DIST(5, 3, 2, TRUE, 10, 5) --- #NUM! エラー(A=10 > B=5)
引数に文字列を渡して#VALUE!エラー
数値であるべき引数にテキストが入ると#VALUE!エラーになります。セル参照を使うときは、参照先が数値であることを確認しましょう。
TRUE/FALSEの指定を間違える
4番目の引数を省略することはできません。TRUEとFALSEでは結果がまったく異なります。「x以下の確率」を求めたいのにFALSEを指定すると、確率密度が返ってしまいます。目的に合った値を選んでくださいね。
Excelとの違い
BETA.DIST関数は、GoogleスプレッドシートとExcelで構文・動作ともにほぼ同じです。
=BETA.DIST(0.5, 3, 2, TRUE)
この数式はどちらの環境でも同じ結果を返します。ExcelでもBETADIST関数が使えます。ただしMicrosoft公式ではBETA.DISTが推奨されています。
ExcelとGoogleスプレッドシートを併用している方は、BETA.DISTで統一しておけば問題ありませんよ。
まとめ
BETA.DIST関数は、ベータ分布にもとづいて確率を求める関数です。
- 4番目の引数にTRUEで「x以下となる確率」が返る
- FALSEで「値xでの確率密度」が返る
- alphaとbetaは形状パラメータで、分布の形を決める
- 0〜1の範囲の「割合」や「確率」のモデル化に使える
- AとBを指定すればカスタム範囲にも対応する
- 「x以上の確率」を求めるには
=1 - BETA.DIST(x, alpha, beta, TRUE)と書く - xが範囲外やalpha・betaが0以下だと
#NUM!エラー - BETADIST関数と計算結果は同じ。新規にはBETA.DISTを推奨
- コンバージョン率の推定・品質管理・プロジェクト見積もりに活用できる
- 「待ち時間」ならGAMMA.DIST関数、「連続データ」ならNORM.DIST関数を使う
