ExcelのEXPON.DIST関数の使い方|指数分布で待ち時間や故障時間の確率を求める

スポンサーリンク

「次のお客様問い合わせはいつ来るんだろう?」「機械が故障するまであと何時間もつのかな?」。

こうした「次のイベントが起こるまでの時間」を、感覚ではなく確率で答えられたらうれしいですよね。

実はExcelには、まさにそうした「次の事象までの待ち時間」の確率を計算する関数があります。それがEXPON.DIST関数です。

この記事ではExcelのEXPON.DIST関数(読み方: エクスポン・ディスト関数)の使い方を解説します。構文の基本から実務での活用例まで丁寧にまとめます。lambda(率パラメータ)の意味やTRUE/FALSEの使い分け、旧関数EXPONDIST(読み方: エクスポンディスト関数)との違いも整理しますよ。

ExcelのEXPON.DIST関数とは

ExcelのEXPON.DIST関数は、指数分布にもとづいて確率を返す関数です(読み方: エクスポン・ディスト関数)。

指数分布とは、ある事象が「次に起こるまでの時間(待ち時間)」が従う確率分布です。「EXPON」は「Exponential(指数)」の略で、「DIST」は「Distribution(分布)」の略です。関数名を直訳すると「指数分布」になります。

たとえば「平均10分に1件の問い合わせが来るコールセンター」で、次の入電が5分以内に来る確率を、たった1つの数式で求められます。

ExcelのEXPON.DIST関数にできることをまとめると、次のとおりです。

  • ある時間以内に次の事象が起こる確率を求める(累積分布関数)
  • 特定の時点での確率密度を求める(確率密度関数)
  • 機械の故障時間や問い合わせ間隔の予測に使う
  • 待ち行列やコールセンターのキャパシティ計算に活用する

NOTE

EXPON.DIST関数はExcel 2010以降で使えます。Excel 2007以前の環境ではEXPONDIST関数を使ってください。Microsoft 365、Excel 2024、Excel 2021ではどちらも引き続き使用できます。

指数分布が使える場面とは

指数分布は、次のような場面で力を発揮します。

  1. 次のイベントまでの待ち時間: 次の問い合わせが来るまでの時間
  2. 製品の故障までの時間: 偶発的に故障する電子部品の寿命
  3. サービス時間の分析: 窓口での1人あたり対応時間の分布

これらに共通するのは「ある率で発生する事象」を扱う点です。1分あたりの発生件数がポアソン分布に従うとき、事象と事象の間の時間は指数分布に従います。

基本構文と3つの引数

=EXPON.DIST(x, lambda, 関数形式)

カッコの中に3つの引数を指定します。すべて必須なので省略できません。

引数必須/任意説明
x必須評価する値(0以上の数値)
lambda(ラムダ)必須率パラメータ(正の数値)
関数形式(cumulative)必須TRUEで累積分布、FALSEで確率密度

xには「待ち時間」「故障時間」など、調べたい時間の値を入れます。lambdaは「単位時間あたりの平均発生回数」を表すパラメータです。たとえば「1分あたり平均0.5件発生」なら lambda = 0.5 と指定します。

TIP

lambda(ラムダ)は「平均待ち時間の逆数」と覚えると簡単です。平均10分に1件発生するなら lambda = 1/10 = 0.1 です。実務では =EXPON.DIST(5, 1/10, TRUE) のように、分数のまま書いても計算できますよ。

WARNING

lambdaは正の数(0より大きい値)です。0以下を指定すると#NUM!エラーになります。xも0以上で指定してください。

EXPON.DIST関数のTRUE/FALSEの違い

EXPON.DIST関数の3番目の引数「関数形式」は、TRUEかFALSEで結果がまったく変わります。この違いを押さえることが使いこなすポイントです。

TRUE(累積分布関数)――x以下となる確率

TRUEを指定すると累積分布関数(CDF)の値を返します。CDFはCumulative Distribution Functionの略です。「待ち時間がx以下となる確率」を表す数値です。

=EXPON.DIST(5, 0.1, TRUE)

lambda=0.1(平均10分に1件)の指数分布で、5以下となる確率を返します。結果は約0.3935(39.4%)です。「次のイベントまで5分以内に発生する確率は約39%」と読めます。

数学的には、次の式で計算されています。

F(x) = 1 - e^(-lambda*x)

