「5人のチームから3人を選んで発表順を決めたい」「暗証番号のパターン数を知りたい」――こんな場面で活躍するのが、ExcelのPERMUT関数です。順列の計算を手作業でやると大変ですよね。階乗の割り算を電卓で何度も叩くのは、正直めんどうです。
PERMUT関数を使えば、セルに数式を1つ入れるだけで順列の数がパッと出ます。この記事では、PERMUT関数の基本的な使い方からエラー対処、似た関数との違いまでまとめて解説しますね。
ExcelのPERMUT関数とは?
PERMUT関数は、標本の中から指定した個数を選ぶときの順列(並べ方)の数を求める関数です。読み方は「パーミュテーション」で、英語の “permutation”(順列)が語源になっています。
順列とは、選ぶ順番が結果に影響する選び方のことです。たとえば、A・B・Cの3人から2人を選んで並べる場合、「A→B」と「B→A」は別の順列として数えます。
PERMUT関数が返す値は、次の数学公式と同じ結果です。
nPr = n! / (n - r)!
ここで n が標本数(全体の数)、r が抜き取り数(選ぶ個数)です。この計算をExcelが自動でやってくれるわけですね。
対応バージョンはExcel 2007以降で、Microsoft 365やExcel 2021でも使えます。Googleスプレッドシートにも同名の関数がありますよ。
ExcelのPERMUT関数の書き方(構文と引数)
基本構文
=PERMUT(標本数, 抜き取り数)
引数は2つで、どちらも必須です。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 標本数 | 必須 | 母集団の総数。0より大きい整数で指定する |
| 抜き取り数 | 必須 | 選択する個数。0以上かつ標本数以下の整数で指定する |
引数に小数を指定した場合は、小数点以下が切り捨てられます。たとえば =PERMUT(5.8, 3.2) は =PERMUT(5, 3) と同じ結果になりますよ。
PERMUT関数の基本的な使い方
実際にPERMUT関数を使ってみましょう。
数値を直接入力する方法
5人から3人を選んで一列に並べるパターン数を求めてみます。
=PERMUT(5, 3)
結果は 60 です。5人から3人を選ぶ順列なので、5 x 4 x 3 = 60通りになります。
セル参照を使う方法
セルA1に標本数「10」、セルA2に抜き取り数「4」が入っている場合は、次のように書きます。
=PERMUT(A1, A2)
結果は 5040 です。10人から4人を選んで並べる順列ですね。セル参照を使えば、値を変更するだけで結果が自動更新されるので便利です。
全員を並べる場合(全順列)
標本数と抜き取り数を同じにすると、全員の並べ方(全順列)を求められます。
=PERMUT(4, 4)
結果は 24 です。これは4の階乗(4! = 4 x 3 x 2 x 1 = 24)と同じ値になります。座席の配置パターンなどを調べるときに使えますよ。
PERMUT関数の実践的な使い方・応用例
プレゼンの発表順を計算する
10人のメンバーから3人を選んで発表順を決める場合、何通りのパターンがあるか調べてみましょう。
=PERMUT(10, 3)
結果は 720 通りです。メンバーの選び方だけでなく順番も考慮するので、かなりの数になりますね。
FACT関数と組み合わせて検算する
PERMUT関数の結果は、FACT関数を使って検算できます。順列の公式 nPr = n! / (n-r)! をそのまま数式にしてみましょう。
=FACT(10) / FACT(10-3)
この結果も 720 になり、=PERMUT(10, 3) と一致します。計算結果に不安があるときは、この方法で確認してみてください。
複数パターンの比較表を作る
チーム人数ごとに順列の数がどう変わるか、一覧表で比較するのも実務で役立ちます。A列にチーム人数(5〜10)、B列に選ぶ人数「3」を入れて、C列に =PERMUT(A2, B2) と入力すれば、一覧表が簡単に作れます。
| チーム人数 | 選ぶ人数 | 順列の数 |
|---|---|---|
| 5 | 3 | 60 |
| 6 | 3 | 120 |
| 7 | 3 | 210 |
| 8 | 3 | 336 |
| 10 | 3 | 720 |
人数が増えると順列の数が急激に増えることがわかりますね。
よくあるエラーと対処法
#NUM! エラー
PERMUT関数で最も多いエラーです。次のいずれかに該当すると発生します。
- 標本数が負の値:
=PERMUT(-5, 3)のように負の数を指定するとエラーになります - 抜き取り数が負の値:
=PERMUT(5, -1)もエラーです - 抜き取り数が標本数を超えている:
=PERMUT(3, 5)のように、選ぶ数が全体より多いとエラーになります
5人しかいないのに10人を選ぶことはできませんよね。抜き取り数が標本数以下になっているか確認してみてください。
#VALUE! エラー
引数に文字列や空白セルを指定した場合に発生します。
=PERMUT("五", 3) → #VALUE! エラー
=PERMUT(A1, B1) → A1やB1が空白だとエラー
セル参照を使うときは、参照先に数値が入っているか確認しておきましょう。
PERMUT関数と似た関数との違い・使い分け
PERMUT関数とPERMUTATIONA関数の違い
PERMUTATIONA関数は重複を許す順列(重複順列)を求めます。PERMUTは一度選んだ要素を再度選べませんが、PERMUTATIONAは同じ要素を繰り返し選べます。
| 関数 | 種類 | 例(3個から2個選ぶ) | 結果 |
|---|---|---|---|
| PERMUT | 重複なし順列 | =PERMUT(3, 2) | 6 |
| PERMUTATIONA | 重複あり順列 | =PERMUTATIONA(3, 2) | 9 |
暗証番号のように同じ数字を繰り返し使える場合はPERMUTATIONA、メンバー選出のように同じ人を2回選べない場合はPERMUTを使います。
PERMUT関数とCOMBIN関数の違い
COMBIN関数は組み合わせ(順序を考慮しない選び方)を求めます。順列と組み合わせの一番の違いは、並び順が意味を持つかどうかです。
| 関数 | 種類 | 例(5個から3個選ぶ) | 結果 |
|---|---|---|---|
| PERMUT | 順列(順序あり) | =PERMUT(5, 3) | 60 |
| COMBIN | 組み合わせ(順序なし) | =COMBIN(5, 3) | 10 |
発表順や座席配置のように順番が重要な場面ではPERMUT、委員会のメンバー選出のように誰を選ぶかだけが重要な場面ではCOMBIN関数を使いましょう。
重複を許す組み合わせを求めるときは、COMBINA関数が使えますよ。
まとめ
ExcelのPERMUT関数は、標本から指定した個数を選んで並べるときの順列の数を求める関数です。この記事のポイントをおさらいしましょう。
- 構文:
=PERMUT(標本数, 抜き取り数)で順列を計算できる - 数学の公式: nPr = n! / (n-r)! と同じ結果が返る
- エラー対策: 標本数 > 0、抜き取り数 >= 0、抜き取り数 <= 標本数 を守る
- 似た関数との使い分け: 重複ありならPERMUTATIONA、順序不要ならCOMBIN
順列の計算は手作業だとミスしやすいので、PERMUT関数にまかせてしまうのがおすすめです。ぜひ活用してみてくださいね。
