【Excel】RANDARRAY関数でランダムな配列を生成!Excelのテストデータ作成と抽選への活用

【Excel】RANDARRAY関数でランダムな配列を生成!Excelのテストデータ作成と抽選への活用
🛡️ 超解決

Excelでランダムな数値やデータ配列を生成したい場面は多いでしょう。例えば、テストデータ作成や抽選、シミュレーションなどに活用できます。しかし、手作業での作成は手間がかかり、非効率的です。この記事では、ExcelのRANDARRAY関数を使って、簡単にランダムな配列を生成する方法を解説します。テストデータ作成から抽選まで、具体的な活用例も紹介します。

RANDARRAY関数を使いこなせば、Excelでのデータ操作が格段に効率化されます。ぜひ最後までご覧ください。

【要点】RANDARRAY関数でランダムな配列を生成し、Excel作業を効率化する

  • RANDARRAY関数: 指定した行数と列数でランダムな数値配列を生成します。
  • 最小値・最大値の指定: RANDARRAY関数で生成する数値の範囲を指定できます。
  • 整数・小数の指定: RANDARRAY関数で整数または小数の配列を生成できます。
  • テストデータ作成: 乱数を用いたテストデータ生成に活用できます。
  • 抽選: RANDARRAY関数で生成した乱数を用いて、ランダムな抽選が可能です。

ADVERTISEMENT

RANDARRAY関数の基本機能と活用シーン

RANDARRAY関数は、Microsoft 365版Excelで利用できる動的配列関数です。この関数を使うと、指定した行数と列数でランダムな数値の配列を一度に生成できます。従来のRAND関数が1つのセルに1つの乱数を返すのに対し、RANDARRAY関数は複数のセルにわたる配列を返します。これにより、大量のテストデータ作成や、複雑な条件での抽選などが容易になります。例えば、アンケート結果のシミュレーションや、ゲームの乱数生成など、幅広い用途で活用できます。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

RANDARRAY関数でランダムな配列を生成する手順

RANDARRAY関数は、最小値、最大値、行数、列数、整数/小数の指定といった引数を組み合わせることで、様々なパターンのランダム配列を生成できます。基本的な使い方から、引数を指定した場合の応用まで、具体的な手順を見ていきましょう。

  1. RANDARRAY関数を入力する
    ランダムな配列を生成したいセルを選択し、数式バーに「=RANDARRAY()」と入力します。このままEnterキーを押すと、5行5列の0から1未満の小数の配列が自動的に展開されます。
  2. 行数と列数を指定する
    RANDARRAY関数の最初の2つの引数で、配列の行数と列数を指定できます。例えば、3行4列の配列を生成するには、「=RANDARRAY(3,4)」と入力します。
  3. 最小値と最大値を指定する
    RANDARRAY関数の3番目と4番目の引数で、生成する数値の最小値と最大値を指定できます。例えば、1から100の範囲で5行6列の配列を生成するには、「=RANDARRAY(5,6,1,100)」と入力します。この場合、1から100までの整数または小数が生成されます。
  4. 整数のみを生成する
    RANDARRAY関数の最後の引数(TRUEまたはFALSE)で、生成する数値が整数か小数かを指定できます。整数のみを生成するには、引数に「TRUE」を指定します。例えば、1から10の範囲で整数のみの7行8列の配列を生成するには、「=RANDARRAY(7,8,1,10,TRUE)」と入力します。

RANDARRAY関数を使ったテストデータ作成

Excelでテストデータを作成する際、RANDARRAY関数は非常に役立ちます。特に、大量の数値データをランダムに生成したい場合に有効です。ここでは、顧客ID、購入金額、評価スコアといった具体的なテストデータを作成する手順を解説します。

顧客IDと購入金額のテストデータ作成

顧客IDは連番で、購入金額は特定の範囲でランダムに生成する場合の例です。まず、顧客IDを生成するために、行数分の連番を作成します。例えば、100人分の顧客IDを生成するには、A1セルに「=SEQUENCE(100)」と入力します。次に、B1セルにRANDARRAY関数を使って購入金額を生成します。購入金額を1000円から50000円の範囲で生成する場合、「=RANDARRAY(100,1,1000,50000)」と入力します。これにより、100人分の顧客IDとランダムな購入金額のテストデータが作成されます。

評価スコアのテストデータ作成

評価スコアを1から5の整数でランダムに生成する例です。例えば、50人分の評価スコアを生成したい場合、A1セルに「=RANDARRAY(50,1,1,5,TRUE)」と入力します。これにより、50行1列の1から5までの整数のみの配列が生成されます。このデータは、製品評価のシミュレーションなどに利用できます。

ADVERTISEMENT

RANDARRAY関数を使った抽選

RANDARRAY関数は、ランダムな抽選にも活用できます。例えば、参加者リストから当選者をランダムに選ぶ、といった場合に利用できます。ここでは、参加者リストからランダムに当選者を選ぶ方法を解説します。

参加者リストからランダムに当選者を選ぶ

