本ページはプロモーションが含まれています。

エクセルでランダムに数字を発生させたい! 乱数を発生させるRAND関数とRANDBETWEEN関数 重複しない乱数もRANK関数で 365・2019・2016・2013・2010・2007対応

目次

重複しない乱数には「RAND関数」と「RANK関数」を組み合わせて作成

重複させない乱数を発生させるには、2つの関数「RAND関数」と「RANK関数」を組み合わせる必要があります。

「RAND関数」とは

冒頭の「RANDBETWEEN関数」は指定した範囲で整数の乱数を発生させました。

ランダムな数値を発生させる関数には、もう一つ「RAND関数」があります。

最初に「関数の検索」で表示されたもう一つの関数です。

RAND関数

「RAND関数」は、0以上1未満の乱数を発生させます。この関数には引数はありません。

RAND関数には引数が不要

上記のダイアログボックスが開きますので、「OK」ボタンをクリックします。すると下図のように小数の乱数が発生します。

0~1までの小数の乱数が発生

B1セルをドラッグしてB12セルまでドラッグして数式をコピーします。すると、それぞれのセルに小数の乱数が発生します。

数式をドラッグでコピー

「RAND関数」は、下の図のように小数第15位までの数値になります。これなら数値の重複はあり得ません。

ちなみに16桁目から0になっているのは、エクセルの仕様上の制限で15桁を超えると0として扱われるためです。

RAND関数は小数第15位までの乱数を発生させる

「RANK関数」とは

「RANK関数」とは、指定した範囲内での順位を表示する関数です。

C1セルに「RANK関数」を挿入します。C1セルを選択し、「関数の挿入」をクリックします。

セル選択後、「関数の挿入」

「関数の検索」ボックスに「RANK」と入力し、「検索開始」をクリックします。

表示された関数から「RANK」をクリックして「OK」ボタンをクリックします。

RAND関数

「RANK関数」は2つの引数を必要とします。

「=RANK(順位を調べたいセル,順位を計算する範囲)

下記をご覧になればわかると思いますが、「参照」セル範囲は「F4」キーを押して絶対参照にする必要がありますのでご注意ください。

RANK関数の引数

3つ目の引数である「順序」は省略可能です。小さい数字順に順位を上にしたい場合には設定が必要ですが、その場合は3つ目の引数に「1」と入力します。

「順序」引数に「1」を設定すると降順に

「OK」ボタンをクリックして結果を確認します。

B列を参照した順位が表示されています。

数値の順位を表示

「RAND関数」と「RANK関数」で重複しない整数の乱数を発生させる

このようにB列に発生させた小数第15位までの乱数をC列で順位付けをすると、C列に「重複しない」整数の乱数を発生をさせることができました。

重複しない整数の乱数を発生させる

キーボードの「F9」キーを何度か押して再計算させ、重複しないことを確認してください。

「F9」キーで再計算

「RAND関数」は、小数第15位までの乱数を発生させますから、理論上は百兆通りの乱数を発生させることが可能です。

エクセルの仕様上、数値は15桁しか扱うことができませんが、15桁もあれば必要十分でしょう。

重複しない整数の乱数を発生させて、抽選やくじ引きにも応用可能

重複しない整数の乱数を発生させて、抽選やくじ引きにも応用が可能です。

下の図は、1位に◎を、2位は○、3位は△、4位は×とした例です。

「IFS関数」を利用しています。

数式は「=IFS(C1=1,”◎”,C1=2,”○”,C1=3,”△”,C1=4,”×”,TRUE,””)」としています。

「IFS関数」を利用して当選者を表示させることも可能

このように、「RAND関数」と「RANK関数」を利用することによって重複しない乱数を発生させることができました。

リストをランダムに並べ替えたり、抽選やくじ引きなどにも利用できる便利な機能です。

1 2

関連コンテンツ

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次