ExcelのRANDARRAY関数の使い方|ランダムな配列を一括作成する方法

スポンサーリンク

「テスト用にランダムなデータが大量にほしい」「シミュレーション用の乱数を手入力するのは面倒すぎる」と感じたことはありませんか? セル1つずつに乱数を入力していたら、あっという間に日が暮れてしまいますよね。

ExcelのRANDARRAY関数を使えば、指定した行数・列数のランダムな数値を一括で生成できます。 この記事では、RANDARRAY関数の基本から整数・小数の切り替え、他の関数との組み合わせまでわかりやすく解説します。

ExcelのRANDARRAY関数とは?

RANDARRAY関数は「ランダムアレイ」と読みます。 「Random(ランダム)」と「Array(配列)」を組み合わせた名前です。

この関数は、指定したサイズのランダムな数値の配列を返します。 たとえば「5行3列の乱数テーブルがほしい」といった場面で、たった1つの数式で一括生成できますよ。

RANDARRAY関数はMicrosoft 365またはExcel 2021以降で利用できます。 「動的配列関数」の1つで、結果が自動的に隣接セルへ展開(スピル)するのが特徴です。

RANDARRAY関数の書き方(構文と引数)

基本構文

=RANDARRAY([行], [列], [最小値], [最大値], [整数])

引数は5つありますが、すべて省略できます。 省略した場合は、0から1の間の小数が1つ返されます。

引数の一覧

引数必須/省略可説明省略時の初期値
省略可配列の行数1
省略可配列の列数1
最小値省略可生成する数値の下限0
最大値省略可生成する数値の上限1
整数省略可TRUE=整数 / FALSE=小数FALSE(小数)

「整数」引数のポイント: TRUEまたは1を指定すると整数だけが生成されます。 FALSEまたは0(省略時も同じ)だと小数値になります。

RANDARRAY関数の基本的な使い方

例1: 5行3列のランダムな整数を生成する

1から100までの整数をランダムに生成してみましょう。

=RANDARRAY(5, 3, 1, 100, TRUE)

この数式を1つのセルに入力するだけで、5行3列の15個の整数が自動的に展開されます。 入力したセルから右と下に結果がスピルされるので、展開先のセルは空けておいてくださいね。

例2: 引数をすべて省略した場合

=RANDARRAY()

引数をすべて省略すると、0以上1未満の小数が1つ返されます。 この動きはRAND関数と同じですね。

例3: 行・列だけを指定する

=RANDARRAY(3, 4)

行と列だけを指定すると、3行4列の配列で0以上1未満の小数が返されます。 最小値・最大値・整数は省略時の初期値(0, 1, FALSE)が使われますよ。

RANDARRAY関数の実践的な活用例

テストデータの一括生成

ダミーの売上データなどを作りたいときに便利です。 たとえば、10人分の売上金額(1,000円~50,000円)を一括で作るなら次のように書きます。

=RANDARRAY(10, 1, 1000, 50000, TRUE)

10行1列の配列で、1,000から50,000の間の整数がランダムに生成されます。

SORT関数と組み合わせてソート済みの乱数を作る

ランダムに生成した数値を昇順で並べたいときは、SORT関数で囲みます。

=SORT(RANDARRAY(10, 1, 1, 100, TRUE))

これで1から100の整数が10個、小さい順に並んだ状態で表示されます。 テスト用のソート済みデータがほしいときに重宝しますよ。

INT関数と組み合わせて整数に変換する

「整数」引数をTRUEにする代わりに、INT関数で小数点以下を切り捨てる方法もあります。

=INT(RANDARRAY(5, 3, 1, 100))

この書き方でも整数が得られます。 ただし、RANDARRAY関数の「整数」引数をTRUEにするほうがシンプルなので、通常はそちらがおすすめです。

INT関数の使い方はこちらの記事で詳しく解説しています。

値を固定する方法(再計算で変わらないようにする)

RANDARRAY関数は「揮発性関数」です。 シートを再計算するたびに、値が新しい乱数に変わります。

生成した値を固定したいときは、次の手順で対応しましょう。

  1. RANDARRAY関数で生成されたセル範囲を選択する
  2. Ctrl+C でコピーする
  3. 同じ範囲を選択した状態で「貼り付け」→「値」を選ぶ

これで数式が値に置き換わり、再計算しても変わらなくなりますよ。

RANDARRAY関数でよくあるエラーと対処法

#VALUE! エラー

行数や列数に0以下の数値、または小数を指定すると発生します。 行と列には1以上の整数を指定してください。

=RANDARRAY(0, 3)    → #VALUE! エラー
=RANDARRAY(2.5, 3)  → #VALUE! エラー
=RANDARRAY(5, 3)    → 正常に動作

また、最小値が最大値より大きい場合も#VALUE!エラーになります。

=RANDARRAY(5, 3, 100, 1)  → #VALUE! エラー(最小値>最大値)

#CALC! エラー

生成する配列が大きすぎてシートに収まらない場合に発生します。 たとえば、A1セルに =RANDARRAY(1048577, 1) と入力すると、Excelの最大行数(1,048,576行)を超えるためエラーになります。

配列のサイズを小さくするか、入力セルの位置を調整してみてください。

#NAME? エラー

RANDARRAY関数に対応していないバージョンのExcelで使おうとすると、#NAME?エラーが表示されます。 この関数はMicrosoft 365またはExcel 2021以降が必要です。 お使いのバージョンが対応しているか、確認しておきましょう。

#SPILL! エラー

スピル先(配列が展開される先)のセルにデータが入っていると、#SPILL!エラーになります。 展開先のセルを空にすれば解消しますよ。

RAND・RANDBETWEEN関数との違い・使い分け

Excelには乱数を生成する関数が3つあります。 目的に応じて使い分けましょう。

関数返す値個数引数
RAND()0以上1未満の小数1つなし
RANDBETWEEN(下限, 上限)指定範囲の整数1つ2つ
RANDARRAY(行, 列, 最小, 最大, 整数)指定範囲の整数または小数配列(複数)5つ(すべて省略可)

使い分けの目安はこちらです。

  • 乱数が1つだけほしい → RAND関数またはRANDBETWEEN関数
  • 整数の乱数が1つほしい → RANDBETWEEN関数が手軽
  • 複数の乱数を一括で生成したい → RANDARRAY関数

RANDARRAY関数は配列で返せるのが最大の強みです。 RAND関数やRANBETWEEN関数だと、必要なセルの数だけ数式をコピーする必要があります。 RANDARRAY関数なら1つの数式で完結するので、管理もラクですよ。

まとめ

この記事では、ExcelのRANDARRAY関数の使い方を解説しました。 ポイントをおさらいしましょう。

  • RANDARRAY関数は、指定した行数・列数のランダムな数値の配列を一括生成できる
  • 引数は5つ(行・列・最小値・最大値・整数)で、すべて省略可能
  • 「整数」引数をTRUEにすると整数、FALSEまたは省略で小数が返される
  • 揮発性関数なので再計算のたびに値が変わる。固定するにはコピー→値貼り付け
  • SORT関数と組み合わせるとソート済みの乱数配列が作れる
  • RAND関数・RANDBETWEEN関数との違いは「配列で一括生成できるかどうか」
  • Microsoft 365またはExcel 2021以降が必要

テストデータの作成やシミュレーションなど、ランダムなデータが必要な場面でぜひ活用してみてください。

タイトルとURLをコピーしました