実務で「○分以内に発生する確率は?」と聞かれたら、迷わずTRUEを使いましょう。

FALSE(確率密度関数)――ある時点での密度

FALSEを指定すると確率密度関数(PDF)の値を返します。PDFはProbability Density Functionの略です。「時点xでの確率の密度」を表す数値です。

=EXPON.DIST(5, 0.1, FALSE)

lambda=0.1の指数分布で、x=5での確率密度を返します。結果は約0.0607です。

数学的には、次の式で計算されています。

f(x) = lambda * e^(-lambda*x)

確率密度はそのままでは「ちょうどxとなる確率」にはなりません。連続分布では、特定の1点の確率は厳密にはゼロになるためです。実務で確率を求めたいときはTRUEを使うのが基本です。

2つを比較してみる(サンプルデータつき)

lambda=0.1(平均10分に1件)の場合で、xの値ごとの結果を比べてみましょう。平均待ち時間は 1/0.1 = 10分です。

x(分)TRUE(x以下の確率)FALSE(確率密度)
10.0952(9.5%)0.0905
50.3935(39.4%)0.0607
100.6321(63.2%)0.0368
150.7769(77.7%)0.0223
200.8647(86.5%)0.0135
300.9502(95.0%)0.0050

TRUE列はxが増えるほど1に近づいていきます。FALSE列はx=0で最大値(lambda=0.1)を取り、徐々にゼロに近づきます。

「x以上となる確率」を求めたいときは =1 - EXPON.DIST(x, lambda, TRUE) と書きます。たとえば「20分以上発生しない確率」なら次のとおりです。結果は約0.1353(13.5%)です。

=1 - EXPON.DIST(20, 0.1, TRUE)

EXPON.DIST関数の実務活用3パターン

基本がわかったところで、実際の業務で使えるパターンを3つ紹介します。

機械故障――200時間以内に故障する確率

「平均故障間隔(MTBF)が500時間の機械」を考えましょう。次の200時間以内に故障する確率を求めます。lambda = 1/500 = 0.002 と指定します。

=EXPON.DIST(200, 1/500, TRUE)

結果は約0.3297(33.0%)です。約33%の確率で200時間以内に故障する計算です。

「1000時間以上故障せずに動き続ける確率」も確認しましょう。

=1 - EXPON.DIST(1000, 1/500, TRUE)

結果は約0.1353(13.5%)です。1000時間ノートラブルで動く確率は約13%とわかります。保守計画や予備機の準備判断に使えますね。

コールセンター――次の入電までの待ち時間

「平均10分に1件の入電があるコールセンター」を考えましょう。次の入電が5分以内に来る確率を求めます。lambda = 1/10 = 0.1 です。

=EXPON.DIST(5, 1/10, TRUE)

結果は約0.3935(39.4%)です。約39%の確率で5分以内に次の入電があります。

「20分間入電がない確率」はどうでしょうか。「20分以上次の入電が来ない確率」と同じ意味です。

=1 - EXPON.DIST(20, 1/10, TRUE)

結果は約0.1353(13.5%)です。約13%の確率で20分以上の空き時間が発生する計算です。オペレーターの休憩タイミングや人員配置の参考になりますよ。

Webサイト――次の問い合わせまでの間隔

「平均30分に1件の問い合わせフォーム送信があるサイト」を考えましょう。次の問い合わせまで15分以内に来る確率を求めます。lambda = 1/30 です。

=EXPON.DIST(15, 1/30, TRUE)

結果は約0.3935(39.4%)です。約39%の確率で15分以内に次の問い合わせが来ます。

「1時間以上問い合わせが来ない確率」も見てみましょう。

=1 - EXPON.DIST(60, 1/30, TRUE)

結果は約0.1353(13.5%)です。約13%の頻度で1時間以上空く計算です。サポート担当者の待機時間や別タスクへの切り替えタイミングの判断材料になりますよ。

指数分布の無記憶性という性質

指数分布には「無記憶性(メモリーレス性)」というユニークな性質があります。他の分布には見られない特徴で、実務での解釈に直結するポイントです。

無記憶性とは

「すでに s 時間経過した条件下で、さらに t 時間以上待つ確率」が「最初から t 時間以上待つ確率」と等しい性質を、無記憶性と呼びます。

