■サンプルデータ
COMBIN関数 とCOMBINA関数のサンプルデータです。
動作の確認と検証に使用してください。ただし、関数によっては未完成のものもあります。
今後バージョンをアップしていきます。定期的にダウンロードしてみてください。
※未完成なので、ご了承ください。少しづつ完成させ、アップロードしていきます。
[wpdm_button_template id=14470 style=”instagram” align=”left”]
■組み合わせとは何か
異なるn個の中から異なるr個とる組み合わせの数のことです。
5人(A、B、C、D、E)の中から2人を選ぶ組み合わせを考えましょう。
この時、{AB}、{CD}、{AC}…のようになり、合計は10通りになります。ここでなぜ、順列の総数の半分になるのかというと、{AB}と{BA}のチームも結局は同じチームですよね。だから、これを組み合わせは1つと計算するからです。
組み合わせは記号Cで表します。
※抜粋・参照・・・受験のミカタ
■重複しない組み合わせを求める / =COMBIN()
【関数名】:COMBIN(コンビネーション)
【用途】:COMBIN(コンビネーション)関数は、[総数]個の項目の中から[抜き取り数]個を取り出した時、何種類の組み合わせが可能かを求めます。二項係数も可能。
【書式】:=COMBIN(総数 , 抜き取り数)
【補足1】
- 総数:対象となる項目の総数を指定する。
- 抜き取り:取り出して並べる数を指定する。
- COMBIN関数は重複をカウントしない。
■重複した組み合わせを求める / =COMBINA()
【関数名】:COMBINA(コンビネーション・エー)
【用途】:COMBINA(コンビネーション・エー)関数は、[総数]個の項目の中から重複した[抜き取り数]個を取り出して、並べた時、何種類の組み合わせが可能かを求めます。
【書式】:=COMBINA(総数 , 抜き取り数)
【補足1】
- 総数:対象となる項目の総数を指定する。
- 抜き取り:取り出して並べる数を指定する。
- COMBINA関数は重複をカウントします。
■COMBIN関数とCOMBINA関数の違い
COMBIN関数とCOMBINA関数の違いは抜き出された組み合わせが重複するかどうかです。
これにより結果は大きく変わってくるので注意が必要です。
例1 5人の中から2人を選び、並ばせる場合
=COMBIN(A5,C5)
COMBIN関数の引数は、必ず2つ指定する必要があります。
例2 5人の中から3人を選び、並ばせる場合
=COMBIN(5,3)
引数はセルの参照だけではなく、直接数値を指定することも可能です。
※数値は半角にしましょう。
例3 5枚の絵柄の中から重複した組み合わせを求める場合
=COMBINA(A35,C35)
COMBIN関数と同様の使い方になります。
第二引数が指定されていない場合は、1になります。
例4 6枚の絵柄の中から重複した組み合わせを求める場合
=COMBINA(A36,3)
引数はセルの参照だけではなく、直接数値を指定することも可能です。
※数値は半角にしましょう。
■おさらい:重複しない組み合わせを求めるなら
【例1】=COMBIN(A5,C5)
【書式】=COMBIN(総数 , 抜き取り数)
重複しない組み合わせを求める場合は、CONBIN(コンビネーション)関数を使用します。
引数は必ず2つ指定しなければいけません。
■おさらい:重複する組み合わせを求めるなら
【例4】COMBINA(A35,C35)
【書式】=COMBINA(総数 , 抜き取り数)
基本的にはCOMBIN関数と同じです。
こちらの関数は重複するので、COMBIN関数との使い分けが大事です。
■役立つカシオの計算サイト
カシオ計算機のサイトに順列や組み合わせが簡単に確認できるサイトがあります。
確認や検証などに利用できるでしょう。
■順列を求めるエクセルVBA
順列の抜き出しをプログラムで実現したい場合もあるかと思います。
下記に組み合わせ生成のアルゴリズムの参考サイトをまとめておきます。
集計や統計を求める
- 条件を指定して数値を合計したい
- 複数の条件を指定して数値を合計したい
- 集計方法を指定して集計値を求める
- 数値を丸める(桁の切り上げ、切り捨て、四捨五入など)
- 順列を求める
- 組み合わせの数を求める
- 乱数(ランダムな数値)を発生させる
- データの個数を求める
- 空白セルの個数を求める
- 条件に一致するデータの個数を求める
- 複数の条件に一致するデータの個数を求める
- 数値 or データの平均値を求める
- 条件を指定して数値の平均を求める
- 複数の条件を指定して数値の平均を求める
- 数値 or データの最大値を求める
- 数値 or データの最小値を求める
- 特定の範囲に含まれている値の個数を求める
- 数値の中央値を求める
- 数値の最頻値(最も多く表示されている最小の値)を求める
- 大きいほうから何番目かの値を求める
- 小さいほうから何番目かの値を求める
- 特定の範囲から順位(最上位 or 平均値など)を求める
- 四分位数を求める
日付・時刻を求める
- 日付や年、時刻を求める
- 日付から年、月、日、時間などを取り出す
- 日付が何週目かを求める
- 期限(数ヶ月前、数ヶ月後、期間)を求める
条件によって判定させる
- 条件を決めて判定する
- 複数のすべての条件が満たされているかを判定する
- いずれかの条件が満たされているかを判定する
- 条件が満たされていないことを判定する
- エラーだった場合に判定する
セルの内容を調べる
- セルが空白かどうかを調べる
- セルの値がエラーかどうかを調べる
- 文字列かどうか調べる
- 数値かどうか調べる
- 偶数か奇数かを調べる
- 数式かどうかを調べ、取り出す
- エラーの値やデータの種類を調べる
ある特定の値を探す
- 列または行方向に検索する
- 引数のリストから値を検索する
- 配列から特定の値を検索する
- 指定したセルの参照値を検索
- セルの列番号を調べる
- セルの行番号を調べる
- 列数を調べる
- 行数を調べる
- セルの参照を調べる
- 行と列の位置を入れ替える
- ハイパーリンクを作成する
- ピポットテーブルからデータを取り出す
文字列を操作する
- 文字数を求める
- 左端から指定した文字数だけ文字列を取り出す
- 右端から指定した文字数だけ文字列を取り出す
- 指定した位置から文字数だけ文字列を取り出す
- 文字列の位置を調べる
- 指定 or 検索した文字列に置換する
- 文字列を連結する
- 文字列の前後の空白を削除する
- 印刷できない文字を削除する
- ふりがなを取り出す
- 指定回数だけ文字列を繰り返す
- 全角文字 or 半角文字に変換する
- 英字を大文字 or 小文字に変換する
- 数値を表す文字列を数値に変換する
- 英単語の先頭文字を大文字に変換する
- 文字列が等しいかどうか調べる
データベースを制御する
- 条件を満たす数値の個数を求める
- 条件を満たす空白以外のセルの個数を求める
- 条件を満たすセルの合計を求める
- 条件を満たすセルの平均を求める
- 条件を満たす最大値 or 最小値を求める
- 条件を満たすデータを探す