Excelで「ランダムな数値を作りたい」「乱数をまとめて作りたい」と思ったことはありませんか?
そんなときに便利なのが、RANDARRAY関数(ランダムアレイ関数) です。
RANDARRAY関数を使えば、指定した範囲や条件に合わせて、ランダムな数値をまとめて自動生成できます。シミュレーションやサンプルデータ作成などにとても役立つ関数です。
RANDARRAY関数とは?
RANDARRAY関数 は、指定した行数・列数に基づいてランダムな数値を自動的に生成する関数です。
Excel 365 / Excel 2021 以降で使用できる「動的配列関数」のひとつで、結果が自動的に複数セルに展開(スピル)されます。
書式
=RANDARRAY([行数], [列数], [最小値], [最大値], [整数])
引数の説明
- [行数]:生成する行の数を指定します。(省略すると 1 行)
- [列数]:生成する列の数を指定します。(省略すると 1 列)
- [最小値]:生成する数値の最小値を指定します。(省略時は 0 )
- [最大値]:生成する数値の最大値を指定します。(省略時は 1)
- [整数]:整数を生成するかどうかを指定します。
- TRUE:整数
- FALSE(または省略):小数
使用例①:0~1の乱数を5個生成する
5行 × 1列
=RANDARRAY(5)

👉 結果:
0.730、0.353、0.892、0.069、0.645 … のように、0~1の間でランダムな小数が5個生成されます。
1行 × 5列
=RANDARRAY(,5)

👆 この場合、最初の引数 [行数] が空白なので既定値「1」が使われ、1行 × 5列 の範囲に、0~1のランダムな小数を自動生成するという意味になります。
5行 × 5列
=RANDARRAY(5,5)

👆 0~1の間のランダムな小数を、5行×5列=25個まとめて生成します。
使用例②:1~100の整数を3行×4列で生成する
=RANDARRAY(3,4,1,100,TRUE)

このように、指定した範囲内のランダムな整数(最小値1, 最大値100)が3行×4列に展開されます。
活用例
RANDARRAY関数は、他の関数と組み合わせて使うことでさらに便利になります。
例1:SORT関数と組み合わせてランダム並べ替え
=SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10)))
👉 リストをランダムに並び替えることができます。
例2:ROUND関数と組み合わせて小数点を調整
=ROUND(RANDARRAY(5,1,0,10,FALSE),1)
👉 0~10の範囲で、小数第1位までのランダム値を生成。
注意点
注意点 | 内容 |
---|---|
値が変わるタイミング | シートを再計算するたびに数値が更新される |
固定したい場合 | コピー → 値として貼り付け を行う |
関連関数
関数 | 説明 |
---|---|
RAND | 0~1の間のランダムな小数を1つ生成 |
RANDBETWEEN | 指定範囲内のランダムな整数を生成 |
SEQUENCE | 指定した範囲の連続した数列を生成 |
SORTBY | ランダム順にデータを並び替える際に組み合わせて使用可能 |
まとめ
RANDARRAY関数 は、指定範囲にランダムな数値をまとめて生成できる便利な関数です。テストデータの作成やシミュレーション、並べ替えの補助など、さまざまな場面で活躍します。
動的配列に対応しているため、元の設定を変えれば即座にランダムなデータが更新される点も魅力です。