たとえば、機械故障の例で考えてみましょう。lambda = 1/500(MTBF 500時間)の機械があるとします。

  • 新品の機械が「100時間以内に故障する確率」 → 約18.1%
  • 既に300時間動いた機械が「次の100時間以内に故障する確率」 → 約18.1%
=EXPON.DIST(100, 1/500, TRUE)

「過去にどれだけ動いていたか」に関係なく、確率が同じになるのが無記憶性です。

実務での注意点

無記憶性は「故障率が時間によらず一定」という前提のもとで成り立ちます。実際の機械の多くは経年劣化があるので、純粋な指数分布が当てはまらないケースもあります。

そういう場合はWEIBULL.DIST関数を検討してください。WEIBULL.DISTは「使うほど壊れやすくなる」「初期不良が多い」といった、より現実的な故障パターンを表現できます。

TIP

電子部品の偶発故障期(バスタブ曲線の中間期間)は、指数分布で近似しやすい時期です。初期故障期や摩耗故障期はWEIBULL.DIST関数のほうが適しますよ。

POISSON.DIST関数・GAMMA.DIST関数との関係

EXPON.DIST関数は、ほかの分布関数と数学的につながっています。特にPOISSON.DISTとGAMMA.DISTは「同じ現象を別角度から見ている」関係です。セットで理解しておくと便利ですよ。

POISSON.DIST関数との関係(双対関係)

POISSON.DISTとEXPON.DISTは、ポアソン過程という同じ現象を「件数視点」と「時間視点」で見ている関係です。

  • POISSON.DIST関数: 単位時間に何件起こるか(離散・件数)
  • EXPON.DIST関数: 次の1件まで何時間かかるか(連続・時間)

たとえば「平均10分に1件入電するコールセンター」は、次の2つの見方ができます。

  • POISSON.DIST視点: 「10分間に2件入電する確率は?」
  • EXPON.DIST視点: 「次の入電まで5分以内に来る確率は?」

同じパラメータlambdaを共有しますが、出力の単位(件数か時間か)が異なります。「件数を聞かれたらPOISSON.DIST、時間を聞かれたらEXPON.DIST」と覚えてくださいね。

GAMMA.DIST関数との関係(n件の合計時間)

GAMMA.DIST関数はガンマ分布の確率を計算します。alpha=1のとき、ガンマ分布は指数分布と完全に一致します。

=GAMMA.DIST(5, 1, 10, TRUE)
=EXPON.DIST(5, 1/10, TRUE)

この2つは同じ結果(約0.3935)を返します。GAMMA.DISTのbetaは「1回あたりの平均時間」、EXPON.DISTのlambdaは「1単位時間あたりの率」なので、lambda = 1/beta の関係にあります。

  • 1件の待ち時間 → EXPON.DIST
  • n件分の合計待ち時間 → GAMMA.DIST

「3件処理する合計時間が40分以内に収まる確率」のように、複数件の合計時間を扱うときはGAMMA.DISTを使いましょう。

確率分布関数ファミリー

Excelには確率分布に関連する関数がいくつかあります。目的に応じて使い分けましょう。

関数用途いつ使うか
EXPON.DIST指数分布の確率次のイベントまでの待ち時間を扱う場合
POISSON.DISTポアソン分布の確率単位時間内の発生件数を扱う場合
GAMMA.DISTガンマ分布の確率複数件の合計待ち時間を扱う場合
NORM.DIST正規分布の確率連続データ(身長・体重・気温など)を扱う場合
WEIBULL.DISTワイブル分布の確率故障率が時間と共に変化する場合
NEGBINOM.DIST負の二項分布の確率成功回数までの失敗数を扱う場合
HYPGEOM.DIST超幾何分布の確率抜き取り検査の確率を扱う場合

迷ったときの判断基準はシンプルです。

  • 次のイベントまでの待ち時間 → EXPON.DIST
  • 単位時間内の発生件数 → POISSON.DIST
  • 複数件の合計時間 → GAMMA.DIST
  • 故障率が変化するモデル → WEIBULL.DIST

よくある間違いと注意点

EXPON.DIST関数でつまずきやすいポイントをまとめました。エラーになったときはここをチェックしてみてください。

lambdaに「平均時間」を入れてしまう

最も多い間違いです。lambdaは「率パラメータ(1/平均時間)」であって「平均時間そのもの」ではありません。

=EXPON.DIST(5, 10, TRUE)      --- 間違い(lambda=10は1単位時間あたり10件発生の意味)
=EXPON.DIST(5, 1/10, TRUE)    --- 正解(平均10分に1件 = lambda=0.1)

