概要
PERMUT 関数は、「n 個の中から r 個を選んで“順番をつけて並べる”とき、何通りの並べ方があるか」を求める関数です。
数学でいうところの「順列」(nP r) をそのまま Excel で計算してくれるイメージです。
「10人の中から3人を選んで、1位・2位・3位の順番を決める」
「8人の中から2人を選んで、発表順を決める」
こういう“順番が意味を持つ並べ方”の通り数を一発で出してくれます。
PERMUT 関数の基本
書式と意味
=PERMUT(標本数, 抜き取り数)
標本数:全体の個数(n、標本の総数)
抜き取り数:その中から「順番をつけて並べる」個数(r)
PERMUT は、「標本数 n 個の中から、抜き取り数 r 個を選んで並べる順列の数」を返します
数学的には次の式で表されます。
Excel では、この計算を自動でやってくれます。
例:
=PERMUT(3,2) ' 3人から2人を選んで並べる → 6通り
=PERMUT(10,3) ' 10人から3人を選んで並べる → 720通り
=PERMUT(A2,B2) ' A2 個から B2 個を選んで並べる順列の数
3人から2人を選ぶ場合、
「AB, BA, AC, CA, BC, CB」の 6 通りがあるので、PERMUT(3,2) の結果は 6 になります。
組み合わせ COMBIN との違い
COMBIN は「順番を区別しない“選び方”の数」、
PERMUT は「順番を区別する“並べ方”の数」です。
同じ「3人から2人」の例で比べてみます。
- 組み合わせ(順番なし):AB, AC, BC → 3通り(COMBIN(3,2)=3)
- 順列(順番あり):AB, BA, AC, CA, BC, CB → 6通り(PERMUT(3,2)=6)
Excel では、こう書き分けます。
=COMBIN(3,2) ' 順番なし → 3
=PERMUT(3,2) ' 順番あり → 6
「順番が意味を持つかどうか」で、COMBIN と PERMUT を使い分けるのがポイントです。
実務でのイメージと使いどころ
席順・発表順・役職決め
例えば、「10人の中から3人を選んで、会長・副会長・書記を決める」とします。
誰がどの役職になるかで意味が変わるので、これは“順列”です。
=PERMUT(10,3)
これで、「役職の割り当て方が何通りあるか」が一瞬で分かります。
同じように、
「8人の中から2人を選んで、発表順を決める」場合も順列です。
=PERMUT(8,2)
抽選・並び順のパターン数
「10人の中から3人を選んで、1位・2位・3位を決める抽選」
「商品を並べる順番のバリエーション」
こういった“並び順のパターン数”を知りたいときにも PERMUT が使えます。
=PERMUT(10,3) ' 10人から3人を選んで順位をつける
=PERMUT(5,5) ' 5個を全部並べる → 5! 通り
PERMUT(5,5) は「5個を全部並べる順列」、つまり 5!(120通り)になります。
PERMUT のルールとエラー
引数は整数として扱われる
標本数・抜き取り数は「0以上の整数」として扱われます。
小数を渡した場合は、小数点以下が切り捨てられます。
=PERMUT(5.9,2.3) ' → PERMUT(5,2) として扱われる
数値以外(文字列など)を渡すと #VALUE! エラーになります。
不正な値のときのエラー
次のような場合は #NUM! エラーになります。
- 標本数 <= 0
- 抜き取り数 < 0
- 標本数 < 抜き取り数
例えば:
=PERMUT(5,6) ' 5個から6個は選べない → #NUM!
=PERMUT(0,3) ' 標本数が 0 → #NUM!
=PERMUT(5,-1) ' 抜き取り数が負 → #NUM!
コード例・テンプレート
基本形:n 個から r 個を選んで並べる順列の数
=PERMUT(n, r)
具体例:
=PERMUT(3,2) ' 3人から2人 → 6通り
=PERMUT(10,3) ' 10人から3人 → 720通り
セル参照で汎用的に書く
=PERMUT(A2,B2)
A2 に「全体の個数」、B2 に「並べる個数」を入れておけば、
いろいろなパターンを試しながら順列の数を確認できます。
「全部並べる」場合(nP n)
=PERMUT(A2,A2)
A2 個をすべて並べる場合の順列数、つまり A2!(階乗)になります。
例題
問題1
5人の中から 2人を選んで、1位・2位の順番を決めます。
このときの並べ方の通り数を PERMUT 関数で求める式を書いてください。
=PERMUT(5,2)
問題2
10人の中から 3人を選んで、1位・2位・3位の順位を決めます。
このときの順列の数を PERMUT 関数で求める式を書いてください。
=PERMUT(10,3)
問題3
A2 に「全体の人数」、B2 に「並べる人数」が入っています。
「A2 人の中から B2 人を選んで順番をつけて並べるときの通り数」を求める汎用的な式を書いてください。
=PERMUT(A2,B2)
問題4
3人(A,B,C)の中から 2人を選ぶとき、
「順番を区別する並べ方の数」を PERMUT で求める式を書いてください。
また、その結果が 6 になる理由を簡単に説明してみてください。
=PERMUT(3,2)
結果が 6 になるのは、AB, BA, AC, CA, BC, CB の 6 通りの並べ方があるからです。
問題5
=PERMUT(5,6) を計算するとどうなるか、エラーの種類と理由を答えてください。
5 個から 6 個を選んで並べることはできないため、=PERMUT(5,6) は #NUM! エラーになります。
