「ExcelのBETAINV関数って、BETA.INVと何が違うんだろう?」「古いブックに残っているBETAINVをそのまま使い続けてもいいのかな?」と気になっていませんか。
BETAINV関数は、ベータ分布の累積確率から対応する値を逆算する関数です。Excel 2007以前から存在する旧関数で、現在はBETA.INV関数に置き換えられて「互換性関数」という扱いになっています。
この記事ではExcelのBETAINV関数について、構文や引数の意味、後継のBETA.INVとの違いを解説します。あわせてPERT法やA/Bテスト信頼区間といった実務での使い方、よく出る #NUM! エラーの対処法まで紹介していきますね。古いブックのメンテナンス時にもそのまま参考にできる内容ですよ。
ExcelのBETAINV関数とは?
BETAINV関数(読み方:ベータ・インバース関数)は、ベータ分布の累積確率から対応する値を逆算する統計関数です。
「BETA」はギリシャ文字のベータに由来する数学用語です。「INV」は「Inverse(逆関数)」の略で、ベータ分布の逆関数を意味します。
BETADIST関数が「値x → 確率p」を求めるのに対し、BETAINV関数はその逆の「確率p → 値x」を求めます。2つの関数はちょうど逆方向の動きをするんですよ。
BETAINV関数は互換性関数
ここがこの記事で一番大事なポイントです。BETAINV関数はExcel 2010以降、「互換性関数」という扱いになっています。Excel 2010で精度を高めた後継関数のBETA.INV関数が登場したため、BETAINVは古いブックとの互換性のために残されている関数なんですね。
新しいシートで使うのは避けて、BETA.INV関数を使うのがおすすめです。将来のバージョンアップで利用できなくなる可能性もゼロではないので、見つけたら積極的に置き換えておくと安心ですよ。
BETAINV関数でできること
BETAINV関数を使うと、次のような計算ができます。
- 累積確率からベータ分布の対応値を逆算する
- 95%信頼区間の上限・下限を求める
- コンバージョン率や合格率の区間推定を行う
- 不良品率の「これ以下に収まる確率pのライン」を求める
- PERT法で「90%の確率で完了する工期」を逆算する
- 0〜1以外の任意の範囲(A〜B)でもベータ分布で逆算できる
NOTE
BETAINV関数はExcel 2007以前から使える関数です。Excel 2010以降では互換性関数の扱いに変わりましたが、現行のExcelでも引き続き利用できます。
BETAINV関数の構文と引数
まずは構文を確認しましょう。[ ] で囲まれた引数は省略できます。
=BETAINV(probability, alpha, beta, [A], [B])
カッコの中に3〜5つの引数を指定します。引数の意味は次のとおりです。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| probability(確率) | 必須 | 求めたい累積確率(0より大きく1より小さい数値) |
| alpha(アルファ) | 必須 | 形状パラメータ1(正の数値) |
| beta(ベータ) | 必須 | 形状パラメータ2(正の数値) |
| A | 任意 | xの下限(省略時は0) |
| B | 任意 | xの上限(省略時は1) |
引数の意味を詳しく
probabilityは「この確率に対応する値を求めたい」という確率です。0.95と入れれば「上位5%点(95パーセンタイル)」が返ります。
alphaは分布の山の形を決める1つ目のパラメータです。ベイズ推定で使うときは「成功回数+1」と解釈できます。betaは「失敗回数+1」と解釈できる2つ目のパラメータですね。
AとBを指定すると、0〜1以外の範囲で逆算できます。たとえば工数見積もりで「最短10日〜最長30日」の範囲を扱う場合に使いますよ。
WARNING
probabilityは0より大きく1より小さい値を指定します。0や1を入れると
#NUM!エラーになります。alphaとbetaも正の数が必須です。0以下の値を渡すとエラーが出ますよ。
BETAINV関数の基本的な使い方
シンプルな例から見ていきましょう。alpha=8、beta=3のベータ分布で、累積確率50%(中央値)に対応する値を求めます。
=BETAINV(0.5, 8, 3)
結果は約 0.7414 です。「ベータ分布(alpha=8, beta=3)で、値が0.7414以下となる確率がちょうど50%」という意味ですね。
確率を変えて、いくつか代表的なパーセンタイルを並べてみましょう。
| 確率p | BETAINV(p, 8, 3) | 意味 |
|---|---|---|
| 0.025 | 約0.4439 | 下位2.5%点 |
| 0.05 | 約0.4931 | 下位5%点 |
| 0.25 | 約0.6446 | 第1四分位 |
| 0.50 | 約0.7414 | 中央値 |
| 0.75 | 約0.8244 | 第3四分位 |
| 0.95 | 約0.9127 | 上位5%点 |
| 0.975 | 約0.9333 | 上位2.5%点 |
この表から、BETAINV関数を使えばベータ分布の任意のパーセンタイルが簡単に求められることがわかります。
検算もしてみましょう。BETAINVの結果をBETADIST関数に入れると、元の確率に戻るはずです。
=BETADIST(BETAINV(0.5, 8, 3), 8, 3)
結果は 0.5 に戻ります。逆関数として正しく動いていることが確認できますね。
AとBを指定して0〜1以外の範囲で使う
工数見積もりのように「10日〜30日」の範囲で考えたい場合は、AとBを指定します。
=BETAINV(0.5, 8, 3, 10, 30)
結果は約 24.83 です。10 + (30 - 10) × 0.7414 ≈ 24.83 という計算で、0〜1の結果がそのまま範囲スケールに変換されている形ですね。
BETAINV関数とBETA.INV関数の違い
ここがこの記事のもう一つの大事なポイントです。名前がそっくりなので混同しがちですが、整理すると次のようになります。
1. 登場時期と扱い
| 関数 | 登場時期 | 現在の扱い |
|---|---|---|
| BETAINV | Excel 2007以前 | 互換性関数(旧関数) |
| BETA.INV | Excel 2010 | 後継関数(現行推奨) |
2. 引数の数と機能
引数の構造はまったく同じです。両関数とも (probability, alpha, beta, [A], [B]) の5引数で、必須は最初の3つ、AとBは省略可能ですね。
=BETAINV(0.95, 8, 3) → 約0.9127
=BETA.INV(0.95, 8, 3) → 約0.9127
同じ入力なら同じ結果が返ります。違いは内部の計算精度で、Excel 2010で精度を改善した実装がBETA.INVなんですね。
3. 書き換えのコツ
既存のBETAINV関数をBETA.INVに書き換えるときは、関数名にピリオドを入れるだけでOKです。
- 変更前:
=BETAINV(0.95, 13, 89) - 変更後:
=BETA.INV(0.95, 13, 89)
引数の数も順番もまったく同じなので、検索置換(Ctrl+H)で BETAINV( を BETA.INV( に一括置換すれば作業完了です。BETAINVを部分文字列に持つ別関数はないので、安全に置換できますよ。
4. ベータ分布関連4関数の対応関係
ペア関数(順方向=値→確率)とあわせて整理しておきましょう。
| 方向 | 旧関数(互換性) | 後継関数(現行推奨) |
|---|---|---|
| 順方向(値→確率) | BETADIST | BETA.DIST |
| 逆方向(確率→値) | BETAINV | BETA.INV |
旧関数2つは互換性のために残されているだけで、新規ブックでは後継関数2つを使うのが安心です。
BETAINV関数の実務での使い方
基本がわかったところで、実際の業務で使えるパターンを3つ紹介します。
1. コンバージョン率の信頼区間を求める
LP(ランディングページ)のA/Bテストで「パターンAが100回中12回コンバージョンした」ケースを考えてみましょう。真のコンバージョン率の95%信頼区間を求めます。
ベイズ推定では、alpha=成功数+1=13、beta=失敗数+1=89とします。95%信頼区間は下位2.5%点と上位97.5%点ですね。
=BETAINV(0.025, 13, 89) → 約0.0704(下限: 7.0%)
=BETAINV(0.975, 13, 89) → 約0.1983(上限: 19.8%)
真のコンバージョン率は95%の確率で 7.0%〜19.8% の範囲にあると推定できます。点推定の12%だけでなく、幅を持った判断ができるようになりますよ。「パターンBの結果がこの区間に重なるか」で、A/Bテストの有意性をざっくり判断する材料にもなります。
2. 不良品率の管理基準値を算出する
製造ラインの検査で「500個中10個が不良だった」場合を考えてみましょう。不良品率が「95%の確率でこの値以下」となるラインを求めます。
alpha=10+1=11、beta=490+1=491です。
=BETAINV(0.95, 11, 491)
結果は約 0.0336 で、不良品率は95%の確率で 3.36%以下 に収まると推定できます。「真の不良率は95%の確信度で3.36%以下」という上限値が分かるので、品質管理の許容ライン(例:4%超なら工程見直し)や、上司への報告で「点推定2%」だけでなく「上限3.36%」を併記する根拠資料として使えますね。
3. PERT法で工期の信頼区間を求める
PERT法(Program Evaluation and Review Technique:作業時間を楽観・最頻・悲観の3点で見積もる手法)でも、BETAINV関数が活躍します。たとえば楽観10日・最頻15日・悲観25日のタスクで、「90%の確率で完了する工期」を求めましょう。
PERT変換でα=4、β=4を使うと、範囲は10〜25日になります(α・βはPERT分布の分散を実務的なバラつきに合わせるための定番設定です)。
=BETAINV(0.9, 4, 4, 10, 25)
結果は約 20.8日 です。「このタスクは90%の確率で20.8日以内に完了する」という判断材料になります。ステークホルダーへの進捗報告で「90%の信頼度で20日強」と言えると説得力が増しますよね。
BETAINV関数でよくあるエラーと対処法
実務で使うときに遭遇しやすいエラーを整理しておきます。
#NUM! エラー
#NUM! エラーは、次のような条件で発生します。
- probabilityが0以下、または1以上のとき(0や1も含む)
- alphaまたはbetaが0以下のとき
- AがB以上のとき(下限が上限以上になっている)
- 内部計算が175回繰り返しても収束しなかったとき(極端なパラメータの組み合わせ)
probabilityには「0より大きく1より小さい」値を入れる必要がある点に注意です。「上限ぴったり」のつもりで1を入れるとエラーになりますよ。
#VALUE! エラー
#VALUE! エラーは、引数に数値以外(文字列など)を指定したときに発生します。セル参照の中身が数値になっているか、文字列として保存されていないかを確認しましょう。
TIP
数値のように見えても、セルの左上に緑の三角マークが付いている場合は文字列として保存されています。
=VALUE(セル参照)で数値に変換するか、ISNUMBER関数(数値かどうか判定する関数)でチェックしてみてください。
結果が想定と違うとき
A=0、B=1(既定値)の前提で計算しているのに、xが0〜1の範囲外になっていないか確認しましょう。AとBを省略するとA=0、B=1で固定されるので、範囲を超える値を扱う場合は明示的に指定する必要があります。
まとめ
ExcelのBETAINV関数について、構文や使い方、後継のBETA.INVとの違い、実務での活用例まで解説しました。ポイントを振り返ります。
- BETAINV関数は ベータ分布の累積確率から対応する値を逆算する 統計関数
- Excel 2010以降は互換性関数扱い。新規作成ではBETA.INV関数の利用が推奨
- 構文は
=BETAINV(probability, alpha, beta, [A], [B])で、AとBを省略すると0〜1の範囲で計算される - BETA.INVへの書き換えは関数名にピリオドを入れるだけで完了する(引数構造は完全一致)
- 実務ではA/Bテストの信頼区間・品質管理の不良率ライン・PERT工期見積もりなどで活躍する
#NUM!エラーは引数の範囲(probability、alpha、beta、A、B)の不備が原因のことが多い
古いブックでBETAINVを見かけたら、BETA.INVへの置き換えをセットで進めておくと、将来のメンテナンスがぐっと楽になりますよ。ペア関数のBETADIST→BETA.DISTもセットで書き換えると、ベータ分布まわりが現行関数で統一できておすすめです。
関数一覧
ましゅかぶろぐではExcel関数の一覧を3パターンご用意しています。用途に合わせてお使いください。
エラー値についてのまとめ記事
関数でエラーが発生した際に表示されるエラーの種類については、【Excel】セルに表示されるエラーの種類と原因、対処方法を解説でまとめていますので、あわせて確認してみてくださいね。
