RANDARRAY 関数は、乱数(ランダムな数)をまとめて作る関数です。=RANDARRAY(5,3,1,100,TRUE) と書くと、1〜100 の整数が 5 行×3 列に一度に並びます。RAND や RANDBETWEEN を 1 つずつコピーしなくて済みます。
この記事では、RANDARRAY の基本から、重複なしの抽選、ランダムな日付まで、実際の Excel で確かめた結果で説明します。乱数なので、画像の数字は開くたび・入力するたびに変わります。RANDARRAY は Microsoft 365 と Excel 2021 以降で使えます。
RANDARRAY 関数の書き方
=RANDARRAY([行数], [列数], [最小], [最大], [整数])
| 引数 | 意味 |
|---|---|
| 行数(省略可) | 縦に何個並べるか(省略は 1) |
| 列数(省略可) | 横に何個並べるか(省略は 1) |
| 最小・最大(省略可) | 乱数の範囲(省略は 0〜1) |
| 整数(省略可) | TRUE で整数、FALSE か省略で小数 |
引数をすべて省略した =RANDARRAY() は、=RAND() と同じく 0 以上 1 未満の小数を 1 つ返します。
1. 0〜1 の乱数を 5 個まとめて作る
行数だけを指定すると、0 以上 1 未満の小数が縦に並びます。
=RANDARRAY(5)

結果は 5 行の小数になりました。RAND を 5 回コピーしたのと同じです。
2. 1〜100 の整数を 5 行×3 列で作る
列数・最小・最大を指定し、5 つ目を TRUE にすると、整数の乱数の表になります。
=RANDARRAY(5,3,1,100,TRUE)

1 つの式で 15 個の整数が並びました。テストの練習用データを作るときなどに便利です。この方法では同じ数が重なることがあります。重複させたくないときは次の方法を使います。
3. 名前の一覧から重複なしで 3 人を抽選する
名前の一覧を、RANDARRAY で作った乱数の順に並べ替え(SORTBY)、上から 3 人を取り出し(TAKE)ます。並べ替えなので、同じ人が 2 回選ばれることはありません。
=TAKE(SORTBY(A2:A11,RANDARRAY(10)),3)

RANDARRAY の行数(10)は、名前の数にそろえます。人数が変わるときは RANDARRAY(ROWS(A2:A11)) と書くと自動で合います。全員の順番をシャッフルしたいときは TAKE を外して =SORTBY(A2:A11,RANDARRAY(10)) にします。
4. ランダムな日付を作る
日付は数値なので、最小と最大に DATE 関数で日付を入れ、整数にすると、その期間のランダムな日付になります。セルの表示形式は日付にします。
=RANDARRAY(5,1,DATE(2026,1,1),DATE(2026,12,31),TRUE)

2026 年 1 月 1 日〜12 月 31 日の日付が 5 個できました。表示形式を設定しないと、46023 のような数値で表示されます。
【実機で検証】RANDARRAY でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| 5 行×3 列の行数 | =ROWS(RANDARRAY(5,3)) | 5 |
| 1〜6 の整数 1000 個が 1〜6 におさまるか | =LET(x,RANDARRAY(1000,1,1,6,TRUE),AND(MIN(x)>=1,MAX(x)<=6)) | TRUE |
| 整数 TRUE のとき小数がまざる個数 | =LET(x,RANDARRAY(1000,1,1,6,TRUE),SUM(--(x<>INT(x)))) | 0 |
| 3 人の抽選で重複しない人数 | =ROWS(UNIQUE(TAKE(SORTBY(RANDARRAY!A2:A11,RANDARRAY(10)),3))) | 3 |
| 最小を最大より大きくすると | =RANDARRAY(2,1,10,1) | #VALUE! |
乱数は毎回変わるので、毎回同じになることだけを確かめました。1〜6 の整数を 1000 個作ると、すべて 1〜6 におさまり(TRUE)、小数がまざる個数は 0 でした。
SORTBY で並べ替えて 3 人を取り出す方法は、UNIQUE で数えても 3 人で、重複しませんでした。
最小(10)を最大(1)より大きくすると #VALUE! になりました。最小と最大の順番に注意します。
よくある質問
乱数が勝手に変わらないように固定するには?
RANDARRAY は、セルを入力したり F9 を押したりするたびに計算し直されます。固定したいときは、結果をコピーして「値の貼り付け」をします。くわしくは 乱数を作る方法で説明しています。
RANDARRAY が使えない(#NAME?)ときは?
Excel 2019 以前では使えません。RAND や RANDBETWEEN を必要な数だけコピーします。
抽選の結果を残したいときは?
抽選したら、すぐに結果を値の貼り付けで固定します。そのままにすると、ほかのセルを入力したときに選び直されてしまいます。

コメント