ExcelのCOMBINA関数の使い方|重複ありの組み合わせ数を一発計算

スポンサーリンク

「5種類のトッピングから3つ選べるけど、同じものを何回選んでもOK。全部で何通り?」

こういう計算を手作業でやろうとすると、けっこう面倒ですよね。普通の組み合わせ計算では同じものを繰り返し選べないので、公式が違ってきます。

ExcelのCOMBINA関数なら、重複を許した組み合わせの数を一発で計算できます。この記事では、基本の書き方から実務での活用例、COMBIN関数との違い、エラー対処法までまとめて解説しますね。

ExcelのCOMBINA関数とは

COMBINA関数(読み方: コンビナ)は、重複を許してn個の中からr個を選ぶ組み合わせの数を返す関数です。名前は英語の “combination with repetition”(重複組み合わせ)に由来します。

たとえば =COMBINA(5, 3) と書くと、5種類から3つを重複ありで選ぶ組み合わせ数「35」が返ります。

ここでいう「重複を許す」とは、同じ要素を何度でも選べるということです。りんご・みかん・ぶどうの3種類から2つ選ぶ場合で比べてみましょう。

  • 重複なしCOMBIN関数): りんご+みかん、りんご+ぶどう、みかん+ぶどうの3通り
  • 重複あり(COMBINA関数): 上の3つに加えて、りんご+りんご、みかん+みかん、ぶどう+ぶどうの6通り

COMBINA関数は、同じ商品を複数選べるセット企画や、サイコロの出目パターンなど「繰り返し選択OK」の場面で活躍します。対応バージョンはExcel 2013以降です。Microsoft 365やExcel 2021でも問題なく使えますよ。

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

基本構文

=COMBINA(総数, 抜き取り数)

カッコの中に「総数(種類の数)」と「抜き取り数(選ぶ個数)」の2つを入れます。

引数の説明

引数必須/任意説明
総数必須選択肢の種類の数。0以上の整数を指定する
抜き取り数必須選ぶ個数。0以上の整数を指定する

小数を指定した場合は、小数点以下が切り捨てられます。たとえば =COMBINA(5.8, 2.3)=COMBINA(5, 2) と同じ結果になりますよ。

COMBIN関数との大きな違いは、抜き取り数が総数より大きくてもエラーにならないことです。重複が許されるので、3種類から5つ選ぶこともできます。

COMBINA関数の計算式

数学的には「重複組み合わせ(nHr)」と呼ばれる計算をしています。公式は次のとおりです。

nHr = (n + r - 1)! / (r! × (n - 1)!)

「!」は階乗(かいじょう)で、その数から1まで順に掛け合わせる計算です。FACT関数で書くと次のようになります。

=FACT(n + r - 1) / (FACT(r) * FACT(n - 1))

COMBINA関数を使えば、この面倒な計算が1つの数式で済みますね。

COMBINA関数の基本的な使い方

数値を直接指定する

結果を表示したいセルを選択して、数式を入力します。

=COMBINA(5, 3)

結果は 35 です。5種類から3つを重複ありで選ぶ組み合わせは35通りあります。

もう1つ試してみましょう。

=COMBINA(6, 2)

結果は 21 です。サイコロ2個の出目の組み合わせ数と同じですね。

セル参照を使う

セルA1に総数「10」、B1に抜き取り数「3」が入っている場合は、次のように書きます。

=COMBINA(A1, B1)

結果は 220 です。セル参照なら値を変えるだけで結果が自動更新されるので便利ですよ。

特殊なケース

覚えておくと便利な特殊ケースを紹介します。

  • =COMBINA(10, 0)1(何も選ばないパターンは1通り)
  • =COMBINA(1, 5)1(1種類しかなければ何個選んでも1通り)
  • =COMBINA(0, 0)1(数学の定義どおり)
  • =COMBINA(3, 5)21(抜き取り数 > 総数でもエラーにならない)

4つ目のケースはCOMBIN関数なら #NUM! エラーになります。COMBINA関数では重複を許すため、種類より多く選ぶことが可能です。

COMBINA関数の実務活用例

ここからは仕事で使える場面を紹介します。

商品セットの組み合わせ数を調べる

ECサイトで「8種類のトッピングから3つ選べるセット」を企画する場面を考えます。同じトッピングを複数回選んでもOKのルールです。

=COMBINA(8, 3)

結果は 120 です。商品数を変えた場合の組み合わせ数を一覧にしてみましょう。

商品数選ぶ個数数式組み合わせ数
52=COMBINA(5, 2)15
53=COMBINA(5, 3)35
83=COMBINA(8, 3)120
103=COMBINA(10, 3)220
105=COMBINA(10, 5)2,002

