「4桁の暗証番号って、何パターンあるんだろう?」「同じ色のビーズを何回でも使える場合の並べ方を計算したい」――こんな場面、ありませんか? 同じものを繰り返し選べる順列の計算を手作業でやるのは、けっこう大変ですよね。
ExcelのPERMUTATIONA関数を使えば、重複ありの順列をセルに数式を1つ入れるだけでサッと求められます。この記事では、PERMUTATIONA関数の基本的な使い方からエラー対処法、似た関数との違いまでまとめて解説しますね。
ExcelのPERMUTATIONA関数とは?
PERMUTATIONA関数は、同じものを繰り返し選べる場合の順列(重複順列)の数を求める関数です。読み方は「パーミュテーション エー」で、英語の “permutation”(順列)に “A”(All=すべて使える)を付けたものが語源です。
ここでいう「重複あり」とは、一度選んだものをもう一度選べるということです。たとえば、暗証番号では同じ数字を何度でも使えますよね。「1-1-1-1」も立派な1パターンです。
PERMUTATIONA関数の計算式は、次のとおりです。
重複順列 = 総数 ^ 抜き取り数(総数の抜き取り数乗)
たとえば、0〜9の10個の数字から4桁を選ぶ重複順列は 10^4 = 10,000 パターンになります。
PERMUTATIONA関数の書き方(構文と引数)
基本構文
=PERMUTATIONA(総数, 抜き取り数)
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 総数(number) | 必須 | 選択肢の全体数を正の整数で指定します |
| 抜き取り数(number_chosen) | 必須 | 選び出す個数を正の整数で指定します |
引数はどちらも必須で、省略するとエラーになります。小数を指定した場合は、小数点以下が切り捨てられて整数として処理されますよ。
対応バージョンは Excel 2013以降 および Microsoft 365 です。お使いのバージョンが対応しているか、確認しておきましょう。
PERMUTATIONA関数の基本的な使い方
ここでは、具体的な数値を使ってPERMUTATIONA関数の動きを確認してみましょう。
数値を直接指定する方法
セルに次の数式を入力してみてください。
=PERMUTATIONA(3, 2)
結果は 9 になります。3つの選択肢から2つを選ぶ重複順列なので、3^2 = 9 パターンですね。
具体的にイメージすると、A・B・Cの3色のビーズから2個を選んで並べるケースです。同じ色を2回使えるので、AA・AB・AC・BA・BB・BC・CA・CB・CCの9通りになります。
セル参照を使う方法
セルB2に「5」、セルB3に「3」と入力した状態で、次の数式を使います。
=PERMUTATIONA(B2, B3)
結果は 125 です。5つの選択肢から3つを選ぶ重複順列(5^3 = 125)が求まります。セル参照を使えば、値を変えるだけで結果が自動更新されるので便利ですよ。
PERMUTATIONA関数の実践的な使い方・応用例
実際の業務やシーンで使える例を紹介します。
暗証番号・パスワードのパターン数を求める
4桁の暗証番号(0〜9の数字)のパターン数を求めてみましょう。
=PERMUTATIONA(10, 4)
結果は 10,000 です。0〜9の10個の数字から4桁を選ぶので、10^4 = 10,000 パターンあります。セキュリティの観点から「パターン数がどのくらいあるか」を確認したいときに使えますね。
ちなみに、英小文字(26種類)を加えた6桁のパスワードなら次のように求められます。
=PERMUTATIONA(36, 6)
結果は 2,176,782,336(約21億パターン)です。桁数や文字種を変えると、パターン数がどれだけ増えるかが一目でわかりますよ。
サイコロの出目パターンを計算する
サイコロを3回振ったときの出目の組み合わせ数を求めてみましょう。
=PERMUTATIONA(6, 3)
結果は 216 です。各回で1〜6のどれかが出るので、6^3 = 216 パターンになります。確率の計算で「全パターン数」を求めるときに便利ですね。
FACT関数と組み合わせて確率を求める
PERMUTATIONA関数の結果を分母にして、特定のパターンが起きる確率を計算できます。たとえば、3色から2つ選んで「すべて異なる色になる」確率は次のように求められます。
=PERMUT(3, 2) / PERMUTATIONA(3, 2)
PERMUT関数が「重複なしの順列」を返すので、それを重複ありの全パターンで割ると確率になります。結果は 6 / 9 = 0.667(約66.7%)です。
PERMUTATIONA関数のよくあるエラーと対処法
PERMUTATIONA関数で発生しやすいエラーと対処法をまとめました。
#VALUE!エラー:引数が数値でない
引数にテキストや空白セルを指定すると、#VALUE!エラーが発生します。
=PERMUTATIONA("三", 2) → #VALUE!エラー
対処法: 引数が数値になっているか確認してください。セル参照を使う場合、参照先に文字列が入っていないかチェックしましょう。
#NUM!エラー:引数が負の数
総数または抜き取り数に負の値を指定すると、#NUM!エラーになります。
=PERMUTATIONA(-3, 2) → #NUM!エラー
対処法: 引数には0以上の整数を指定してください。元データにマイナスの値が含まれていないか確認しましょう。
#NAME?エラー:関数名のスペルミス
「PERMUTATIONA」のスペルを間違えると、#NAME?エラーが出ます。関数名が長いのでタイプミスしやすいですよね。
対処法: 数式オートコンプリート機能を使って、候補から選択するのがおすすめです。「=PERM」と途中まで入力すると、候補一覧が表示されますよ。
PERMUTとPERMUTATIONAの違い・使い分け
PERMUTATIONA関数とよく似た関数との違いを表で整理しました。
| 関数名 | 計算内容 | 重複 | 計算式 |
|---|---|---|---|
| PERMUTATIONA | 重複順列 | あり | n^r |
| PERMUT | 順列 | なし | n! / (n-r)! |
| COMBIN | 組み合わせ | なし | n! / (r!(n-r)!) |
| COMBINA | 重複組み合わせ | あり | (n+r-1)! / (r!(n-1)!) |
PERMUTとの違い
PERMUT関数は「重複なし」の順列です。一度選んだものは再度選べません。PERMUTATIONAは同じものを何度でも選べる点が異なります。
たとえば、3人から2人を選んで並べる場合を比較してみましょう。
=PERMUT(3, 2)→ 6(AB, AC, BA, BC, CA, CB)=PERMUTATIONA(3, 2)→ 9(AA, AB, AC, BA, BB, BC, CA, CB, CC)
「同じものを繰り返し選べるか」がポイントです。暗証番号のように同じ数字を何度でも使えるならPERMUTATIONA、くじ引きのように一度引いたら戻さないならPERMUTを使いましょう。
順列と組み合わせの使い分け
「順番が関係あるか」も大事な判断基準です。順番が関係あるなら順列(PERMUT / PERMUTATIONA)、順番が関係ないなら組み合わせ(COMBIN / COMBINA)を使います。
迷ったときは、次の2つの質問で判断できますよ。
- 同じものを繰り返し選べる? → はい: 重複あり(PERMUTATIONA / COMBINA)
- 選ぶ順番で結果が変わる? → はい: 順列(PERMUT / PERMUTATIONA)
まとめ
ExcelのPERMUTATIONA関数は、重複ありの順列を求めるための関数です。ポイントを整理しておきましょう。
- 構文:
=PERMUTATIONA(総数, 抜き取り数)で、結果は総数 ^ 抜き取り数 - 用途: 暗証番号のパターン数、サイコロの出目、パスワード強度の計算など
- PERMUTとの違い: PERMUTは重複なし、PERMUTATIONAは重複あり
- エラー対策: 引数には0以上の数値を指定する
順列・組み合わせの関数を使い分けたい方は、PERMUT関数の解説やCOMBIN関数の解説もあわせて読んでみてくださいね。
また、階乗の計算が必要な場面ではFACT関数が役立ちます。こちらもチェックしておきましょう。
