「100個の部品から10個を抜き取って検査して、不良品が1個も見つからない確率は?」。「10枚のくじから5枚引いて、当たりがちょうど2枚出る確率は?」。こんな「戻さずに引く」場面の確率を、感覚ではなく数式で答えられたらうれしいですよね。
実はExcelには、まさにそうした「非復元抽出(戻さない抽出)」の確率を計算してくれる関数が用意されています。それがHYPGEOM.DIST関数です。
この記事ではExcelのHYPGEOM.DIST関数の使い方を、構文の基本から実務での活用例まで丁寧に解説します。BINOM.DIST関数(復元抽出)との使い分けも整理します。旧関数HYPGEOMDIST(読み方: ハイパージオム・ディスト関数)との互換性まで、まるごと押さえていきますよ。
ExcelのHYPGEOM.DIST関数とは
ExcelのHYPGEOM.DIST関数(読み方: ハイパージオム・ディスト関数)は、超幾何分布にもとづいて確率を返す関数です。名前のうち「HYPGEOM」はHypergeometric(超幾何)、「DIST」はDistribution(分布)の略ですね。
超幾何分布とは、非復元抽出にもとづく確率分布のことです。非復元抽出とは、取り出したものを戻さずに次を引く方法を指します。くじ引きで当たりを引いたら袋に戻さず次を引く、あの場面をイメージしてください。引くたびに残りの枚数が減るので、毎回の当選確率が変わるんです。
たとえば「10枚のくじ(うち当たり3枚)から5枚引いて、ちょうど2枚当たる確率」を、たった1つの数式で求められます。
ExcelのHYPGEOM.DIST関数にできることをまとめると、次のとおりです。
- 非復元抽出で「ちょうどk個成功する」確率を求める(確率質量)
- 「k個以下成功する」累積確率を求める
- 抜き取り検査でロットの合格率を計算する
- くじ引きやカード抽選の確率を正確に算出する
NOTE
HYPGEOM.DIST関数はExcel 2010で追加された関数です。Excel 2013・2016・2019・2021・2024、Microsoft 365、Mac版でも同じように使えますよ。
基本構文と5つの引数
ExcelのHYPGEOM.DIST関数の基本構文は次のとおりです。
=HYPGEOM.DIST(標本成功数, 標本サイズ, 母集団成功数, 母集団サイズ, 関数形式)
カッコの中に5つの引数を指定します。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 標本成功数(sample_s) | 必須 | 標本内の成功数(当たりを何個引きたいか) |
| 標本サイズ(number_sample) | 必須 | 標本のサイズ(何個引くか) |
| 母集団成功数(population_s) | 必須 | 母集団内の成功数(全体の当たりの数) |
| 母集団サイズ(number_pop) | 必須 | 母集団のサイズ(全体の個数) |
| 関数形式(cumulative) | 必須 | TRUE: 累積確率/FALSE: 確率質量 |
引数の流れは「標本→母集団」の順番です。まず「標本のなかで何個当たったか」「標本は何個か」を指定します。次に「母集団の当たりは何個か」「母集団は何個か」を指定する形ですね。
TIP
引数に小数を指定すると、Excelは自動的に小数部分を切り捨てて処理します。意図しない結果を避けるため、最初から整数で指定するのが安心ですよ。
HYPGEOMDIST(旧関数)との関係
ExcelにはHYPGEOM.DISTとは別に、HYPGEOMDIST(ピリオドなし)という旧関数もあります。
HYPGEOMDISTは互換性のために残されている関数で、引数は4つだけです。累積確率を選ぶ引数(cumulative)がないため、確率質量しか計算できません。
新規でファイルを作るときは、必ずHYPGEOM.DIST(ピリオドあり)を使うようにしてくださいね。旧関数との違いは後ほど詳しく解説します。
二項分布との違い――「復元抽出」vs「非復元抽出」
HYPGEOM.DIST関数の理解で一番つまずきやすいのが、BINOM.DIST関数との違いです。
「どっちも成功と失敗を扱う関数なのに、何が違うの?」と感じる方が多いんですよね。ポイントは取り出したものを戻すかどうかにあります。
| 観点 | BINOM.DIST(二項分布) | HYPGEOM.DIST(超幾何分布) |
|---|---|---|
| 抽出方法 | 復元抽出(戻す/毎回独立) | 非復元抽出(戻さない) |
| 確率の変化 | 毎回一定 | 引くたびに変わる |
| 必要な情報 | 試行回数と成功確率 | 母集団サイズと母集団成功数 |
| 質問のかたち | 「100回試して3回成功する確率は?」 | 「10個から5個引いて2個当たる確率は?」 |
| 主な使いどころ | 大量生産の品質検査・アンケート | 抜き取り検査・くじ引き・抽選 |
たとえば「コインを100回投げて表が3回出る確率」はBINOM.DISTの守備範囲です。1回ごとの試行が独立で、確率が変わらないからですね。
一方で「100個のロットから10個を抜き取って不良品が0個の確率」はHYPGEOM.DISTの出番です。抜き取った部品はロットに戻さないため、引くたびに残りの構成が変わるからですよ。
TIP
「戻さないならHYPGEOM.DIST」「戻すまたは独立試行ならBINOM.DIST」と覚えると、実務での使い分けに迷いません。
母集団が大きいときは二項分布で近似できる
母集団サイズ(N)が標本サイズ(n)に対して十分に大きい場合、超幾何分布は二項分布に近似できます。目安はN > 20n(抽出率 n/N < 5%)です。
たとえば10,000個のロットから100個を抜き取る場面を考えてみましょう。抽出率は1%なので、BINOM.DIST関数で近似しても誤差はごくわずかです。
一方で150個のロットから15個を抜き取る場合、抽出率は10%になります。この規模ではHYPGEOM.DIST関数を使うほうが正確な結果を得られますよ。
母集団が小さいほど「戻さない」効果が大きくなります。迷ったらHYPGEOM.DIST関数を使えば、いつでも正確な確率が計算できます。
TRUE/FALSEで何が変わる?累積か確率質量かを選ぼう
HYPGEOM.DIST関数の第5引数(関数形式)は、TRUEとFALSEで結果の意味が大きく変わります。
この使い方はBINOM.DIST関数やNEGBINOM.DIST関数と同じ仕組みです。シリーズで読んでいる方には馴染みのある考え方ですね。
| 関数形式 | 意味 | 数学用語 | 答えるのは |
|---|---|---|---|
| TRUE | 累積分布関数(CDF) | 累積確率 | k個以下成功する確率 |
| FALSE | 確率質量関数(PMF) | 確率質量 | ちょうどk個成功する確率 |
累積分布関数(CDF)は0個からk個までの確率を全部足し上げた値です。一方の確率質量関数(PMF)は、ちょうどk個ピッタリの確率だけを返します。
具体例で見てみましょう。10枚のくじ(うち当たり3枚)から5枚引く場面を考えます。
=HYPGEOM.DIST(2, 5, 3, 10, FALSE)
→ 0.4167
=HYPGEOM.DIST(2, 5, 3, 10, TRUE)
→ 0.9167
どちらも「10枚中3枚が当たりのくじから5枚を引いたときの確率」を計算しています。引数はまったく同じで、違いは第5引数のTRUE/FALSEだけです。
FALSEの結果(約41.67%)は「ちょうど2枚当たる確率」を意味します。TRUEの結果(約91.67%)は「0枚・1枚・2枚のいずれかになる確率(つまり2枚以下)」を表しているんですね。
実務でよく使うのは累積(TRUE)のほうです。「不良品がN個以内に収まる確率は?」「当たりがN枚以下の確率は?」というビジネス上の問いに直結するからですよ。
ExcelのHYPGEOM.DIST関数の実務活用3パターン
ここからは、HYPGEOM.DIST関数を実務でどう使うかを3パターン紹介します。品質検査・くじ抽選・カードゲームの3シーンで具体的に見ていきましょう。
パターン1: 品質検査――抜き取り検査でロットの合格率を計算する
製造ラインの品質管理では、ロットからサンプルを抜き取って検査する「抜き取り検査」が一般的です。
たとえばロット100個(うち不良品5個)から10個を抜き取る検査を考えてみましょう。「不良品が1個以下なら合格」という基準で、合格する確率を求めます。
=HYPGEOM.DIST(1, 10, 5, 100, TRUE)
第1引数1が標本内の不良品数(合格基準の上限)、第2引数10が抜き取り数です。第3引数5がロット内の不良品数、第4引数100がロットサイズになります。第5引数TRUEで「1個以下の累積確率」を求める形ですね。
結果は約0.9231(92.3%) です。この基準なら約92%の確率で合格と判定されることが分かりますね。
NOTE
抜き取り検査は取り出した部品をロットに戻さない非復元抽出です。そのためHYPGEOM.DIST関数が理論的に正しい計算方法になりますよ。
パターン2: くじ抽選――特定本数の当たりを引く確率を見積もる
社内イベントやキャンペーンのくじ引きでも、HYPGEOM.DIST関数は便利に使えます。
たとえば景品付きくじ50本(うち当たり10本)から5本を引く場面を想定します。ちょうど2本当たる確率を計算してみましょう。
=HYPGEOM.DIST(2, 5, 10, 50, FALSE)
第1引数2が当たり本数、第2引数5が引く本数、第3引数10が全体の当たり本数、第4引数50が全体のくじ本数となります。第5引数はFALSEで「ちょうど2本」の確率質量を求めますね。
結果は約0.2098(21.0%) です。
景品の準備数を逆算したいときにも使えます。「参加者全員の当選率を一定にするには、当たりを何本入れればいいか」を試算する材料になりますよ。
パターン3: カードゲーム――特定カードを引き当てる確率を計算する
カードゲームやTCG(トレーディングカードゲーム)の戦略立案でも、HYPGEOM.DIST関数は活用できます。
たとえば40枚のデッキ(うちキーカード4枚)から初手7枚を引く場面を考えてみましょう。初手にキーカードが1枚以上含まれる確率を求めます。
=1 - HYPGEOM.DIST(0, 7, 4, 40, FALSE)
「キーカードが0枚の確率」を1から引くことで「1枚以上の確率」を計算しています。
結果は約0.5523(55.2%) です。デッキ構築のチューニングや、必要なカードの枚数調整に使えますね。
ボードゲームやカジノゲームの確率計算でも応用が利きます。「特定の組み合わせを引き当てる確率」を、HYPGEOM.DIST関数なら正確に算出できますよ。
「n個以上当たる確率」を求めるテクニック
実務では「k個以下に収まる確率」だけでなく、「n個以上当たる確率」を知りたい場面もあります。
HYPGEOM.DIST関数自体には「以上」の確率を直接求めるオプションはありません。でも、ちょっとした工夫で計算できますよ。
使うのは「全体の確率は1(=100%)」という性質です。n個以上成功する確率は、(n-1)個以下に収まる確率を1から引けば求められます。
=1 - HYPGEOM.DIST(n-1, 標本サイズ, 母集団成功数, 母集団サイズ, TRUE)
たとえば「10枚のくじ(うち当たり3枚)から5枚引いて、当たりが2枚以上出る確率」を求めるなら次のとおりです。
=1 - HYPGEOM.DIST(1, 5, 3, 10, TRUE)
→ 1 - 0.5
→ 0.5
1枚以下に当たりが収まる確率が約50%なので、その裏側、つまり2枚以上当たる確率も約50%という計算になりますね。
このテクニックはBINOM.DIST関数やBINOM.DIST.RANGE関数とも共通の考え方です。シリーズで覚えておくと応用が利きますよ。
TIP
「以上」の確率を求めるときは、引数を(n-1)にするのを忘れずに。「ちょうどn個」を含めるかどうかで結果が変わります。
HYPGEOMDIST(旧関数)との違いと互換性
ExcelにはHYPGEOM.DISTとは別に、HYPGEOMDIST(ピリオドなし)という旧関数があります。
「両方ともExcelに残っているけど、どう違うの?」と疑問に思う方も多いですよね。「古いファイルを受け取ったら直すべき?」と気になる場面もあります。ここで整理しておきましょう。
| 観点 | HYPGEOM.DIST | HYPGEOMDIST(旧) |
|---|---|---|
| 追加バージョン | Excel 2010以降 | Excel 2007以前から存在 |
| 引数の数 | 5つ(cumulativeあり) | 4つ(cumulativeなし) |
| 累積確率の計算 | できる(TRUE指定) | できない(PMFのみ) |
| 計算精度 | 改善された精度 | 旧来の精度 |
| Microsoftの推奨 | 推奨 | 互換性目的のみ |
HYPGEOMDISTは互換性関数(古いファイルとの互換性のために残された関数)です。Microsoftは公式に新関数への移行を推奨しています。「HYPGEOM.DISTが改善された精度を提供し、使用目的をより適切に反映した名称を持つ」と説明しているんです。
将来のExcelバージョンで削除される可能性もあるので、新規作成では必ずHYPGEOM.DISTを使ってくださいね。
旧関数ファイルを受け取ったときの判断ポイント
社内で旧関数HYPGEOMDISTを使ったファイルを受け取ったら、どう対処すればいいでしょうか。
実は、PMF(確率質量)の値だけなら旧関数でも問題ありません。HYPGEOMDIST(2, 5, 3, 10) と HYPGEOM.DIST(2, 5, 3, 10, FALSE) は同じ結果(0.4167)を返すからです。
=HYPGEOMDIST(2, 5, 3, 10)
→ 0.4167
=HYPGEOM.DIST(2, 5, 3, 10, FALSE)
→ 0.4167
ただし累積確率を求めたい場合は別です。旧関数には累積引数がないため、計算自体ができません。
旧関数で累積を求めるには、PMFをk=0から順に足し上げる必要があります。これが手間なので、累積を扱うならHYPGEOM.DISTに置き換えるのがおすすめですよ。
WARNING
旧関数HYPGEOMDISTは将来削除される可能性があります。重要な業務ファイルは早めに新関数へ移行しておくと安心です。
よくあるエラーと対処法
HYPGEOM.DIST関数でつまずきやすいエラーを5パターン紹介します。
| エラー | 原因 | 対処法 |
|---|---|---|
| #VALUE! | 引数に数値以外が入っている | 文字列や空白を数値に修正 |
| #NUM! | 標本成功数が標本サイズを超える(sample_s > number_sample) | 標本成功数を標本サイズ以下に修正 |
| #NUM! | 標本成功数が母集団成功数を超える(sample_s > population_s) | 標本成功数を母集団成功数以下に修正 |
| #NUM! | 母集団成功数が母集団サイズを超える(population_s > number_pop) | 母集団成功数を母集団サイズ以下に修正 |
| #NUM! | いずれかの引数が負の値 | すべての引数を0以上の整数に修正 |
特に多いのが、論理的にありえない値を入れてしまうケースです。たとえば「5個引いて6個当たる」「全体100個のうち当たり120個」のような矛盾は#NUM!エラーになります。
また、引数の順番を間違える方も多いです。第1引数(標本成功数)と第3引数(母集団成功数)はどちらも「成功数」なので混同しやすいんですね。入力時に表示されるツールチップで「sample_s」と「population_s」を確認するクセをつけましょう。
なお、引数に小数を入れた場合、Excelは自動で整数に切り捨てて処理します。意図しない結果を避けるため、最初から整数で指定するのが安心ですね。
超幾何分布関連の確率分布関数ファミリー早見表
HYPGEOM.DIST関数を理解できたら、関連する確率分布関数とセットで覚えておくと実務の幅が広がります。
| 関数 | 分布 | 何を求める? | 主な用途 |
|---|---|---|---|
| HYPGEOM.DIST | 超幾何分布 | 非復元抽出で当たる回数の確率 | 抜き取り検査・くじ・カード抽選 |
| BINOM.DIST | 二項分布 | 試行N回中の成功回数の確率 | 大量生産検査・アンケート |
| BINOM.DIST.RANGE | 二項分布 | 成功回数が範囲内に入る確率 | 「○回以上○回以下」の予測 |
| BINOM.INV | 二項分布の逆関数 | 累積確率がP以上になる最小成功数 | 必要試行数の逆算 |
| NEGBINOM.DIST | 負の二項分布 | 成功N回までの失敗回数の確率 | 採用・営業目標 |
| POISSON.DIST | ポアソン分布 | 単位時間あたりの発生回数の確率 | アクセス数・故障率 |
二項分布シリーズも合わせて押さえておきましょう。試行が独立(または復元抽出)ならBINOM.DIST関数、範囲指定ならBINOM.DIST.RANGE関数です。必要試行数の逆算ならBINOM.INV関数を使います。目標達成までの失敗数ならNEGBINOM.DIST関数、単位時間あたりの発生数ならPOISSON.DIST関数と、ケースに応じて使い分けてくださいね。
TIP
「戻すか戻さないか」を最初に整理すると、HYPGEOM.DISTかBINOM.DISTかが自然に決まります。母集団が小さいほど、戻すかどうかの違いが結果に効いてきますよ。
GoogleスプレッドシートとExcelの違い
HYPGEOM.DIST関数はExcelとGoogleスプレッドシートのどちらでも使えますが、いくつか注意点があります。
ExcelとSheetsで同じ引数を入れれば結果は同じです。基本的な使い勝手に大きな差はありません。
ただ、互換性まわりの事情はExcel固有のものがあります。
- Excel固有事情: 旧関数HYPGEOMDIST(4引数)が今も残っており、Office 2007以前との混在環境では旧関数が使われていることがある
- バージョン依存: HYPGEOM.DIST自体はExcel 2010以降で追加されたため、それ以前のバージョンのファイルでは旧関数しか使えない
- 将来の互換性: Microsoftは旧関数の将来削除を示唆しているため、長期保管するExcelファイルはHYPGEOM.DISTへの移行が望ましい
Googleスプレッドシートは元々HYPGEOM.DIST形式で関数を提供しています。そのため、こうした旧関数互換問題はあまり気にする必要がありませんよ。
スプレッドシート側の使い方を詳しく知りたい方は、スプレッドシートのHYPGEOM.DIST関数の記事もあわせてどうぞ。
まとめ
ExcelのHYPGEOM.DIST関数の使い方を、構文から実務活用までまとめてきました。最後に要点を整理しておきますね。
- HYPGEOM.DIST関数は超幾何分布の確率を返す関数。「非復元抽出(戻さない抽出)でちょうどk個当たる確率」を計算できる
- BINOM.DISTとの違いは『戻すか戻さないか』。戻さないならHYPGEOM.DIST、戻す(または独立試行)ならBINOM.DIST
- 引数は5つ。標本成功数・標本サイズ・母集団成功数・母集団サイズ・関数形式(TRUE/FALSE)の順で指定する
- TRUEは累積、FALSEは確率質量。実務では累積(TRUE)の出番が多い
- 「n個以上の確率」は1から引く。
=1-HYPGEOM.DIST(n-1, 標本サイズ, 母集団成功数, 母集団サイズ, TRUE)で求められる - 母集団がN > 20nのときは二項分布で近似可能。大規模ロットの検査ではBINOM.DISTでも実用上問題なし
- 旧関数HYPGEOMDISTは累積が計算できない。新規作成では必ずHYPGEOM.DISTを使う
- 抜き取り検査・くじ抽選・カードゲームの3シーンで実務に応用できる。「戻さない抽出」の正確な確率計算に強い
確率分布の関数は最初こそ難しく感じますが、「戻すか戻さないか」を意識すれば一気に整理されます。シリーズのBINOM.DIST関数・BINOM.DIST.RANGE関数も合わせてどうぞ。BINOM.INV関数やNEGBINOM.DIST関数・POISSON.DIST関数も読むと、確率計算の幅がぐっと広がりますよ。
ぜひ実務のシミュレーションに取り入れてみてくださいね。
