「10人から3人のチームを作るとき、何通りの組み合わせがあるんだろう?」
抽選やチーム分け、メニューの選択パターンなど、場合の数を数えたい場面は意外と多いですよね。
手計算だと数が大きくなるほど大変です。
そんなときに使えるのがCOMBIN関数です。2つの数を指定するだけで、組み合わせの数を一発で計算してくれます。
この記事では基本の書き方から実務での活用例、PERMUT関数やFACT関数との関係まで紹介します。
COMBIN関数とは?
COMBIN関数(読み方: コンビネーション関数)は、n個の中からr個を選ぶ組み合わせの数を返す関数です。
名前は英語の「combination(組み合わせ)」からきています。
数学の授業で習った「nCr」の計算をしてくれる関数ですね。
たとえば =COMBIN(10, 3) と書くと「10人から3人を選ぶ組み合わせ」、つまり「120通り」が返ります。
組み合わせとは、選ぶ順番を考えない選び方のことです。
「AさんBさんCさん」と「CさんBさんAさん」は同じ1通りとして数えます。
COMBIN関数にできることをまとめると、次のとおりです。
- 指定した総数から指定した個数を選ぶ組み合わせの数を計算する
- チーム分けや班決めで何パターンあるか調べる
- 抽選やくじ引きの当選確率の計算に使う
- メニューやオプションの選択パターン数を求める
NOTE
COMBIN関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
COMBIN関数の書き方(構文と引数)
基本構文
=COMBIN(n, r)
カッコの中に「n(総数)」と「r(選ぶ個数)」の2つを入れます。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| n | 必須 | 全体の総数。0以上の整数を指定する |
| r | 必須 | 選択する個数。0以上かつn以下の整数を指定する |
たとえば10人から3人を選ぶなら、nが10、rが3です。小数を指定した場合は、小数点以下が切り捨てられます。
COMBIN関数の基本的な使い方
もっともシンプルな使い方
数値を直接指定するパターンです。
=COMBIN(5, 2)
結果は「10」です。5人から2人を選ぶ組み合わせは10通りあります。
=COMBIN(10, 3)
結果は「120」です。10個から3個を選ぶ組み合わせですね。
=COMBIN(6, 6)
結果は「1」です。6個すべてを選ぶ場合は1通りしかありません。
セル参照を使う
A1に総数「40」、B1に選ぶ個数「4」が入っているとします。
=COMBIN(A1, B1)
結果は「91390」です。40人から4人を選ぶ組み合わせは91,390通りもあります。
セル参照を使えば、値を変えるだけで結果が自動更新されます。
特殊なケース
選ぶ個数が0のとき、結果は「1」です。何も選ばないパターンは1通りという意味です。
=COMBIN(10, 0)
結果は「1」です。
選ぶ個数が1のとき、結果は総数と同じになります。
=COMBIN(10, 1)
結果は「10」です。10個から1個を選ぶ方法は10通りですね。
COMBIN関数の実践的な使い方・応用例
チーム分けのパターン数を調べる
20人の部署から5人のプロジェクトチームを作るとします。
=COMBIN(20, 5)
結果は「15504」です。15,504通りもの組み合わせがあります。
TIP
複数チームに分ける場合は、最初のチームの組み合わせ数だけでは足りません。全チームのパターン数は、順番にCOMBIN関数で計算して掛け合わせます。
抽選の当選確率を計算する
宝くじの当選確率を求めてみましょう。45個の番号から6個を選ぶ場合の組み合わせは次のとおりです。
=COMBIN(45, 6)
結果は「8145060」です。約814万通りの中から1つが当たりなので、当選確率は次のように計算できます。
=1/COMBIN(45, 6)
結果は「0.00000012…」です。約814万分の1ですね。
商品の組み合わせパターンを数える
10種類の商品から3種類を選んでセットにする場合です。
=COMBIN(10, 3)
結果は「120」です。120パターンのセット商品を作れます。
会議の握手問題
8人の会議で全員が1回ずつ握手をすると、全部で何回の握手が発生するかを求められます。
=COMBIN(8, 2)
結果は「28」です。2人ずつの組み合わせなので、COMBIN関数で計算できます。
よくあるエラーと対処法
COMBIN関数で発生しやすいエラーをまとめました。
| エラー | 原因 | 対処法 |
|---|---|---|
| #NUM! | rがnより大きい(例: COMBIN(3, 5)) | 選ぶ個数が総数以下か確認する |
| #NUM! | n または r に負の数を指定した | 0以上の整数を指定する |
| #VALUE! | 引数に文字列が入っている | セル参照先が数値かどうか確認する |
| #ERROR! | 構文ミス(カッコ忘れ・カンマ漏れ等) | 数式の入力内容を見直す |
選ぶ個数が総数を超えているとき
もっとも多いエラーです。5人しかいないのに10人選ぶことはできませんよね。
=COMBIN(5, 10)
この数式は#NUM!エラーになります。nとrの指定が逆になっていないか確認してみてください。
引数に小数を指定したとき
小数を指定してもエラーにはなりません。小数点以下が切り捨てられて計算されます。
=COMBIN(5.8, 2.3)
この数式は =COMBIN(5, 2) と同じ結果で「10」を返します。
COMBIN関数と似た関数との違い・使い分け
| 関数 | 動作 | 順番の区別 | 重複 |
|---|---|---|---|
| COMBIN | 組み合わせの数を返す | 区別しない | なし |
| PERMUT | 順列の数を返す | 区別する | なし |
| COMBINA | 重複組み合わせの数を返す | 区別しない | あり |
| FACT | 階乗(n!)を返す | – | – |
COMBIN関数とPERMUT関数の違い(組み合わせ vs 順列)
もっとも混同しやすいのがこの2つです。違いは選ぶ順番を区別するかどうかです。
- COMBIN関数(組み合わせ): 順番を区別しない。A,B,CとC,B,Aは同じ1通り
- PERMUT関数(順列): 順番を区別する。A,B,CとC,B,Aは別の1通り
5人から3人を選ぶケースで比べてみましょう。
=COMBIN(5, 3)
結果は「10」です。組み合わせは10通りです。
=PERMUT(5, 3)
結果は「60」です。順列は60通りです。
順列(60)は組み合わせ(10)の6倍ですね。これは選んだ3人の並べ方が3! = 6通りあるためです。
使い分けのポイントは次のとおりです。
- チーム分け・委員選び → COMBIN(誰を選ぶかだけが重要)
- リレーの走順・座席の並び → PERMUT(順番も重要)
COMBIN関数とCOMBINA関数の違い(重複なし vs 重複あり)
COMBINA関数は同じ要素を複数回選べる組み合わせ(重複組み合わせ)を計算します。
=COMBIN(5, 3)
結果は「10」です。5種類から3つを選ぶ(重複なし)。
=COMBINA(5, 3)
結果は「35」です。5種類から3つを選ぶ(重複あり)。
使い分けのポイントは次のとおりです。
- 掃除当番を3人選ぶ → COMBIN(同じ人を2回選べない)
- ドリンクを3杯注文する → COMBINA(同じドリンクを複数選べる)
COMBIN関数とFACT関数の関係
FACT関数は階乗(n!)を返す関数です。実は、COMBIN関数の計算結果はFACT関数で再現できます。
組み合わせの公式は「nCr = n! / (r! x (n-r)!)」です。
これをFACT関数で書くと次のようになります。
=FACT(10) / (FACT(3) * FACT(10-3))
結果は「120」です。これは =COMBIN(10, 3) と同じ結果ですね。
COMBIN関数はこの面倒な計算を1つの関数で済ませてくれるわけです。通常はCOMBIN関数を使えば十分です。
Excelとの違い
COMBIN関数はExcelとGoogleスプレッドシートで完全に同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =COMBIN(数値, 抜き取り数) | =COMBIN(n, r) |
| 動作 | 組み合わせの数を返す | 組み合わせの数を返す |
| 小数の扱い | 小数点以下を切り捨て | 小数点以下を切り捨て |
| エラー時 | #NUM! / #VALUE! | #NUM! / #VALUE! |
引数名の表記が若干異なるだけで、機能は完全に同じです。
まとめ
COMBIN関数は、n個の中からr個を選ぶ組み合わせの数を求める関数です。
ポイントを整理します。
- 構文は
=COMBIN(n, r)の2引数。組み合わせの数(nCr)を返す - チーム分けや抽選の確率計算など、「何通りあるか」を調べるときに便利
- PERMUT関数(順列)との違いは、選ぶ順番を区別するかどうか
- COMBINA関数は同じ要素を複数回選べる「重複組み合わせ」を計算する
- FACT関数の階乗で同じ計算ができるが、COMBIN関数のほうがシンプル
- ExcelのCOMBIN関数と完全に同じ動作で、互換性も安心
まずは =COMBIN(10, 3) で「10個から3個を選ぶ組み合わせ = 120通り」から試してみてください。