商品数が増えると組み合わせ数は一気に膨らみます。セット商品のバリエーション把握に活用してみてください。

サイコロの出目パターンを数える

サイコロを2個振ったときの出目の組み合わせを調べます。「1と3」と「3と1」は同じ組み合わせとして数えます。

=COMBINA(6, 2)

結果は 21 です。サイコロの個数を増やすとどうなるか見てみましょう。

サイコロの個数数式組み合わせ数
2個=COMBINA(6, 2)21
3個=COMBINA(6, 3)56
4個=COMBINA(6, 4)126

3個で56通り、4個で126通りと急速に増えますね。確率の計算やシミュレーションに役立ちますよ。

FACT関数で計算結果を検算する

COMBINA関数の結果が正しいか確認したいときは、FACT関数(階乗を求める関数)で検算できます。

5種類から3つを重複ありで選ぶ場合で試してみましょう。

=FACT(5 + 3 - 1) / (FACT(3) * FACT(5 - 1))

結果は 35 です。=COMBINA(5, 3) と一致しますね。

計算方法数式結果
COMBINA関数=COMBINA(5, 3)35
FACT関数で検算=FACT(7)/(FACT(3)*FACT(4))35

重要な資料に載せるときは、この方法で確認してみてください。

よくあるエラーと対処法

COMBINA関数で発生するエラーは主に2種類です。

#NUM! エラー

総数または抜き取り数に負の数を指定した場合に発生します。

=COMBINA(-5, 3)   → #NUM! エラー
=COMBINA(5, -1)   → #NUM! エラー

どちらの引数も0以上の整数で指定してください。なお、COMBINA関数では抜き取り数が総数より大きくても #NUM! にはなりません。これはCOMBIN関数との違いなので覚えておきましょう。

#VALUE! エラー

引数に文字列や空白セルなど、数値以外を指定した場合に発生します。

=COMBINA("五", 3)   → #VALUE! エラー
=COMBINA(A1, B1)    → A1やB1が空白だとエラー

セル参照を使っている場合は、参照先に数値が入っているか確認しましょう。全角数字も文字列扱いになるので注意が必要です。

エラーの種類や対処方法をもっと詳しく知りたい方は、Excelのエラー値まとめも参考にしてみてくださいね。

COMBIN関数との違い・使い分け

もっとも混同しやすいCOMBIN関数との違いを整理します。

比較表

比較項目COMBIN関数COMBINA関数
正式名称組み合わせ重複組み合わせ
重複許さない許す
抜き取り数 > 総数#NUM! エラー正常に計算される
計算式n!/(r!(n-r)!)(n+r-1)!/(r!(n-1)!)
5種類から3つ10通り35通り

使い分けのポイント

判断基準はシンプルです。同じものを複数回選べるかどうかで決まります。

  • COMBIN関数: チーム分け(同じ人は2回選べない)、くじ引き(引いた番号は戻さない)
  • COMBINA関数: ドリンク注文(同じメニューを何杯でもOK)、サイコロ(同じ目が出る)

迷ったときは「一度選んだものをもう一度選べるか?」と考えてみてください。選べるならCOMBINA関数、選べないならCOMBIN関数です。

4関数の使い分け(PERMUT・PERMUTATIONAも含む)

Excelには組み合わせ・順列に関する関数が4つあります。「順序を考えるか」「重複を許すか」の2軸で整理できます。

 順序なし(組み合わせ)順序あり(順列)
重複なしCOMBINPERMUT
重複ありCOMBINAPERMUTATIONA

5つから3つ選ぶ場合の結果を比べると、違いがよくわかります。

関数数式結果
COMBIN=COMBIN(5, 3)10
COMBINA=COMBINA(5, 3)35
PERMUT=PERMUT(5, 3)60
PERMUTATIONA=PERMUTATIONA(5, 3)125

重複や順序を考慮するほど、パターン数が増えていきますね。

まとめ

ExcelのCOMBINA関数は、重複を許した組み合わせの数を一発で計算できる関数です。この記事のポイントをおさらいしましょう。

  • 構文: =COMBINA(総数, 抜き取り数) の2つの引数で計算できる
  • 計算式: (n+r-1)! / (r! × (n-1)!) の重複組み合わせ公式と同じ結果が返る
  • 独自の特徴: 抜き取り数が総数より大きくてもエラーにならない
  • 検算: FACT関数で結果を確認できる
  • 使い分け: 重複ありならCOMBINA、重複なしならCOMBIN、順序ありならPERMUT
  • エラー対策: 引数は0以上の整数で指定する

商品セットのバリエーション把握やサイコロの確率計算など、「同じものを繰り返し選べる」場面で活用してみてくださいね。

Excelの関数一覧はアルファベット順機能別からも探せます。

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