「100個検査して不良品が3個以下に収まる確率は?」「100人にアンケートを送って50件以上回収できる確率は?」。こんな疑問を、感覚ではなく数字で答えられたらうれしいですよね。
実はExcelには、こうした「成功か失敗か」型の確率をピタリと計算してくれる関数があります。それがBINOM.DIST関数です。
この記事ではExcelのBINOM.DIST関数の使い方を、基本構文から実務活用例まで丁寧に解説します。TRUE/FALSEの違いや、COMBIN関数との関係もあわせて紹介しますよ。
ExcelのBINOM.DIST関数とは
ExcelのBINOM.DIST関数(読み方: バイノム・ディスト関数)は、二項分布にもとづいて確率を返す関数です。
二項分布とは、「成功か失敗か」の2択を繰り返したときに、成功が何回起きるかの確率分布のことです。「BINOM」は「Binomial(二項)」、「DIST」は「Distribution(分布)」の略ですね。
たとえば「不良品率5%の製品を50個検査したとき、不良品が2個以下になる確率」を、たった1つの数式で求められます。
ExcelのBINOM.DIST関数にできることをまとめると、次のとおりです。
- ちょうどx回成功する確率を求める(確率質量)
- x回以下成功する確率を求める(累積確率)
- 品質検査で合格ラインに収まる確率を計算する
- アンケートの回収数や営業の成約件数を確率で予測する
NOTE
BINOM.DIST関数はExcel 2010以降で利用できます。Excel for Web・Mac・Microsoft 365でも同じように動きますよ。
二項分布が成り立つ3つの条件
ExcelのBINOM.DIST関数を使うには、データが二項分布の前提を満たしている必要があります。
- 結果が2択: 各試行の結果は「成功」か「失敗」のどちらか
- 成功確率が一定: 毎回の試行で成功する確率が変わらない
- 各試行が独立: ある試行の結果が、次の試行の結果に影響しない
製品の検査、アンケートの回収、コイン投げなどは、この3条件を満たす典型的な場面です。
TIP
「成功確率が試行ごとに変わる」「試行が互いに影響する」場合は二項分布が成り立ちません。前提を確認してから使いましょう。
基本構文と4つの引数
ExcelのBINOM.DIST関数の基本構文は次のとおりです。
=BINOM.DIST(成功回数, 試行回数, 成功確率, 累積)
カッコの中に4つの引数を指定します。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 成功回数(number_s) | 必須 | 成功と判定する回数(0以上の整数) |
| 試行回数(trials) | 必須 | 試行の合計回数(1以上の整数) |
| 成功確率(probability_s) | 必須 | 各試行で成功する確率(0〜1の範囲) |
| 累積(cumulative) | 必須 | TRUEで累積確率、FALSEで確率質量 |
TIP
成功回数や試行回数に小数を指定すると、小数部分は切り捨てられます。たとえば2.7は2として処理されますよ。
BINOMDIST(旧関数名)との関係
ExcelにはBINOMDISTという関数もあります。これはBINOM.DISTの旧名称(Excel 2007以前で使われていたもの)で、現在も互換性のために残されています。計算結果は同じです。
=BINOMDIST(2, 20, 0.05, TRUE) ← 旧関数名(互換性のため残存)
=BINOM.DIST(2, 20, 0.05, TRUE) ← 新関数名(推奨)
どちらを使っても結果は同じですが、Microsoftの公式ドキュメントではBINOM.DISTが推奨されています。新しく数式を書くときはBINOM.DISTを使いましょう。
TRUE/FALSEで何が変わる?累積か確率質量かを選ぼう
ExcelのBINOM.DIST関数の4番目の引数「累積」は、TRUEかFALSEで結果がまったく変わります。この違いを押さえることが、関数を使いこなすポイントです。
FALSE(確率質量関数)——ちょうどx回成功する確率
FALSEを指定すると確率質量関数(PMF: ちょうどx回成功する確率)の値を返します。
=BINOM.DIST(3, 10, 0.5, FALSE)
この数式は「10回コインを投げて、ちょうど3回表が出る確率」を返します。結果は約0.1172(11.7%) ですね。
TRUE(累積分布関数)——x回以下成功する確率
TRUEを指定すると累積分布関数(CDF: x回以下成功する確率の合計)の値を返します。
=BINOM.DIST(3, 10, 0.5, TRUE)
この数式は「10回コインを投げて、3回以下表が出る確率」を返します。結果は約0.1719(17.2%) です。
つまり0回・1回・2回・3回それぞれの確率を合計した値ですね。
2つを比較してみる(サンプルデータつき)
10回試行・成功確率50%の場合で、成功回数ごとの結果を比べてみましょう。
| 成功回数 | FALSE(ちょうどx回) | TRUE(x回以下) |
|---|---|---|
| 0 | 0.0010(0.1%) | 0.0010(0.1%) |
| 1 | 0.0098(1.0%) | 0.0107(1.1%) |
| 2 | 0.0439(4.4%) | 0.0547(5.5%) |
| 3 | 0.1172(11.7%) | 0.1719(17.2%) |
| 4 | 0.2051(20.5%) | 0.3770(37.7%) |
| 5 | 0.2461(24.6%) | 0.6230(62.3%) |
FALSE列は成功回数5回(ちょうど半分)で最大になります。TRUE列は成功回数が増えるほど1(=100%)に近づいていきますね。
NOTE
TRUE/FALSEを省略するとエラーになります。必ずどちらかを明示してください。
ExcelのBINOM.DIST関数の実務活用3パターン
基本がわかったところで、実際の業務で使えるパターンを3つ紹介します。
品質管理——不良品が基準以下に収まる確率
製造業の品質検査でよくある場面です。「不良品率5%の製品を50個検査したとき、不良品が3個以下になる確率」を求めてみましょう。
=BINOM.DIST(3, 50, 0.05, TRUE)
結果は約0.7604(76.0%) です。約76%の確率で不良品が3個以下に収まることがわかりますね。
もう少し厳しく「不良品が1個以下」の確率も出してみましょう。
=BINOM.DIST(1, 50, 0.05, TRUE)
結果は約0.2794(27.9%) です。品質管理の合格基準を設定するときの目安として使えますよ。
アンケート回収——目標回収数に届く確率を予測
「回収率40%のアンケートを100人に送った場合、50件以上回収できる確率は?」という疑問にも答えられます。
=1 - BINOM.DIST(49, 100, 0.4, TRUE)
結果は約0.0271(2.7%) です。回収率40%では、100人中50件以上の回収はかなり難しいことがわかります。
では目標を45件に下げるとどうでしょうか。
=1 - BINOM.DIST(44, 100, 0.4, TRUE)
結果は約0.1356(13.6%) です。このように目標ラインを変えながら確率を試算できます。現実的な回収目標を設定するときに重宝しますよ。
営業成約——目標達成確率のシミュレーション
「成約率30%の営業担当が月20件商談して、8件以上成約する確率は?」。こんな場面でも使えます。
=1 - BINOM.DIST(7, 20, 0.3, TRUE)
結果は約0.2277(22.8%) です。目標8件の達成確率は約23%だとわかりますね。
目標を6件に下げてみましょう。
=1 - BINOM.DIST(5, 20, 0.3, TRUE)
結果は約0.5836(58.4%) です。KPIの設定や商談数の目標を決めるときに、数字で根拠を示せるのがBINOM.DIST関数の強みですね。
「x回以上」の確率を求めるテクニック
BINOM.DIST関数のTRUEは「x回以下」の確率を返します。実務では「x回以上」の確率がほしい場面も多いですよね。
そんなときは次のように書きます。
=1 - BINOM.DIST(x-1, 試行回数, 成功確率, TRUE)
ここで重要なのが「x-1」にする点です。
「x回以上」には「ちょうどx回」も含まれます。そのため「x-1回以下の累積確率」を1から引く必要があるんですね。
たとえば「6回以上成功する確率」がほしい場合は、こうなります。
=1 - BINOM.DIST(5, 10, 0.5, TRUE)
「5回以下の累積確率」を1から引くことで、「6回以上の確率」が求められます。BINOM.DIST(6, ...) ではなく BINOM.DIST(5, ...) にする点に注意してくださいね。
TIP
「ちょうどx回」「x回以下」「x回以上」の3パターンは混同しやすいので、どの確率を求めたいのか最初にはっきりさせておくとミスが減りますよ。
COMBIN関数との関係を理解しよう
ExcelのBINOM.DIST関数のFALSE(確率質量)の結果は、実はCOMBIN関数(n個からk個を選ぶ組み合わせ数を求める関数)を使った次の数式と同じ値になります。
=COMBIN(試行回数, 成功回数) * 成功確率^成功回数 * (1-成功確率)^(試行回数-成功回数)
たとえば「10回中3回成功、成功確率50%」の場合です。
=COMBIN(10, 3) * 0.5^3 * 0.5^7
結果は0.1172で、=BINOM.DIST(3, 10, 0.5, FALSE) とぴったり一致しますよ。
二項分布の確率は「組み合わせ数 × 成功確率 × 失敗確率」で成り立っています。BINOM.DIST関数はこの計算を1つの関数にまとめてくれているわけですね。
TIP
仕組みを理解しておくと、BINOM.DIST関数の結果を検算したいときに役立ちます。ただし実務では、BINOM.DIST関数をそのまま使うのが圧倒的に簡単ですよ。
二項分布関連の関数ファミリー
Excelには、二項分布に関連する関数がいくつかあります。目的に応じて使い分けましょう。
| 関数 | 用途 | 特徴 |
|---|---|---|
| BINOM.DIST | 成功回数から確率を求める | 最も汎用的。実務のメイン関数 |
| BINOM.DIST.RANGE | 範囲指定の累積確率を求める | 「下限以上、上限以下」の確率を一発計算(Excel 2013以降) |
| BINOM.INV | 累積確率から成功回数を逆算する | BINOM.DISTの逆関数。「確率80%以内に収まる成功回数」の算出に便利 |
| CRITBINOM | BINOM.INVの旧関数名 | 互換性のため残存。動作はBINOM.INVと同じ |
| COMBIN | 組み合わせの数を求める | 二項分布の数学的な背景を理解するときに使う |
| NORM.DIST | 正規分布にもとづく確率を求める | 連続データ向け。試行回数が大きいとき二項分布の近似に使える |
使い分けのポイントはシンプルです。
- 成功/失敗の2択で確率を知りたい → BINOM.DIST
- 「下限〜上限」の範囲確率を一発で出したい → BINOM.DIST.RANGE
- 確率から成功回数を逆算したい → BINOM.INV
- 連続データの確率を知りたい → NORM.DIST
迷ったらBINOM.DIST関数を使えば、「成功/失敗」型のデータにはほとんど対応できますよ。
よくあるエラーと対処法
ExcelのBINOM.DIST関数でつまずきやすいポイントをまとめました。
#NUM!エラー(成功回数が試行回数を超えた)
成功回数は試行回数以下でなければなりません。たとえば「10回の試行で15回成功」は起こりえないので、エラーになります。
=BINOM.DIST(15, 10, 0.5, TRUE) ← #NUM! エラー
成功回数が試行回数を超えていないか、引数の数値を見直しましょう。
#NUM!エラー(成功確率が0〜1の範囲外)
成功確率は0から1の間で指定します。50%なら「50」ではなく「0.5」と入力してください。
=BINOM.DIST(3, 10, 50, TRUE) ← #NUM! エラー(50ではなく0.5)
=BINOM.DIST(3, 10, 0.5, TRUE) ← OK
パーセント値をそのまま入れてしまうのは初心者がやりがちなミスです。気をつけてくださいね。
#VALUE!エラー(引数に文字列が入った)
数値であるべき引数にテキストが入ると#VALUE!エラーになります。
=BINOM.DIST("三", 10, 0.5, TRUE) ← #VALUE! エラー
セル参照を使うときは、参照先が数値であることを確認しましょう。文字列型として入力された数値(’10 のような形式)も同じエラーになります。
TRUE/FALSEの指定ミス
4番目の引数は省略できません。TRUEとFALSEでは結果がまったく異なるからです。
「ちょうどx回の確率」を求めたいのにTRUEを指定すると、累積値が返ってきてしまいます。
| 目的 | 指定する値 |
|---|---|
| ちょうどx回成功する確率 | FALSE |
| x回以下成功する確率 | TRUE |
| x回以上成功する確率 | TRUEを使って =1 - BINOM.DIST(x-1, ...) |
目的に合った値を選んでくださいね。
Googleスプレッドシートとの違い
ExcelのBINOM.DIST関数は、Googleスプレッドシートでも同じ名前・同じ構文で使えます。
=BINOM.DIST(3, 10, 0.5, TRUE)
この数式はExcel・スプレッドシートどちらの環境でも同じ結果を返します。Googleスプレッドシートでも旧関数名のBINOMDISTが使えるので、どちらの関数名でも動作しますよ。
ExcelとGoogleスプレッドシートを併用している方は、BINOM.DISTで統一しておけば、データを行き来させても計算結果がぶれません。
まとめ
ExcelのBINOM.DIST関数は、二項分布(成功/失敗の2択)にもとづいて確率を求める関数です。
- 4番目の引数にFALSEで「ちょうどx回成功する確率」が返る
- TRUEで「x回以下成功する確率」が返る
- 品質管理・アンケート回収予測・営業成約シミュレーションなど幅広く活用できる
- COMBIN関数で手計算した結果と一致する(仕組みの理解に役立つ)
- 成功回数が試行回数を超える、または成功確率が0〜1の範囲外だと
#NUM!エラー - 「x回以上」を求めるには
=1 - BINOM.DIST(x-1, n, p, TRUE)と書く(x-1がポイント) - 連続データの確率にはNORM.DIST関数が向いている
- 累積確率から成功回数を逆算したいときはCRITBINOM関数(またはBINOM.INV関数)
「この条件でうまくいく確率はどのくらい?」を数字で答えられるようになると、意思決定の質がぐっと上がります。ぜひ実際のデータで試してみてくださいね。