「平均10分に1件」のつもりで lambda=10 を入れると、まったく違う結果になります。lambda = 1/平均時間 の変換を忘れずに行ってください。

xが負の値で#NUM!エラー

xは0以上の数値で指定します。負の値を入れるとエラーになります。

=EXPON.DIST(-1, 0.5, TRUE)    --- #NUM! エラー

指数分布は「正の値のみを取る分布」なので、負の数を評価することはできません。

lambdaが0以下で#NUM!エラー

lambdaは正の数で指定します。0や負の値はエラーになります。

=EXPON.DIST(5, 0, TRUE)       --- #NUM! エラー
=EXPON.DIST(5, -0.5, TRUE)    --- #NUM! エラー

率パラメータは「単位時間あたりの平均発生回数」を表すので、0より大きい値が必要です。

引数に文字列を渡して#VALUE!エラー

数値であるべき引数にテキストが入ると#VALUE!エラーになります。セル参照を使うときは、参照先が数値であることを確認しましょう。

関数名のスペルミスで#NAME?エラー

関数名を「EXPONDIS」「EXPN.DIST」のように打ち間違えると#NAME?エラーになります。ピリオド(.)の位置にも注意してください。

TRUE/FALSEの指定を間違える

3番目の引数は省略できません。TRUEとFALSEでは結果がまったく異なるので、目的に合った値を選んでください。「○分以内の確率」を求めたいのにFALSEを指定すると、確率密度(小さな数値)が返ってきます。

求めたいもの指定
x以下となる確率TRUE
x以上となる確率1 - EXPON.DIST(x, lambda, TRUE)
ある時点での密度FALSE

EXPONDIST関数(互換関数)との違い

ExcelにはEXPON.DISTのほかに、EXPONDISTという関数もあります。これはEXPON.DISTの旧バージョンです。

=EXPONDIST(5, 0.1, TRUE)         --- 旧関数名(動作は同じ)
=EXPON.DIST(5, 0.1, TRUE)        --- 新関数名(推奨)

引数の数・順番・意味もすべて同じで、計算結果もまったく同じです。Excel 2010以降で「.(ピリオド)入りの新名称」が導入されたタイミングで分かれました。

項目EXPON.DIST(新)EXPONDIST(旧)
導入時期Excel 2010以降Excel 2007以前から存在
推奨こちらを推奨互換目的でのみ使用
計算結果同じ同じ
引数x, lambda, 関数形式x, lambda, 関数形式
廃止予定なし廃止予定のアナウンスなし

新しく数式を書くときはEXPON.DISTを使いましょう。既存のシートでEXPONDIST関数が使われていても、そのまま動作します。急いで書き換える必要はありませんよ。

NOTE

Excel 2007互換ファイル(.xls形式)を使うチームと共有する場合は、EXPONDIST関数のままにしておくと安全です。新しい環境だけならEXPON.DISTで統一しましょう。

まとめ

ExcelのEXPON.DIST関数は、指数分布にもとづいて確率を求める関数です。

  • 3番目の引数にTRUEで「x以下となる確率」(累積分布関数)が返る
  • FALSEで「時点xでの確率密度」(確率密度関数)が返る
  • lambdaは率パラメータで、lambda = 1/平均時間 の関係にある
  • 平均待ち時間は 1/lambda で計算できる
  • 機械故障時間・コールセンター待ち時間・Web問い合わせ間隔の予測に使える
  • 「x以上の確率」を求めるには =1 - EXPON.DIST(x, lambda, TRUE) と書く
  • xが負の値やlambdaが0以下だと#NUM!エラー
  • 「平均時間」をそのままlambdaに入れる間違いに注意(lambda = 1/平均時間
  • EXPONDIST関数(旧)と計算結果は同じ。新規にはEXPON.DISTを推奨
  • 指数分布には「無記憶性」というユニークな性質がある
  • 件数を扱うならPOISSON.DIST関数、複数件の合計時間ならGAMMA.DIST関数を使い分ける
  • 故障率が時間と共に変化する場合はWEIBULL.DIST関数を使う

待ち時間や故障時間の予測は感覚に頼ると判断を誤りがちです。EXPON.DIST関数を使えば、客観的な確率の数値で意思決定の材料を得られますよ。

タイトルとURLをコピーしました