「お客様対応が3件続いたら、合計どのくらい時間がかかるんだろう?」「保険金の請求額が一定金額を超える確率はどのくらいだろう?」。こんな「複数の出来事が積み重なったときの確率」を、感覚ではなく数値で答えられたらうれしいですよね。
実はExcelには、まさにそうした「複数イベントの合計時間」や「右に裾が長いデータ」の確率を計算する関数が用意されています。それがGAMMA.DIST関数です。
この記事ではExcelのGAMMA.DIST関数の使い方を、構文の基本から実務での活用例まで丁寧に解説します。TRUE(累積分布)とFALSE(確率密度)の使い分けや、旧関数GAMMADIST(読み方: ガンマ・ディスト関数)との違いまで、まるごと整理しますよ。
ExcelのGAMMA.DIST関数とは
ExcelのGAMMA.DIST関数(読み方: ガンマ・ディスト関数)は、ガンマ分布にもとづいて確率を返す関数です。
ガンマ分布とは、複数のイベントが起こるまでの「合計待ち時間」を表す確率分布です。「成功か失敗か」のような離散的な試行ではなく、連続的な時間や金額のデータを扱うときに使います。「GAMMA」はギリシャ文字のガンマ(Γ)に由来する数学用語で、「DIST」は「Distribution(分布)」の略ですね。
たとえば「平均10分に1件の問い合わせが来る窓口で、3件対応するまでの合計時間が40分以内に収まる確率」を、たった1つの数式で求められます。
ExcelのGAMMA.DIST関数にできることをまとめると、次のとおりです。
- ある値以下となる確率を求める(累積分布関数)
- 特定の値での確率密度を求める(確率密度関数)
- 複数回のイベント発生にかかる合計時間の確率を計算する
- 保険金の請求額分布や売上データの分析に使う
NOTE
GAMMA.DIST関数はExcel 2010以降で使えます。Excel 2007以前の環境ではGAMMADIST関数を使ってください。Microsoft 365、Excel 2024、Excel 2021ではどちらも引き続き使用できますよ。
ガンマ分布が使える場面とは
ガンマ分布は、次のような場面で力を発揮します。
- 複数イベントの合計待ち時間: 問い合わせ3件分の処理時間の合計
- 右に裾が長いデータの分析: 保険金の請求額、故障修理費用など
- 正の値のみを取る連続データ: 降水量、年間売上高など
1件あたりの待ち時間が指数分布に従うとき、n件分の合計待ち時間はガンマ分布に従います。つまり指数分布の「複数回バージョン」がガンマ分布です。
TIP
ガンマ分布の形状パラメータ(alpha)が1のとき、ガンマ分布は指数分布と一致します。alpha=1なら指数分布関数(EXPON.DIST)と同じ結果が得られますよ。
基本構文と4つの引数
=GAMMA.DIST(x, alpha, beta, 関数形式)
カッコの中に4つの引数を指定します。すべて必須なので省略できません。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| x | 必須 | 評価する値(0以上の数値) |
| alpha(アルファ) | 必須 | 形状パラメータ(正の数値) |
| beta(ベータ) | 必須 | 尺度パラメータ(正の数値) |
| 関数形式(cumulative) | 必須 | TRUEで累積分布、FALSEで確率密度 |
alphaは「形状パラメータ」と呼ばれる数値で、分布の形を決めるパラメータです。イベント回数に相当します。betaは「尺度パラメータ」と呼ばれ、分布の広がりを決めるパラメータです。1回あたりの平均時間に相当します。
平均は alpha × beta で計算できます。たとえばalpha=3、beta=10なら平均は30です。
WARNING
alphaとbetaはどちらも正の数(0より大きい値)です。0以下を指定すると
#NUM!エラーになります。xは0以上で指定してくださいね。
GAMMA.DIST関数のTRUE/FALSEの違い
GAMMA.DIST関数の4番目の引数「関数形式」は、TRUEかFALSEで結果がまったく変わります。この違いを押さえることが使いこなすポイントですよ。
FALSE(確率密度関数)――ある値での密度
FALSEを指定すると確率密度関数(PDF: Probability Density Function)の値を返します。「値xでの確率の密度」を表す数値です。
=GAMMA.DIST(10, 3, 2, FALSE)
alpha=3、beta=2のガンマ分布で、x=10での確率密度を返します。結果は約0.0270です。
数学的には、次の式で計算されています。
f(x) = x^(alpha-1) * e^(-x/beta) / (beta^alpha * GAMMA(alpha))
確率密度はそのままでは「ちょうどxとなる確率」にはなりません。連続分布では、特定の1点の確率は厳密にはゼロになるためです。実務で確率を求めたいときはTRUEを使うのが基本ですよ。
TRUE(累積分布関数)――x以下となる確率
TRUEを指定すると累積分布関数(CDF: Cumulative Distribution Function)の値を返します。「値がx以下となる確率」を表す数値です。
=GAMMA.DIST(10, 3, 2, TRUE)
alpha=3、beta=2のガンマ分布で、x=10以下となる確率です。結果は約0.8753(87.5%)です。
実務で「x以内に収まる確率は?」と聞かれたら、迷わずTRUEを使ってくださいね。
2つを比較してみる(サンプルデータつき)
alpha=3、beta=2の場合で、xの値ごとの結果を比べてみましょう。平均値は alpha × beta = 6 です。
| x | FALSE(確率密度) | TRUE(x以下の確率) |
|---|---|---|
| 1 | 0.0758 | 0.0144(1.4%) |
| 2 | 0.1353 | 0.0803(8.0%) |
| 4 | 0.1465 | 0.3233(32.3%) |
| 6 | 0.1116 | 0.5768(57.7%) |
| 8 | 0.0710 | 0.7619(76.2%) |
| 10 | 0.0270 | 0.8753(87.5%) |
| 15 | 0.0037 | 0.9797(98.0%) |
FALSE列はx=4付近で最大値を取り、その前後で小さくなります。TRUE列はxが増えるほど1に近づいていきます。
「x以上となる確率」を求めたいときは =1 - GAMMA.DIST(x, alpha, beta, TRUE) と書きます。たとえば「10以上の確率」なら次のとおりです。結果は約0.1247(12.5%)です。
=1 - GAMMA.DIST(10, 3, 2, TRUE)
GAMMA.DIST関数の実務活用3パターン
基本がわかったところで、実際の業務で使えるパターンを3つ紹介します。
コールセンター――3件対応にかかる合計時間
「平均10分間隔で問い合わせが来るコールセンター」を考えましょう。3件の問い合わせに対応する合計時間が40分以内に収まる確率を求めます。alpha=3(3件分)、beta=10(1件あたり平均10分)と指定します。
=GAMMA.DIST(40, 3, 10, TRUE)
結果は約0.7619(76.2%)です。約76%の確率で40分以内に3件の対応が完了します。
では「50分以上かかる確率」はどうでしょうか。
=1 - GAMMA.DIST(50, 3, 10, TRUE)
結果は約0.1247(12.5%)です。3件で50分を超える確率は約12%ということがわかります。シフト計画やオペレーター人数の判断材料になりますね。
保険金請求――請求額の分布予測
「過去データから形状パラメータalpha=2、尺度パラメータbeta=50万円の分布に従う」保険金請求を考えましょう。請求額が150万円以下となる確率を求めます。
=GAMMA.DIST(150, 2, 50, TRUE)
結果は約0.8009(80.1%)です。請求の約80%が150万円以下に収まる、と予測できます。
「200万円を超える大口請求の確率」はどうでしょうか。
=1 - GAMMA.DIST(200, 2, 50, TRUE)
結果は約0.0916(9.2%)です。約9%の確率で200万円超の請求が来る計算になります。準備金の設定や保険料の算出に活用できますよ。
売上分析――日次売上の確率計算
「日次売上がalpha=5、beta=2万円のガンマ分布に従う」ケースを考えましょう。日次売上が8万円以上になる確率を求めます。平均は5×2=10万円ですね。
=1 - GAMMA.DIST(8, 5, 2, TRUE)
結果は約0.7149(71.5%)です。約71%の日で8万円以上の売上が見込めます。
「15万円以上の好調日」の確率も見てみましょう。
=1 - GAMMA.DIST(15, 5, 2, TRUE)
結果は約0.1321(13.2%)です。好調日は約13%の頻度で発生する計算ですね。人員配置や在庫計画の判断材料になりますよ。
EXPON.DIST関数・CHISQ.DIST関数との関係
GAMMA.DIST関数は、他の分布関数と数学的につながっています。実は、特定のパラメータで設定すると指数分布やカイ二乗分布と同じ結果が得られるんです。
EXPON.DIST関数との関係(alpha=1のとき)
alphaを1にすると、ガンマ分布は指数分布と完全に一致します。以下の2つは同じ結果を返します。
=GAMMA.DIST(5, 1, 10, TRUE)
=EXPON.DIST(5, 1/10, TRUE)
EXPON.DIST関数(指数分布関数)はlambda(率パラメータ)を使いますが、これはGAMMA.DISTのbetaの逆数(lambda = 1/beta)です。1件分の待ち時間ならEXPON.DIST、複数件の合計時間ならGAMMA.DISTを使い分けましょう。
CHISQ.DIST関数との関係(alpha=n/2、beta=2のとき)
alpha=n/2、beta=2を指定すると、ガンマ分布は自由度nのカイ二乗分布と一致します。以下の2つは同じ結果を返します。
=GAMMA.DIST(5, 3, 2, TRUE)
=CHISQ.DIST(5, 6, TRUE)
alpha=3はカイ二乗分布の自由度6(n=2×alpha=6)に対応します。CHISQ.DIST関数はガンマ分布の特殊ケースなんですね。
TIP
ガンマ分布は「指数分布の一般化」であり、「カイ二乗分布を含む大きな分布族」でもあります。統計の世界ではかなり中心的な存在ですよ。
確率分布関数ファミリー
Excelには、確率分布に関連する関数がいくつかあります。目的に応じて使い分けましょう。
| 関数 | 用途 | いつ使うか |
|---|---|---|
| GAMMA.DIST | ガンマ分布の確率 | 複数イベントの合計時間や右裾データを扱う場合 |
| CHISQ.DIST | カイ二乗分布の確率 | 適合度検定や独立性検定を行う場合 |
| NORM.DIST | 正規分布の確率 | 連続データ(身長・体重・気温など)を扱う場合 |
| WEIBULL.DIST | ワイブル分布の確率 | 製品寿命・故障率を分析する場合 |
| NEGBINOM.DIST | 負の二項分布の確率 | 成功回数までの失敗数を扱う場合 |
| HYPGEOM.DIST | 超幾何分布の確率 | 抜き取り検査の確率を扱う場合 |
| GAMMA | ガンマ関数(数値) | ガンマ関数の値そのものを計算する場合 |
迷ったときの判断基準はシンプルです。
- 複数件の合計待ち時間 → GAMMA.DIST
- 連続データの確率 → NORM.DIST
- 製品の寿命分析 → WEIBULL.DIST
- 適合度検定や独立性検定 → CHISQ.DIST
よくある間違いと注意点
GAMMA.DIST関数でつまずきやすいポイントをまとめました。エラーになったときはここをチェックしてみてくださいね。
xが負の値で#NUM!エラー
xは0以上の数値で指定します。負の値を入れるとエラーになりますよ。
=GAMMA.DIST(-1, 3, 2, TRUE) --- #NUM! エラー
ガンマ分布は「正の値のみを取る分布」なので、負の数を評価することはできません。
alphaが0以下で#NUM!エラー
alpha(形状パラメータ)は正の数で指定します。0や負の値はエラーになりますよ。
=GAMMA.DIST(5, 0, 2, TRUE) --- #NUM! エラー
イベント回数を表すパラメータなので、最低でも0より大きい値が必要です。
betaが0以下で#NUM!エラー
beta(尺度パラメータ)も正の数で指定します。0以下はエラーですよ。
=GAMMA.DIST(5, 3, 0, TRUE) --- #NUM! エラー
1回あたりの平均時間(や金額)を表すので、こちらも0より大きい値で指定してください。
引数に文字列を渡して#VALUE!エラー
数値であるべき引数にテキストが入ると#VALUE!エラーになります。セル参照を使うときは、参照先が数値であることを確認しましょう。
関数名のスペルミスで#NAME?エラー
関数名を「GAMMADIS」「GAMA.DIST」のように打ち間違えると#NAME?エラーになります。ピリオド(.)の位置にも注意してください。
TRUE/FALSEの指定を間違える
4番目の引数を省略することはできません。TRUEとFALSEでは結果がまったく異なるので、目的に合った値を選んでくださいね。「x以下の確率」を求めたいのにFALSEを指定すると、確率密度(小さな数値)が返ってしまいます。
| 求めたいもの | 指定 |
|---|---|
| x以下となる確率 | TRUE |
| x以上となる確率 | 1 - GAMMA.DIST(x, alpha, beta, TRUE) |
| ある値での密度 | FALSE |
GAMMADIST関数(互換関数)との違い
ExcelにはGAMMA.DISTのほかに、GAMMADISTという関数もあります。これはGAMMA.DISTの旧バージョンですよ。
=GAMMADIST(10, 3, 2, TRUE) --- 旧関数名(動作は同じ)
=GAMMA.DIST(10, 3, 2, TRUE) --- 新関数名(推奨)
引数の数・順番・意味もすべて同じで、計算結果もまったく同じです。Excel 2010以降で「.(ピリオド)入りの新名称」が導入されたタイミングで分かれました。
| 項目 | GAMMA.DIST(新) | GAMMADIST(旧) |
|---|---|---|
| 導入時期 | Excel 2010以降 | Excel 2007以前から存在 |
| 推奨 | こちらを推奨 | 互換目的でのみ使用 |
| 計算結果 | 同じ | 同じ |
| 引数 | x, alpha, beta, 関数形式 | x, alpha, beta, 関数形式 |
| 廃止予定 | なし | 廃止予定のアナウンスなし |
新しく数式を書くときはGAMMA.DISTを使いましょう。既存のシートでGAMMADIST関数が使われていても、そのまま動作します。急いで書き換える必要はありませんよ。
NOTE
Excel 2007互換ファイル(.xls形式)を使うチームと共有する場合は、GAMMADIST関数のままにしておくと安全です。新しい環境だけならGAMMA.DISTで統一しましょう。
まとめ
ExcelのGAMMA.DIST関数は、ガンマ分布にもとづいて確率を求める関数です。
- 4番目の引数にTRUEで「x以下となる確率」(累積分布関数)が返る
- FALSEで「値xでの確率密度」(確率密度関数)が返る
- alphaは形状パラメータ(イベント回数)、betaは尺度パラメータ(1回の平均時間)
- 平均値は alpha × beta で計算できる
- コールセンターの合計対応時間・保険金請求額・売上分析に使える
- 「x以上の確率」を求めるには
=1 - GAMMA.DIST(x, alpha, beta, TRUE)と書く - xが負の値やalpha・betaが0以下だと
#NUM!エラー - GAMMADIST関数(旧)と計算結果は同じ。新規にはGAMMA.DISTを推奨
- alpha=1なら指数分布(EXPON.DIST)と同じ結果になる
- alpha=n/2、beta=2ならCHISQ.DIST関数と同じ結果になる
- 「連続データの確率」ならNORM.DIST関数、「製品寿命分析」ならWEIBULL.DIST関数を使う
確率の計算は感覚に頼ると判断を誤りがちです。GAMMA.DIST関数を使えば、待ち時間や請求額のような連続データの確率を客観的な数値で出せるようになりますよ。
