Excel。重複なしのランダム数値を1つの数式だけで作る方法
<SORTBY関数+SEQUENCE関数+RANDARRAY関数>
重複なしのランダム数値を、RAND関数とRANK.EQ関数を組み合わせた方法を、以前紹介しました。
今回は、もっと簡単に、数式1つだけで、重複梨のランダム数値を求めてみましょう。
使う関数は、SORTBY関数とSEQUENCE関数とRANDARRAY関数だけで求めることができます。
A1に数式を設定します。
=SORTBY(SEQUENCE(9), RANDARRAY(9))
確定するだけで、1~9までの数値が重複することなく、ランダムで求めることができました。
では、数式を確認します。
先に、引数から確認しておきましょう。
SEQUENCE(9)は、1から9までを連番で求めることができます。
なので100までの数値をランダムにしたい場合には、SEQUENCE(100)とします。
RANDARRAY(9)は、ランダムの値(小数)を9個求めることができます。
C1には、
=SEQUENCE(9)
で、連番が、
D1には、
=RANDARRAY(9)
で、ランダムの数値を求めています。
この2つをつかって、SORTBY関数で並べ替えをします。
SORTBY関数ではなくて、SORT関数だとエラーが表示されてしまうので、注意が必要です。
SORT関数の最初の引数は、列番号しか受け取れないのでエラーがでます。
SORT関数は、数字(1列目)で、SORTBY関数は、範囲(A1:A10)を設定します。
そのため、SORTBY関数をつかいます。
SORTBY関数の最初の引数は、「範囲」。ここにSEQUENCE関数で1から9の値を作ります。
2つ目の引数は、「基準配列1」。
並べ替えの基準になる範囲です。
RANDARRAY関数で求めた数値を昇順で並べ替えています。
これで、ランダムの数値を重複することなく作ることができるというわけです。

