[エクセル関数]重複しないランダムな数値

投稿者: | 2021年9月8日
excelアイコン

エクセルバージョン

マイクロソフト365

 

本日は重複しない乱数(ランダムな数値)を作成していきます。

SORTBY関数SEQUENCE関数RANDARRAY関数スピルさせて使用できるので便利だと思います。

 

完成後

B1セルの値に何個の数値を作成するかを指定するだけで、A列重複しないランダムな数値がスピルします。

関数重複いない乱数スピル

この機能はバージョンがスピル機能SORTBY関数SEQUENCE関数RANDARRAY関数が搭載している、マイクロソフト365のようなバージョンでしか動作しませんのでご注意ください。

 

簡単なのでサクッと行きますね~(*^^)v

それではいってみましょう!

 

重複しない乱数の作成手順

作成手順

・SEQUENCE関数で重複しない連番の配列を作成します。

・RANDARRAY関数で乱数の配列を作成します。

・SORTBY関数で乱数配列を基準に、連番配列を連動で並び変えて完成します。

大まかにこんな感じで出来上がります(^o^)o

 

重複しない乱数サンプル

下記の図のようにB1セルの数値を変更で、A列に重複しない乱数がスピルします。

 

A1セルにコピぺ  →  =SORTBY(SEQUENCE(B1),RANDARRAY(B1))

オートフィルとか一切いりません。

あとはB1セルの値を変更するだけで、100個だろうが10000個だろうが100000個だろうが、一瞬重複しない乱数がA列自動で作成されるので楽チンです!

完成です\(^^)/

セル書式重複しない乱数

sortbyサンプル引数

解説

SORTBY関数の引数の配列(第1引数)に、SEQUENCE関数で重複のない配列の連番を作成します。

SORTBY関数の引数の基準配列1(第2引数)に、RANDARRAY関数乱数の配列を作成します。

すると乱数の配列が昇順に並び変わり、それに連動しての重複のない配列の連番が並び変わりスピルします。

完成

B1セルの値に何個の数値を作成するかを指定するだけで、A列重複しないランダムな数値がスピルして完成です\(^^)/

関数重複いない乱数スピル

本当に重複してないの~?を確認する場合は下記の関数をC1セルにコピペします。

=SORT(UNIQUE(A1#))

 

まとめ

スピルと新しい関数は使い方によっては今回のように非常に便利に機能し時短が可能になります。

VBAのChangeイベントを使用してるみたいでいい感じです。

スピルおそるべしっ…(^o^)o

以上です。