「90%の確率で何分以内に終わるんだろう?」「保険金請求の95%上限額はいくらに設定すればいいんだろう?」。こんな「確率からx値(しきい値)を逆算したい」場面って、実務では意外と多いですよね。
そんなときに使えるのが、ExcelのGAMMA.INV関数です。GAMMA.DIST関数が「値→確率」を求める関数なら、GAMMA.INV関数はその真逆、「確率→値」を求める逆関数なんですよ。
この記事ではExcelのGAMMA.INV関数の使い方を、構文の基本からGAMMA.DIST関数とのペア活用、実務シナリオまで丁寧に解説します。旧関数GAMMAINV(読み方: ガンマインブ関数)との違いや、CHISQ.INV関数との関係まで、まるごと整理しますよ。
ExcelのGAMMA.INV関数とは
ExcelのGAMMA.INV関数(読み方: ガンマ・インバース関数)は、ガンマ分布の逆関数を返す関数です。
GAMMA.INVは、累積確率(たとえば「90%の確率」)を入力すると、対応するx値(その確率に達するボーダーライン)を返してくれます。つまり、GAMMA.DIST関数(値→確率を返す関数)の逆操作を行う関数ですね。
「INV」は「Inverse(逆)」の略で、累積分布関数(CDF)の逆関数を意味します。「GAMMA」はギリシャ文字のガンマ(Γ)に由来する数学用語ですよ。
たとえば「平均10分に1件の問い合わせが来る窓口で、3件対応するのが90%の確率で何分以内に終わるか」を、たった1つの数式で逆算できます。
ExcelのGAMMA.INV関数にできることをまとめると、次のとおりです。
- 累積確率からガンマ分布のx値(分位点)を求める
- VaR(バリュー・アット・リスク)的な上限値を計算する
- 「90%の信頼水準で〇〇以内に収まる値」を逆算する
- 保険準備金や安全在庫量のしきい値を設定する
NOTE
GAMMA.INV関数はExcel 2010以降で使えます。Excel 2007以前の環境ではGAMMAINV関数を使ってください。Microsoft 365、Excel 2024、Excel 2021ではどちらも引き続き使用できますよ。
「逆関数」とは何か
逆関数とは、入力と出力の関係を逆向きにした関数のことです。GAMMA.DIST関数とGAMMA.INV関数は、まさに入出力を入れ替えた関係にありますよ。
| 操作 | 関数 | 入力 | 出力 |
|---|---|---|---|
| 値→確率 | GAMMA.DIST(x, alpha, beta, TRUE) | x(評価する値) | x以下となる確率 |
| 確率→値 | GAMMA.INV(probability, alpha, beta) | 累積確率 | 対応するx値 |
「ある値以下になる確率は?」と聞かれたらGAMMA.DIST、「ある確率になるのは何の値?」と聞かれたらGAMMA.INV、と覚えておくとわかりやすいですよ。
基本構文と3つの引数
GAMMA.INV関数の構文はとてもシンプルです。
=GAMMA.INV(probability, alpha, beta)
カッコの中に3つの引数を指定します。すべて必須なので省略できませんよ。
| 引数 | 必須/任意 | 範囲 | 説明 |
|---|---|---|---|
| probability | 必須 | 0以上1未満 | ガンマ分布の累積確率 |
| alpha(アルファ) | 必須 | 正の数値 | 形状パラメータ |
| beta(ベータ) | 必須 | 正の数値 | 尺度パラメータ |
probabilityには累積確率(0から1の値)を指定します。たとえば95%なら0.95、中央値を求めたいなら0.5を入れますよ。
alphaは「形状パラメータ」と呼ばれ、分布の形を決める値です。イベント回数に相当します。betaは「尺度パラメータ」と呼ばれ、分布の広がりを決める値で、1回あたりの平均時間や金額に相当します。
平均は alpha × beta で計算できます。たとえばalpha=3、beta=10なら平均は30です。
WARNING
probabilityは0以上1未満です。1ちょうどを指定すると
#NUM!エラーになります。alphaとbetaも0以下を指定するとエラーになりますので、必ず正の数で指定してくださいね。
中央値を求めてみる
まずは一番シンプルな例として、中央値(probability=0.5)を求めてみましょう。alpha=3、beta=2のガンマ分布で計算します。
=GAMMA.INV(0.5, 3, 2)
結果は約5.3481です。「ちょうど50%の確率でx ≤ 5.35になる」という意味ですよ。平均値(alpha × beta = 6)よりやや小さいことに気づきます。これはガンマ分布が右に裾を引く非対称な分布だからですね。
GAMMA.DIST関数との関係(双方向検証)
GAMMA.INV関数の理解を深めるには、GAMMA.DIST関数との往復関係を確かめるのが一番です。同じパラメータ(alpha=3、beta=2)で双方向検証してみましょう。
GAMMA.DISTで「値→確率」を求める
まずはGAMMA.DIST関数で、x=10の累積確率を求めます。
=GAMMA.DIST(10, 3, 2, TRUE)
結果は約0.8753(87.5%)です。「x ≤ 10となる確率は87.5%」という意味ですね。
GAMMA.INVで「確率→値」を逆算する
次にGAMMA.INV関数で、累積確率0.8753に対応するx値を逆算します。
=GAMMA.INV(0.8753, 3, 2)
結果は約10.0です。GAMMA.DISTで入れたx=10がきちんと戻ってきましたね。これがGAMMA.DIST関数とGAMMA.INV関数が逆関数の関係にある証拠ですよ。
サンプルデータで対比してみる
alpha=3、beta=2の場合で、xと累積確率の対応を双方向で見てみましょう。
| x | GAMMA.DIST(累積確率) | GAMMA.INV(逆算結果) |
|---|---|---|
| 1 | 0.0144 | 約1.0 |
| 2 | 0.0803 | 約2.0 |
| 4 | 0.3233 | 約4.0 |
| 6 | 0.5768 | 約6.0 |
| 8 | 0.7619 | 約8.0 |
| 10 | 0.8753 | 約10.0 |
| 15 | 0.9797 | 約15.0 |
GAMMA.DISTで得た確率をGAMMA.INVに入れると、もとのxに戻ります。電卓の「逆算ボタン」のようなイメージですね。
TIP
「ある累積確率に対応するx値」のことを統計学では分位点(quantile)と呼びます。GAMMA.INV(0.95, …)なら「95パーセンタイル」を求めていることになりますよ。
GAMMA.INV関数の実務活用3パターン
基本がわかったところで、実際の業務で使えるパターンを3つ紹介します。
コールセンター――90%が終わる時間の上限
「平均10分間隔で問い合わせが来るコールセンター」を考えましょう。3件の問い合わせ対応が90%の確率で何分以内に終わるかを逆算します。alpha=3(3件分)、beta=10(1件あたり平均10分)と指定しますよ。
=GAMMA.INV(0.9, 3, 10)
結果は約53.32分です。「9割の場合、3件の対応が53分以内に終わる」と読めますね。
「95%が終わる時間」も求めてみましょう。
=GAMMA.INV(0.95, 3, 10)
結果は約62.95分です。SLA(サービスレベル合意)を「3件の処理時間:90%は53分以内、95%は63分以内」のように設定するときの根拠数値になりますよ。
保険金請求――95%が収まる上限額(VaR)
「過去データから形状パラメータalpha=2、尺度パラメータbeta=50万円の分布に従う」保険金請求を考えましょう。請求額の95%が収まる上限額を求めます。
=GAMMA.INV(0.95, 2, 50)
結果は約237.0万円です。「95%の確率で請求は237万円以下に収まる」と読めます。これは金融・保険業界でいうVaR(Value at Risk: バリュー・アット・リスク)的な発想で、準備金の設定や保険料の算出に使えますよ。
「99%上限」も計算してみましょう。
=GAMMA.INV(0.99, 2, 50)
結果は約331.9万円です。99%信頼水準なら準備金は332万円必要、という判断材料になりますね。
品質管理――上位5%の判定境界
「不良品の処理時間がalpha=5、beta=2分の分布に従う」工程を考えましょう。「処理時間の上位5%(外れ値)」を判定するしきい値を求めます。平均は5×2=10分ですね。
=GAMMA.INV(0.95, 5, 2)
結果は約18.31分です。「処理に18.3分以上かかったら異常値(上位5%)として要調査」のように、品質管理ルールのしきい値として使えますよ。
「上位1%」だとどうでしょうか。
=GAMMA.INV(0.99, 5, 2)
結果は約23.21分です。「23分超は明らかに異常」というラインが引けますね。安全在庫量の算定や、リードタイム分布からの欠品確率管理にも応用できます。
CHISQ.INV関数・他の逆関数との関係
GAMMA.INV関数は、特定のパラメータで指定すると他の分布関数の逆関数と一致します。実は統計関数の世界では中心的な存在なんですよ。
CHISQ.INV関数との関係(alpha=n/2、beta=2のとき)
alpha=n/2、beta=2を指定すると、ガンマ分布の逆関数は自由度nのカイ二乗分布の逆関数と一致します。以下の2つは同じ結果を返しますよ。
=GAMMA.INV(0.95, 3, 2)
=CHISQ.INV(0.95, 6)
どちらも約12.59を返します。alpha=3はカイ二乗分布の自由度6(n=2×alpha=6)に対応しますね。
指数分布との関係(alpha=1のとき)
alphaを1にすると、ガンマ分布の逆関数は指数分布の逆関数と一致します。
=GAMMA.INV(0.5, 1, 10)
結果は約6.93で、これは指数分布の中央値(10 × ln(2) ≒ 6.93)と一致しますよ。
TIP
ガンマ分布は「指数分布の一般化」であり、「カイ二乗分布を含む大きな分布族」でもあります。GAMMA.INVを覚えておくと、関連する分布の逆関数も同じ感覚で扱えるようになりますよ。
確率分布逆関数ファミリー
Excelには確率分布の逆関数(.INV系)がいくつかあります。目的に応じて使い分けましょう。
| 関数 | 用途 | いつ使うか |
|---|---|---|
| GAMMA.INV | ガンマ分布の逆関数 | 複数イベントの合計時間や右裾データのしきい値を逆算したい場合 |
| BETA.INV | ベータ分布の逆関数 | 比率や割合のしきい値を逆算したい場合 |
| CHISQ.INV | カイ二乗分布の逆関数 | 適合度検定や独立性検定の臨界値を求める場合 |
| NORM.INV | 正規分布の逆関数 | 連続データのパーセンタイルを求める場合 |
| F.INV | F分布の逆関数 | 分散分析の臨界値を求める場合 |
| T.INV | t分布の逆関数 | t検定の臨界値を求める場合 |
迷ったときの判断基準はシンプルです。
- 複数件の合計待ち時間や右裾データのしきい値 → GAMMA.INV
- 比率や割合のしきい値 → BETA.INV
- 連続データ(身長・体重など)のパーセンタイル → NORM.INV
- 検定の臨界値 → CHISQ.INV / F.INV / T.INV
よくある間違いと注意点
GAMMA.INV関数でつまずきやすいポイントをまとめました。エラーになったときはここをチェックしてみてくださいね。
probabilityが範囲外で#NUM!エラー
probabilityは0以上1未満で指定します。負の値や1以上を入れるとエラーになりますよ。
=GAMMA.INV(-0.1, 3, 2) --- #NUM! エラー
=GAMMA.INV(1.5, 3, 2) --- #NUM! エラー
=GAMMA.INV(1, 3, 2) --- #NUM! エラー
ガンマ分布は無限大に裾を引く分布なので、確率がちょうど1になるx値は存在しません。99.99%(0.9999)くらいまでに留めて指定しましょう。
alphaが0以下で#NUM!エラー
alpha(形状パラメータ)は正の数で指定します。0や負の値はエラーになりますよ。
=GAMMA.INV(0.5, 0, 2) --- #NUM! エラー
=GAMMA.INV(0.5, -1, 2) --- #NUM! エラー
イベント回数を表すパラメータなので、最低でも0より大きい値が必要です。
betaが0以下で#NUM!エラー
beta(尺度パラメータ)も正の数で指定します。0以下はエラーですよ。
=GAMMA.INV(0.5, 3, 0) --- #NUM! エラー
=GAMMA.INV(0.5, 3, -2) --- #NUM! エラー
1回あたりの平均時間(や金額)を表すパラメータなので、こちらも0より大きい値で指定してください。
引数に文字列を渡して#VALUE!エラー
数値であるべき引数にテキストが入ると#VALUE!エラーになります。セル参照を使うときは、参照先が数値であることを確認しましょう。
関数名のスペルミスで#NAME?エラー
関数名を「GAMMAINV」「GAMA.INV」のように打ち間違えると#NAME?エラーになります。ピリオド(.)の位置にも注意してくださいね。
なお「GAMMAINV」(ピリオドなし)は旧関数名で、こちらはエラーにならず動作します。詳しくは次のセクションで紹介しますよ。
probabilityとxを混同してしまう
GAMMA.INVに「観測値x」を入れてしまうケースがよくあります。GAMMA.INVの第1引数は「累積確率(0〜1の値)」ですよ。
| 求めたいもの | 関数と引数 |
|---|---|
| x以下となる確率 | =GAMMA.DIST(x, alpha, beta, TRUE) |
| ある確率に対応するx値 | =GAMMA.INV(probability, alpha, beta) |
「値を入れたら確率が返る」ならGAMMA.DIST、「確率を入れたら値が返る」ならGAMMA.INVと覚えてくださいね。
GAMMAINV関数(互換関数)との違い
ExcelにはGAMMA.INVのほかに、GAMMAINVという関数もあります。これはGAMMA.INVの旧バージョンですよ。
=GAMMAINV(0.95, 3, 2) --- 旧関数名(動作は同じ)
=GAMMA.INV(0.95, 3, 2) --- 新関数名(推奨)
引数の数・順番・意味もすべて同じで、計算結果もまったく同じです。Excel 2010以降で「.(ピリオド)入りの新名称」が導入されたタイミングで分かれました。
| 項目 | GAMMA.INV(新) | GAMMAINV(旧) |
|---|---|---|
| 導入時期 | Excel 2010以降 | Excel 2007以前から存在 |
| 推奨 | こちらを推奨 | 互換目的でのみ使用 |
| 計算結果 | 同じ | 同じ |
| 引数 | probability, alpha, beta | probability, alpha, beta |
| 廃止予定 | なし | 廃止予定のアナウンスなし |
新しく数式を書くときはGAMMA.INVを使いましょう。既存のシートでGAMMAINV関数が使われていても、そのまま動作しますよ。急いで書き換える必要はありません。
NOTE
Excel 2007互換ファイル(.xls形式)を使うチームと共有する場合は、GAMMAINV関数のままにしておくと安全です。新しい環境だけならGAMMA.INVで統一しましょう。
まとめ
ExcelのGAMMA.INV関数は、ガンマ分布の累積確率からx値を逆算する関数です。
- 累積確率(0以上1未満)を入力するとガンマ分布のx値(分位点)が返る
- GAMMA.DIST関数(値→確率)の逆関数として動作する
- alphaは形状パラメータ(イベント回数)、betaは尺度パラメータ(1回の平均時間)
- 平均値は alpha × beta で計算できる
- コールセンターのSLA設定・保険金請求のVaR・品質管理のしきい値に使える
- probabilityは0以上1未満で指定(1ちょうどは
#NUM!エラー) - alpha・betaは正の数で指定(0以下は
#NUM!エラー) - alpha=1なら指数分布の逆関数と同じ結果
- alpha=n/2、beta=2ならカイ二乗分布の逆関数(CHISQ.INV)と同じ結果
- 旧関数GAMMAINVと計算結果は同じ。新規にはGAMMA.INVを推奨
- 「比率や割合のしきい値」ならBETA.INV関数を使う
確率の話を「x値の上限」に置き換えられると、判断のスピードがぐっと上がります。GAMMA.INV関数を使えば、待ち時間や請求額のような連続データの上限値を客観的な数値で出せるようになりますよ。