まず、参加者リストがA列にあり、参加者が100人いると仮定します。当選者を3人選ぶ場合、まずB1セルに「=RANDARRAY(100,1)」と入力し、参加者数と同じ行数でランダムな小数を生成します。次に、このランダムな小数に連番を振るために、C1セルに「=B1*1000000+ROW(A1)」のように、十分大きな数とROW関数を組み合わせて、重複しないユニークな数値を生成します。このC列の値を昇順に並べ替えるか、あるいはRANDARRAY関数で生成した乱数自体を使い、上位3つを抽出します。より簡単な方法として、参加者リストの隣の列にRANDARRAY関数でランダムな数値を生成し、その数値が小さい順に並べ替えて、上位の参加者を選ぶ方法があります。例えば、参加者リストがA1:A100にある場合、B1セルに「=RANDARRAY(100,1)」と入力し、C1セルに「=SORTBY(A1:A100,B1:B100)」と入力します。このC列の最初の3つの値がランダムに選ばれた当選者となります。

重複しないランダムな数値の生成

特定の範囲内で、重複しないランダムな数値を複数生成したい場合があります。例えば、くじ引きで1から50までの数字のうち、5つの異なる数字を選ぶ場合です。まず、D1セルに「=RANDARRAY(50,1)」と入力して、50個のランダムな小数を生成します。次に、E1セルに「=SORTBY(SEQUENCE(50),D1:D50)」と入力します。これにより、1から50までの数字がランダムに並べ替えられた配列が生成されます。この配列の最初の5つの値が、重複しないランダムな5つの数字となります。

RANDARRAY関数と他の関数との組み合わせ

RANDARRAY関数は、他のExcel関数と組み合わせることで、さらに高度なデータ操作が可能になります。ここでは、FILTER関数やSORTBY関数との組み合わせ例を紹介します。

FILTER関数との組み合わせ

RANDARRAY関数で生成したランダムなデータから、特定の条件に合うデータのみを抽出したい場合にFILTER関数と組み合わせます。例えば、先ほどの購入金額のテストデータ(B1:B100)から、30000円以上の購入データのみを抽出する場合、D1セルに「=FILTER(B1:B100,B1:B100>=30000)」と入力します。これにより、条件に合う購入金額のみが抽出されます。

SORTBY関数との組み合わせ

RANDARRAY関数で生成した配列を、別の配列に基づいて並べ替えたい場合にSORTBY関数が役立ちます。例えば、参加者リスト(A1:A100)と、それに紐づくランダムなスコア(B1:B100)があり、スコアの低い順に参加者リストを並べ替えたい場合、C1セルに「=SORTBY(A1:A100,B1:B100)」と入力します。これにより、スコアが低い順に参加者名が並べ替えられます。

RANDARRAY関数利用時の注意点と制限

RANDARRAY関数は非常に便利ですが、利用する上でいくつか注意すべき点があります。これらの点を理解しておくことで、意図しない結果を防ぎ、関数を効果的に活用できます。

再計算による値の変動

RANDARRAY関数は、Excelの再計算が行われるたびに、生成される乱数の値が自動的に変動します。これは、Excelのシート上でF9キーを押したり、数式が変更されたりした場合に発生します。テストデータとして固定したい場合や、抽選結果を記録したい場合は、生成された数値を「値」として貼り付ける必要があります。具体的には、RANDARRAY関数が入力されているセル範囲を選択し、コピー(Ctrl+C)した後、同じ場所に「値として貼り付け」(右クリックメニューから「形式を選択して貼り付け」→「値」を選択、またはCtrl+Shift+V)を行います。

Excelのバージョンによる互換性

RANDARRAY関数はMicrosoft 365版Excelの機能です。Excel 2019以前のバージョンでは利用できません。古いバージョンのExcelでこの関数を使用しようとすると、エラーが表示されるか、正しく動作しません。互換性のある環境で作業しているか確認が必要です。もし古いバージョンで同様の機能が必要な場合は、RAND関数とROW関数、INDEX関数などを組み合わせて代替する方法を検討する必要がありますが、RANDARRAY関数ほどの簡便さはありません。

引数の指定ミス

RANDARRAY関数は、引数の指定を誤るとエラーが発生したり、意図しない結果になったりすることがあります。特に、最小値と最大値の指定順序、整数/小数の指定(TRUE/FALSE)には注意が必要です。例えば、最小値よりも大きな最大値を指定する必要があります。また、整数を指定する引数(TRUE)を省略した場合、デフォルトで小数が生成されるため、整数が必要な場合は明示的にTRUEを指定することが重要です。

まとめ

この記事では、ExcelのRANDARRAY関数を使ってランダムな配列を生成する方法を解説しました。RANDARRAY関数を使えば、テストデータ作成や抽選といった作業を大幅に効率化できます。生成する数値の範囲や整数/小数の指定も簡単に行えます。今回紹介したRANDARRAY関数、FILTER関数、SORTBY関数などの組み合わせをマスターすれば、Excelでのデータ分析や業務効率化の幅がさらに広がります。ぜひ、日々の業務で活用してみてください。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】