■サンプルデータ
PERMUT関数 とPERMUTATIONA関数のサンプルデータです。
動作の確認と検証に使用してください。ただし、関数によっては未完成のものもあります。
今後バージョンをアップしていきます。定期的にダウンロードしてみてください。
※未完成なので、ご了承ください。少しづつ完成させ、アップロードしていきます。
[wpdm_button_template id=14470 style=”instagram” align=”left”]
[s_ad]
■順列とは何か
異なるn個の中から異なるr個を取り出して1列に並べる数のこと。
5人(A、B、C、D、E)の中から2人を並べる場合を考えましょう。
すると、並べ方はAB、BA、AC、CA、DE、ED…のようになります。全部数え上げれば分かるのですが、合計は20通りになります。ここで、ABとBAを違うものとして考えることがポイントです。
ちなみに順列は記号Pで表します。
※抜粋・参照・・・受験のミカタ
■重複しない順列(並べ方)を求める / =PERMUT()
【関数名】:PERMUT(パーミューテーション)
【用途】:PERMUT(パーミューテーション)関数は、[総数]個の項目の中から[抜き取り数]個を取り出して、並べた時、何通りの順列(並べ方)が可能であるかを求めます。
【書式】:=PERMUT(総数 , 抜き取り数)
【補足1】
- 総数:対象となる項目の総数を指定する。
- 抜き取り:取り出して並べる数を指定する。
- ※PERMUT関数は重複をカウントしない。
■重複した順列(並べ方)を求める / =PERMUTATIONA()
【関数名】:PERMUTATIONA(パーミューテーション・エー)
【用途】:PERMUTATIONA(パーミューテーション・エー)関数は、[総数]個の項目の中から重複した[抜き取り数]個を取り出して、並べた時、何通りの順列(並べ方)が可能であるかを求めます。
【書式】:=PERMUTATIONA(総数 , 抜き取り数)
【補足1】
- 総数:対象となる項目の総数を指定する。
- 抜き取り:取り出して並べる数を指定する。
- ※PERMUTATIONA関数は重複をカウントします。
[s_ad]
■PERMUT関数とPERMUTATIONA関数の違い
PERMUT関数とPERMUTATIONA関数の違いは抜き出された順列が重複するかどうかです。
重複するかどうかで結果は大きく変わってくるので注意が必要です。
例1 5人の中から2人を選び、並ばせる場合
=PERMUT(A5,C5)
PERMUT関数の引数は、必ず2つ指定する必要があります。
例2 5人の中から3人を選び、並ばせる場合
=PERMUT(5,3)
引数はセルの参照だけではなく、直接数値を指定することも可能です。
※数値は半角にしましょう。
例3 5枚の絵柄の中から重複した順列を求める場合
=PERMUTATIONA(A35,C35)
PERMUT関数と同様の使い方になります。
第二引数が指定されていない場合は、1になります。
例4 6枚の絵柄の中から重複した順列を求める場合
=PERMUTATIONA(A36,3)
引数はセルの参照だけではなく、直接数値を指定することも可能です。
※数値は半角にしましょう。
■おさらい:重複しない順列を求めるなら
【例1】=PERMUT(A5,C5)
【書式】=PERMUT(総数 , 抜き取り数)
重複しない順列を求める場合は、PERMUT(パーミューテーション)関数を使用します。
引数は必ず2つ指定しなければいけません。
■おさらい:重複する順列を求めるなら
【例4】PERMUTATIONA(A35,C35)
【書式】=PERMUTATIONA(総数 , 抜き取り数)
基本的にはPERMUT関数と同じです。
こちらの関数は重複するので、PERMUT関数との使い分けが大事です。
■役立つカシオの計算サイト
カシオ計算機のサイトに順列や組み合わせが簡単に確認できるサイトがあります。
確認や検証などに利用できるでしょう。
■順列を求めるエクセルVBA
順列の抜き出しをプログラムで実現したい場合もあるかと思います。
下記に順列生成のアルゴリズムの参考サイトをまとめておきます。
[f_Excel_func]

