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

今回は、エクセルでランダムな数字を発生させる方法のご紹介です。

ランダムな数字を発生させることで、リストをランダムに並び変えたり、抽選やくじ引きに利用することができます。

スポンサーリンク

ランダムな数字を発生させる方法は簡単 RANDBETWEEN関数

ランダムな数字をする発生させる方法は非常に簡単です。

RANDBETWEEN関数を利用すれば、整数値でランダムな数値を発生させることが可能です。

まずは乱数を発生させたいセルを選択し、「関数の挿入」をクリックします。

関数の挿入

「関数の挿入」ダイアログボックスで、「関数の検索」欄に「rand」と入力し、「検索開始」をクリックします。

ここでは2つの候補が表示されますが、まずは「RANDBETWEEN」を選択して「OK」をクリックします。

関数の検索

RANDBETWEEN関数の引数は非常にシンプルです。

「=RANDBETWEEN(発生させたい整数の最小値,発生させたい整数の最大値)」

となります。

下記の図では、「最小値」に0を、「最大値」に100を設定しています。すなわち、0~100の間で乱数を表示する設定となります。

「OK」ボタンをクリックし、セルのドラッグでB12セルまでコピーしたものが下の図になります。

1~100までの乱数が発生する

「RANDBETWEEN関数」は、キーボードの「F9」キーを押すごとに再計算しますので、「F9」キーを押すたびに数値が変わるのが分かると思います。

「F9」キーを押すごとに乱数は変化する
エクセルで知らない間に勝手に自動計算から手動計算になる? 恐ろしい「再計算病」 自動計算に戻す方法と原因を解明 計算方法の設定方法も 365・2019・2016・2013・2010・2007対応
ときどきエクセルのファイルを開いていて、マクロを実行しているとうまく動作しないときがあります。マクロにミスはないのですが、原因がわからず調べてみると、身に覚え...
スポンサーリンク

RANDBETWEEN関数では、乱数の数値が重複する可能性もある

ただし、「RANDBETWEEN関数」では数値が重複する可能性があります。先程のように0~100ではなかなか数値は重複することはないのですが、下の例のように0~10までの乱数では数値が重複する可能性が増えます。

{RANDBETWEEN関数」では数値の重複がある

数値が重複しても問題ないのであれば、「RANDBETWEEN関数」は手軽に利用できる関数です。

スポンサーリンク

重複しない乱数を発生させるために「RAND関数」と「RANK関数」を利用

重複しない乱数を発生させるためには、「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関数の引数
エクセルで条件に合ったセルの合計・平均を計算するSUMIF関数・AVERAGEIF関数の使い方 365・2019・2016・2013・2010・2007対応
今回はエクセルで、ある条件に合ったセルだけの合計・平均を計算・表示する方法です。「SUMIF関数」と「AVERAGEIF関数」を利用します。以...

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関数」を利用して当選者を表示させることも可能
Excel(エクセル)2019の新機能! 追加された新関数IFS(イフエス)の使い方 IF関数よりもシンプルに条件分岐が可能!
Excel(エクセル)2019で追加された機能Excel2019になっていろいろな機能が追加されています。CONCATIFSMAXIF...

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

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

スポンサーリンク
Office・Windows
スポンサーリンク
リーダーの独り言をフォローする
リーダーの独り言

コメント

タイトルとURLをコピーしました