ヘッダーロゴ

BINOMDIST関数の使い方|一定の試行が成功する確率を計算する

=BINOMDIST(成功数,試行回数,成功率,累積)

binomdist_sample

BINOMDIST(バイノミアル・ディストリビュージョン)関数は、試行数・母集団のサイズ・成功数から復元抽出で一定の施行が成功する確率を計算する関数です

参考:BINOMDIST関数ドキュメントエディタヘルプ

BINOMDIST関数の使い方. 構文

BINOMDIST関数の構文は以下のとおりです。

=BINOMDIST(成功数,試行回数,成功率,累積)

BINOMDIST関数の構文内訳

引数 説明
成功数 必ず指定- 試行回数の試行における確率を求める成功数を指定します。
累積がTRUEの場合、BINOMDIST関数は成功数以下の範囲で成功が得られる確率を返し、FALSEの場合は、成功数の回数だけ成功が得られる確率を返します。
試行回数 必ず指定- 独立試行の回数を指定します。
成功率 必ず指定- 任意の試行における成功の確率を指定します。
累積 必ず指定[デフォルトはFALSE]- ※二項累積分布を使用するかどうかを指定します。(※二項分布とは、成功か失敗かの二択において成功・失敗が出る確率のこと。)TRUEなら0~成功数回の範囲で成功が得られる確率が計算され、FALSEなら成功数回の成功が得られる確率が計算されます。

BINOMDIST関数の使い方・実行サンプル

BINOMDIST関数を実行するサンプル。

コインを投げて表を出したいとき10回の試行のうち、ちょうど5回成功する確率を求めます。

成功したい回数 試す回数 1回の成功率 条件一致する確率
5 10 0.5 =BINOMDIST(A3,B3,C3,false)

各進数をBINOMDIST関数で算出した結果。

成功したい回数 試す回数 1回の成功率 条件一致する確率
5 10 0.5 0.24609375

GIFで↓

binomdist_sample

oyakun
コインを投げて表を出したいとき10回の試行のうち、ちょうど5回成功する確率は24%なのが分かりました。

BINOMDIST関数のサンプル実行結果

画像でBINOMDISTサンプル実行結果を確認↓

binomdist_kekka

BINOMDIST関数 × GASの使い方・サンプル

BINOMDIST関数をGASで利用する際の、かんたんなサンプルを作成してみました。

実装する表のサンプル。

成功数 試行回数 成功率 成功する確率
デフォは空白 デフォは空白 デフォは空白 デフォは空白

実装するGAS

  function BINOMDIST() {

      var ss,sht,val01,val02,val03,val04,val05,val06,array

        ss = SpreadsheetApp.getActiveSpreadsheet();
        sht = ss.getActiveSheet();
        val01 = Browser.inputBox('成功したい数を入力して下さい。',Browser.Buttons.OK_CANCEL);
        val02 = Browser.inputBox('試行する回数を入力して下さい。(成功したい回数よ以上の数を指定)',Browser.Buttons.OK_CANCEL);
        val03 = Browser.inputBox('1回で成功する確率を入力して下さい。',Browser.Buttons.OK_CANCEL);
        val04 = 'false';

        if(val01 == "cancel"|| val02 == "cancel"|| val03 == "cancel"|| val04 == "cancel"){
          Browser.msgBox("処理を中止しました");
          return;
          } else {
          array = [[val01,val02,val03]];
          sht.getRange(2,1,1,3).setValues(array);
          // BINOMDIST関数をセット
          val05 = sht.getRange("D2").setFormula('=BINOMDIST('+val01+','+val02+','+val03+','+val04+')').setNumberFormat('0.00%');
          val06 = val05.getValue();
          Browser.msgBox("成功率は「"+val06+"」です");
          }
        }

実行結果をGIFで

BINOMDIST_gas

oyakun
inputBoxへ成功数・試行回数・成功率を入力することで、D2セルへ成功率を表記します(入力しなければキャンセルに)

BINOMDIST関数を使うときの注意点

注意. 成功数>試行回数はエラー

BINOMDIST関数は、成功数>試行回数と指定すると#NUM!エラーを返します。

以下にサンプルを記載します。

成功数 試行回数 成功率 結果
5 2 0.5 #NUM!

binomdist_error1

oyakun
BINOMDIST関数に設置するA2セルの値に半角英字「a」を入れた時、BINOMDIST関数の算出結果は#NUM!を返していることが分かります。

成功数 < 0 または成功数 >試行回数の場合は、エラー値 #NUM! が返されます。

成功率 < 0 または成功率 > 1 の場合は、エラー値 #NUM! が返されます。

注意2. 引数に数値以外の値を指定すると#VALUE!エラーを返す

BINOMDIST関数では、成功数・試行回数・成功率に数値以外を指定すると#VALUE!エラーを返します

以下にサンプルを記載します。

成功数 試行回数 成功率 結果
1 5a 0.5 #VALUE!

bin2omdist_error2

oyakun
B2セルの値に数値以外の値が指定されたため、BINOMDIST関数の結果は#VALUE!を返していることが分かります。

BINOMDIST関数の使い方. ExcelとGoogleスプレッドシートとの違い

BINOMDIST関数は、ExcelとGoogleスプレッドシートで基本的な使い方に相違はありません

以下にBINOMDIST関数についてGoogleスプレッドシートとExcelの相違点をまとめました。

Excel スプレッドシート
成功数と試行回数は、整数に切り捨てられます。 成功数と試行回数は小数でも記載可能。

BINOMDIST関数はExcelでは

  • 成功数と試行回数は整数に切捨てられる
  • スプレッドシートでは小数値でも指定可能

といった点が、決定的な違いでしょうか。

oyakun
BINOMDIST関数の使い方は、EXCEL・Googleスプレッドシートともに同じと考えて良さそうです。

BINOMDIST関数の使い方 まとめ

BINOMDIST関数の使い方でした。 有効に利用するには、

  • 成功数 < 0 または成功数 > 試行回数にしない
  • 成功率 < 0 または成功率 > 1 にしない
  • テキストを指定しない
  • 累積にfalse(またはtrue)を必ず指定する

といった感じですね。

BINOMDIST関数を使うことで、コインの表が出る確率などを求めることが可能です。

oyakun
BINOMDIST関数ならサイコロの出る目の確率なんかも求めらるので、レクリエーションなどで活用できるかもですね!

関連記事: BIN2OCT関数の使い方|2進数を8進数に変換する
関連記事: BETAINV関数の使い方|β分布区間に対しβ累積分布の逆関数の値を返す
関連記事: BETADIST関数の使い方|ベータ分布関数で定義された特定値の確率を返す
関連記事: BASE関数の使い方|10進数を別の底のテキスト表現に変換する

  • この記事を書いた人
  • 最新記事

OYAKUN

30代半ば♂妻・子3人の5人で日々激戦中。Google app script&VBA初心者が自分の備忘録を兼ねて「スプレッドシート、Excel、WordPress、plugin」の設定等、主にブログやアフィリエイト周辺のtipsを背伸びしながらご紹介しています。

© 2021 OYAKUDACHI.XYZ