ランダムな数値を作成するための、RAND関数と、RANDBETWEEN関数をご紹介しました。
RAND・RANDBETWEEN関数では乱数が重複する
これらの関数で簡単に乱数が作成できることを知った方から、
「重複しないランダムな数値を作成するにはどうすればいいのでしょうか?」
といったご質問をいただくことがあります。
例えば、B1:B5セルに、1〜5のランダムな数値を表示させたいというようなケースです。
単純にB1:B5セルに、
「=RANDBETWEEN(1,5)」
「=INT(RAND()*5+1)」
という計算式を入力した場合、1〜5の乱数が表示されるようになりますが、偶然、同じ数値が表示されてしまうこともあります。
これを、同じ数値が表示されることのないようにするには?というご質問です。
RANK関数を組み合わせると重複しない乱数に
順位を求めるRANK関数を組み合わせると、重複のない乱数を作成することができます。※B1:B5セルに1〜5の乱数を作成する例
A1:A5セルに「=RAND()」という数式を入力
↓
B1セルに「=RANK(A1,$A$1:$A$5,)」という数式を入力
↓
B1セルの数式をB2:B5セルにコピー
とりあえずランダムな数値をA1:A5セルに作成し、B1:B5セルに順位を求めるRANK関数で、発生した乱数の順位を求めることで、1〜5の重複しないランダムな数値を作成しています。
上記の方法どおり重複しない数式と、重複する「=RANDBETWEEN(1,5)」「=INT(RAND()*5+1)」という数式を入力したサンプルファイルを作成しました。
興味のある方はダウンロード後、再計算のショートカットキー[F9]を何度か押してみて、どんな数値が表示されるかご確認ください。
▼サンプルファイル(001798.xls 16KByte)ダウンロード
- Newer:罫線を削除する−Ctrl+Alt+Uキー
- Older:起業ってこうなんだ!どっとこむ
Home » Excel(エクセル)の関数・数式の使い方 » 数学 » 重複しない乱数の作成−RAND関数・RANK関数