スプレッドシートのEXPONDIST関数の使い方|指数分布(互換)

スポンサーリンク

「次のイベントまでの待ち時間を、確率で知りたい」。そんな場面で使うのが指数分布です。

Googleスプレッドシートで指数分布を扱う関数は2つあります。EXPONDIST関数とEXPON.DIST関数です。名前は違いますが、計算結果はまったく同じです。

この記事ではEXPONDIST関数の使い方を、基本構文から実務活用まで解説します。EXPON.DIST関数との違いもあわせて紹介しますよ。

EXPONDIST関数とは

EXPONDIST関数(読み方: エクスポンディスト関数)は、指数分布にもとづいて確率を返す関数です。指数分布とは、あるイベントが次に起こるまでの「待ち時間」を表す確率分布です。

たとえば「平均10分に1件の問い合わせが来る窓口で、5分以内に次の問い合わせが来る確率」を1つの数式で求められます。

EXPONDIST関数にできることをまとめると、次のとおりです。

  • ある時間内にイベントが起きる確率を求める(累積分布)
  • 特定の時点での確率密度を求める
  • コールセンターの待ち時間を確率で計算する
  • 機械の故障間隔やメンテナンス周期の予測に使う

WARNING

EXPONDIST関数は、以前のバージョンとの互換性を維持するための関数です。Googleスプレッドシートでは問題なく使えますが、新しく数式を書くときはEXPON.DIST関数を使うことをおすすめします。計算結果は同じです。

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

指数分布は、次の条件を満たす場面で使えます。

  1. イベントがランダムに発生する: いつ起きるかは予測できない
  2. 平均発生率が一定: 単位時間あたりの平均回数が変わらない
  3. 各イベントが独立: 前回のイベントが次の発生に影響しない

コールセンターへの着信間隔、機械の故障間隔、Webサイトへのアクセス間隔などが典型的な場面です。

TIP

指数分布には「無記憶性」という特徴があります。すでに5分待っていても、あと何分待つかの確率は最初から数えた場合と同じです。過去の待ち時間が未来に影響しない、というわけですね。

EXPONDIST関数の書き方(構文と引数)

基本構文

=EXPONDIST(x, lambda, 累積)

カッコの中に3つの引数を指定します。すべて必須です。

引数の説明

引数必須/任意説明
x必須評価する値(待ち時間など、0以上の数値)
lambda(ラムダ)必須率パラメータ(1/平均待ち時間)
累積(cumulative)必須TRUEで累積分布、FALSEで確率密度

lambdaは「率パラメータ」と呼ばれます。平均待ち時間の逆数です。たとえば平均10分に1件なら lambda = 1/10 = 0.1 です。

WARNING

lambdaは「平均待ち時間」ではなく「1/平均待ち時間」です。平均10分なら10ではなく0.1を指定してください。ここを間違えると結果が大きくずれます。

EXPONDIST関数の基本的な使い方

実際にEXPONDIST関数を使ってみましょう。

例題: コールセンターに平均10分間隔で問い合わせが来ます。5分以内に次の問い合わせが来る確率を求めてみます。lambda = 1/10 = 0.1です。

セルに次の数式を入力してください。

=EXPONDIST(5, 0.1, TRUE)

結果は約0.3935(39.4%) です。5分以内に次の問い合わせが来る確率は約39%ということがわかりました。

次に、同じ条件で確率密度を求めてみましょう。

=EXPONDIST(5, 0.1, FALSE)

結果は約0.0607 です。これは時間5での確率の密度を表す値です。「ちょうど5分の確率」ではない点に注意してくださいね。

「10分以上待つ確率」を知りたいときは、1から累積確率を引きます。

=1 - EXPONDIST(10, 0.1, TRUE)

結果は約0.3679(36.8%) です。10分以上の空白時間が生まれる確率は約37%ですね。

TRUE/FALSEの結果を比較する

平均10分間隔(lambda=0.1)の場合で、経過時間ごとの結果を並べてみましょう。

経過時間(分)FALSE(確率密度)TRUE(x分以内の確率)
10.09050.0952(9.5%)
30.07410.2592(25.9%)
50.06070.3935(39.4%)
100.03680.6321(63.2%)
150.02230.7769(77.7%)
200.01350.8647(86.5%)
300.00500.9502(95.0%)

FALSE列は時間が短いほど大きく、長くなるほど0に近づきます。TRUE列は時間が増えるほど1に近づいていきますよ。

EXPONDIST関数の実践的な使い方

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

コールセンターの待ち時間を確率で判断する

平均8分間隔で着信があるコールセンターを考えましょう。lambda = 1/8 = 0.125です。

3分以内に次の電話が来る確率を求めます。

=EXPONDIST(3, 0.125, TRUE)

結果は約0.3127(31.3%) です。約31%の確率で3分以内に次の電話が来ます。

では「15分以上電話が来ない確率」はどうでしょうか。

=1 - EXPONDIST(15, 0.125, TRUE)

結果は約0.1534(15.3%) です。15分以上の空白時間が生まれる確率は約15%です。この情報が他の作業に充てるかの判断材料になりますね。

