この記事では、エクセルでランダムな数字を生成(重複しない:関数:入れる)する方法【並び替え:同じものは使わない:被りなし】について解説していきます。
ではサンプルを見ていきましょう。
エクセルでランダムな数字を生成・入力(重複しない:被りなし)を表示する方法1【関数:0から1未満の乱数】
エクセルで重複しない乱数を生成する方法はいくつかあります。RANDBETWEEN関数ではランダムな数字を出せますが、絶対重複しないということはありません。
そこでまずはRAND関数とRANK関数を使う方法を解説します。
RAND関数は0以上1未満の乱数を生成します。
A1セルに “=RAND()” と入れ、A10までオートフィルします。サンプルのように10個の乱数が表示されましたね。
よく見れば重複いないことはわかります、次にRANK.EQ関数を使って重複しない1~10の数字を出してみましょう。B1セルに以下の数式を入れます。
=RANK.EQ(A1,A:A,1)
最後の「1」は表示する順序で、昇順で数字を降ります。「0」を指定すると降順で数字が降られます。
B列は1~10の重複しない数字が作成されましたね。
エクセルでランダムな数字を入れる(重複しない)を表示する方法2【1から10までの間】
次はUNIQUE関数とRANDARRAY関数を使って重複のない1から10までのランダムな数字を表示してみましょう。
A1セルに以下のように数式を入れます。
=UNIQUE(RANDARRAY(10,1,1,10))
1~10の間で10個のランダムで重複のない数字が生成されましたね。RANDARRAY関数では必要に応じてセルの範囲や最小値、最大値を変更できます。
先ほどと同じようにRANK.EQ関数を使って重複しない1~10の数字を出してみましょう。B1セルに以下の数式を入れます。
=RANK.EQ(A1,A:A,1)
B列に1~10までの範囲内で整数の10個の数字が生成されましたね。
なお、UNIQUE関数とRANDARRAY関数はExcel2019以降のバージョンで導入されました。
UNIQUE関数構文
=UNIQUE(配列, [列の比較], [回数指定])
※配列:抽出する元データの範囲または配列を指定
RAND ARRAY関数構文
=RANDARRA(行, 列, 最小, 最大, 整数)
※引数は全て省略可能、全て省略すると入力したセルに1つだけ乱数を返す
エクセルでランダムな数字(重複しない乱数)を表示する方法3
次はSEQUENCE関数とSORTBY関数、RANDARRAY関数を組み合わせて、ランダムな数値を表示させてみましょう。
D1セルに以下の数式を入れます。
=SORTBY(SEQUENCE(10), RANDARRAY(10))
この方法だと綺麗に1〜10のランダムな数値が表示されましたね。
なお、ここで紹介した関数(SORTBY, SEQUENCE, RANDARRAY)もExcel2019以降のバージョンで導入されました。
SORTBY関数構文
=SORTBY(範囲, 基準, 順序, …126個記述可能)
※範囲:元のデータの範囲
※基準:並べ替えの基準となるデータの範囲指定
※順序:1 昇順、-1 降順
まとめ エクセルで重複し内ランダムな数字を出力・表示(重複しない乱数)する方法【関数:同じものは使わない:被りなし】
この記事では、エクセルでランダムな数字(重複しない乱数)を関数で表示する方法について解説しました。
ここで紹介したUNIQUE関数、RANDARRAY関数、SORTBY関数、SEQUENCE関数はExcel2021以降でサポートされました。もし2019までのExcelバージョンの場合は、最初に紹介したRAND関数とRANK.EQ関数による方法をご利用下さい。
エクセルの様々な処理を理解し、業務に役立てていきましょう。