機械のメンテナンス周期を見積もる

平均500時間で故障するプリンターを考えてみましょう。lambda = 1/500 = 0.002です。

300時間以内に故障する確率を求めます。

=EXPONDIST(300, 0.002, TRUE)

結果は約0.4512(45.1%) です。300時間以内に故障する確率は約45%です。

「1,000時間を超えても故障しない確率」も確認してみましょう。

=1 - EXPONDIST(1000, 0.002, TRUE)

結果は約0.1353(13.5%) です。1,000時間もつ確率は約14%です。メンテナンス計画は500時間を目安に組むのが妥当だとわかります。

配送業務の注文間隔を分析する

平均20分間隔で注文が入るECサイトを考えましょう。lambda = 1/20 = 0.05です。

10分以内に次の注文が来る確率を求めます。

=EXPONDIST(10, 0.05, TRUE)

結果は約0.3935(39.4%) です。約39%の確率で10分以内に次の注文が来ます。

一方で「30分以上注文が来ない確率」を見ると、

=1 - EXPONDIST(30, 0.05, TRUE)

結果は約0.2231(22.3%) です。30分以上空く確率は約22%です。この時間帯には梱包作業を進める、といった判断ができますね。

EXPONDIST関数でよくあるエラーと対処法

EXPONDIST関数でつまずきやすいポイントをまとめました。

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

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

=EXPONDIST(-1, 0.2, TRUE)   ← #NUM! エラー

lambda(ラムダ)が0以下で#NUM!エラー

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

=EXPONDIST(5, 0, TRUE)      ← #NUM! エラー
=EXPONDIST(5, -0.1, TRUE)   ← #NUM! エラー

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

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

lambdaに平均待ち時間をそのまま入れてしまう

よくある間違いの筆頭です。lambdaは「率パラメータ」です。平均待ち時間の逆数を指定します。平均10分なら lambda = 1/10 = 0.1 です。

セル参照で =EXPONDIST(5, 1/B1, TRUE) と書くと間違いを防げますよ。

TRUE/FALSEの指定を間違える

3番目の引数を省略することはできません。TRUEとFALSEでは結果がまったく異なります。「x以内に起きる確率」ならTRUE、「確率密度」ならFALSEです。

EXPONDIST関数とEXPON.DIST関数の違い

Googleスプレッドシートには、EXPONDIST関数のほかにEXPON.DIST関数があります。結論からいうと、計算結果はまったく同じです。

=EXPONDIST(5, 0.1, TRUE)      → 0.3935
=EXPON.DIST(5, 0.1, TRUE)     → 0.3935

違いは名前だけで、引数の数・順番・意味もすべて同じです。

項目EXPONDISTEXPON.DIST
構文=EXPONDIST(x, lambda, cumulative)=EXPON.DIST(x, lambda, cumulative)
引数の数33
計算結果同じ同じ
位置づけ互換関数(旧バージョン向け)推奨関数(新バージョン)

EXPONDIST関数は古いスプレッドシートとの互換性を維持するために残されている関数です。新しく数式を書くときはEXPON.DIST関数を使いましょう。既存のシートでEXPONDIST関数が使われている場合は、そのまま動作するので急いで書き換える必要はありません。

関連する統計関数

指数分布以外の確率分布を扱いたいときは、目的に合った関数を選びましょう。

関数用途いつ使うか
EXPON.DIST指数分布の確率EXPONDIST関数の推奨版。新規数式はこちら
POISSON.DISTポアソン分布の確率一定期間にイベントが何回起きるかを扱う場合
POISSONポアソン分布の確率(互換関数)既存のシートで使われている場合
NORM.DIST正規分布の確率連続データ(身長・体重・気温など)を扱う場合

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

  • 次のイベントまでの待ち時間 → EXPON.DIST(EXPONDISTでも同じ結果)
  • 一定期間にイベントが何回起きるかPOISSON.DIST
  • 連続データの確率NORM.DIST

まとめ

EXPONDIST関数は、指数分布(次のイベントまでの待ち時間)にもとづいて確率を求める互換関数です。

  • 3番目の引数にTRUEで「x以内にイベントが起きる確率」が返る
  • FALSEで「時間xでの確率密度」が返る
  • lambdaは平均待ち時間の逆数(1/平均)を指定する
  • コールセンターの待ち時間・機械故障間隔・注文間隔の予測に使える
  • 「x以上待つ確率」を求めるには =1 - EXPONDIST(x, lambda, TRUE) と書く
  • xが負の値やlambdaが0以下だと#NUM!エラー
  • EXPON.DIST関数と計算結果は同じ。新規にはEXPON.DISTを推奨
  • 「回数」を扱うならPOISSON.DIST関数、「連続データの確率」ならNORM.DIST関数を使う

「平均的な間隔はわかっているけど、次がいつ来るかの確率は?」を数字で答えられるようになると、人員配置やメンテナンス計画の精度がぐっと上がります。ぜひ実際のデータで試してみてくださいね。

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