エクセル初心者
エクセルで乱数を作る方法はあるのかな?今度忘年会のイベントで抽選会をやるので公正にランダムな数字を作りたい!
エクセルだと乱数を生成することでランダムな数字を簡単に作れるよ!便利な関数があるから使ってみよう!
Dr.オフィス
本記事は下記の動画でも解説しているので、ぜひ合わせてご覧ください。
今回はエクセルで乱数を作る方法を解説します。
ランダムな数字を自分で作ろうと思うと、難しいですよね。
エクセルで関数を設定すると簡単に乱数を生成できるので便利です。
- 生成したいセルを選択
- 『=RAND()』と記入しRAND関数を設定する
- Enterキーを押す
PCサポート歴10年の私が分かりやすく解説するよ!
関数を使うと簡単に乱数を生成できるので実際にやってみよう。
Dr.オフィス
乱数を生成する関数は次の3つがあります。
- RAND関数:0以上1未満の乱数(実数)を生成する
- RANDBETWEEN関数:範囲指定して整数の乱数を生成する
- RANDARRAY関数:範囲指定してスピル配列で乱数を生成する
設定は簡単にできますが、どのように乱数を生成したいかによって使う関数が変わります。
用途に合った関数が使えるように解説をしていきます!
※本記事は『OS:Windows11』画像は『Excelのバージョン:Microsoft365』を使用しています。
目次
乱数とはどんな数字のこと?
エクセル初心者
乱数って何?どんな時に使うの?
『乱数』って漢字でみると難しいものかと思うよね。
簡単に言うと『無作為に作られる数字』のことだよ!
Dr.オフィス
乱数は偏りなく、無作為に作られる数値のことです。
人間がランダムに数値を考えようとしても、無意識に偏りや規則性が出てしまいます。
『無作為に何かを選びたい』『偏りなく規則性もない数値が欲しい』という時には、エクセルで関数を使えば簡単に乱数を生成できます。
例えば、こんな場面で使うと便利です。
- 公正に抽選をしたい
- 無作為に数人ずつのグループを作りたい
- パスワードなど作りたい
エクセルで乱数を生成する方法
RAND関数を使って乱数を生成する方法を詳しく解説します。
RAND関数は『=RAND()』と記載し、引数はなしです。
0以上1未満の乱数(実数)を生成することができます。
それでは実際に乱数を生成してみましょう。
- STEP
セルを選択する
乱数を生成したいセルをクリックします。
- STEP
『=RAND()』と入力する
RAND関数を設定するため、セルに『=RAND()』と入力します。
- STEP
乱数が生成された!
enterキーを押すと乱数が生成されます。
- STEP
乱数表も簡単に生成できる!
複数の乱数を使用したい場合は乱数表も簡単に生成できます。
乱数表は以下の手順で作れるよ。
- 乱数を生成したRAND関数のセルをコピー
- 乱数表を表示したい範囲を選択
- 貼り付けで『書式ごと貼り付ける』を選択する
Dr.オフィス
エクセルで範囲指定して乱数を生成する方法
エクセルで範囲指定して乱数を生成する関数は次の2つがあります。
- RANDBETWEEN関数:範囲指定して整数の乱数を生成する
- RANDARRAY関数:範囲指定してスピル配列で乱数を生成する
それでは詳しく解説します。
RANDBETWEEN関数で整数の乱数を生成しよう
整数の乱数を生成したい場合はRANDBETWEEN関数を使い、
『=RANDBETWEEN(最小値,最大値)』と記載します。
それでは実際にやっていきましょう。
- STEP
セルを選択する
乱数を表示したいセルをクリックします。
- STEP
RANDBETWEEN関数を設定する
今回は1から5000の整数の中から乱数を生成します。
セルに『=RANDBETWEEN(1,5000)』と入力しましょう。
- STEP
範囲指定して乱数を生成できた!
範囲指定し、乱数を生成することができました。
- STEP
乱数表も簡単に生成できる
複数の乱数を扱いたい場合は、乱数表を生成すると便利です。
乱数表は以下の手順で作れるよ。
- 乱数を生成したRANDBETWEEN関数のセルをコピー
- 乱数表を表示したい範囲を選択
- 貼り付けで『書式ごと貼り付ける』を選択する
Dr.オフィス
RANDARRAY関数を使ってスピル配列で乱数を生成しよう
RANDARRAY関数は『RANDARRAY(行,列,最小値,最大値,整数かどうか)』と記載します。
設定の仕方はRANDBETWEEN関数と同様にセルを選択して関数を設定していきます。
RANDARRAY関数の引数の詳細は以下の通りです。
要素 | 内容 |
---|---|
行 | 乱数を生成したい行の数(省略可能) |
列 | 乱数を生成したい列の数(省略可能) |
最小値 | 範囲を指定したい数字の小さいほうの値(省略可能) 省略した場合は『0』と認識される 例)1から5000で範囲指定する場合は『1』と記載 |
最大値 | 範囲を指定したい数字の大きいほうの値(省略可能) 省略した場合は『1』と認識される 例)1から5000で範囲指定する場合は『5000』と記載 |
整数 | 整数の場合は『TRUE』 小数も含む場合は『FALSE』と記載、もしくは省略する |
スピル配列で生成されるので、数字を並び替えたりなど操作がうまくできないよ。
もしも操作が必要な場合は、RAND関数やRANDBETWEEN関数を使って乱数を生成しよう。
Dr.オフィス
RANDARRAY関数を使った例をご紹介します。
全ての引数を入力する場合
『行:3、列:4、最小値:1、最大値:20、整数どうか:整数(TRUE)』という乱数表を生成してみます。
『RANDARRAY(3,4,1,20,TRUE)』と記載すると以下の結果になります。
行と列の引数を省略する場合
行と列は省略可能な要素です。
入力しない場合は0から1の数値が返されるため、1つのセルのみに乱数が生成されます。
『最小値:1、最大値:20、整数どうか:整数(TRUE)』のみを設定します。
『1つのセルに1~20の中で整数の乱数を生成する』という意味になるよ!
Dr.オフィス
『RANDARRAY(,,1,20,TRUE)』と記載すると以下の結果になります。
エクセルで乱数を固定する方法
RAND関数やRANDBETWEEN関数、RANDARRAY関数を設定して乱数を生成しても、固定をしなければ数字がどんどん変わってしまいます。
数字が変化しないように固定する方法を解説します。
関数を設定したときに数値を固定する
- STEP
セルを選択する
乱数を生成したいセルをクリックします。
- STEP
RAND関数を設定し、Enterキーを押さずにF9キーを押す
Enterキーを押さずにF9キーを押すとRAND関数が数値に変化します。
- STEP
RAND関数が数字で固定された
乱数を固定することができました。
必ずEnterキーを押さずにF9キーを押して、乱数を固定しよう。
RAND関数を設定し、一度Enterキーの押してしまうとF9キーは「乱数を更新する」ボタンになってしまうよ。
Dr.オフィス
乱数を更新したあとに固定する
乱数表を作成したい時や、何度か乱数を更新してから数値で固定したい場合に使える方法です。
- STEP
RAND関数を設定し、セルをコピーする
Ctrlキー+Cでコピーをしましょう。
- STEP
『値』として貼り付ける
別のシートやセルに貼り付ける際に『値』として貼り付けます。
- 別のセルを選択して右クリックする
- 『貼り付けオプション』の『値で貼り付ける』を選択する
- STEP
数値を固定できた!
RAND関数を数値として貼り付けでき、固定ができました。
形式を設定して貼り付ける方法は、Ctrl+Alt+Vのショートカットキーを使ってもできるよ!
貼り付けを押すと形式を選択できるので、『値』にチェックを入れて『OK』を押そう!
Dr.オフィス
エクセルで乱数を重複しないで生成する方法
重複しない乱数を生成するには以下の2つの関数を利用すると便利です。
- RAND関数
- RANK.EQ関数
RANDBETWEEN関数やRANDARRAY関数は重複が発生することもあるので、RAND関数を使うよ。
RAND関数は整数の乱数を生成できないのでRANK.EQ関数も利用して重複しない整数の乱数を作ってみよう!
Dr.オフィス
まずはRAND関数で0から1の乱数を生成し、オートフィルで必要分の乱数を作ります。
例えば1から50で乱数を生成する場合は、50個のセルにRAND関数を入力しましょう。
RAND関数で生成した乱数を順位付けすることで『重複しない整数の乱数』として扱います。
RANK.EQ関数で表示されるのは『順位』なので必ず整数になるよ!
Dr.オフィス
大きな数字で乱数を生成したいときはRAND関数で生成する乱数の数を増やすと作れます。
エクセルで乱数を重複しないで生成する方法はこちら≫【エクセル】乱数を重複しないで生成する方法!意外と使える簡単技で詳しく解説しています。
エクセルで乱数を生成して抽選する方法
RAND関数を利用して、抽選も簡単に行うことができます。
使用する関数は以下の3つです。
RANDBETWEEN関数やRANDARRAY関数は数値が重複してしまう可能性があるので、抽選をするときは重複のないRAND関数を使うよ!
Dr.オフィス
それでは詳しく解説していきます。
抽選方法の考え方を整理する
今回は2名の当選者を決めることとします。
そこで『生成された乱数について数字の大きいものから順に2名当選』というルールを決めます。
決めたルールをもとに『=IF(RANK.EQ(C2,$C$2:$C$8)<=2,”当選◎”,”落選”)』という関数を使って一目で『当選か落選か』をわかるように関数を設定していきます。
RANK.EQ関数内の数値に当たる部分『C2』は『=RAND()』とRAND関数を設定しておくよ!
Dr.オフィス
考え方の大きな流れは以下の通りです。
- RAND関数で乱数を生成する
- 生成した乱数をRANK.EQ関数を使って大きな数から順に順位付けする
- IF関数を使って順位付けした数字が2以下の場合は当選、それ以外は落選と表示させる
それでは実際にやっていきましょう!
抽選をやってみよう!
- STEP
乱数を生成するためにRAND関数を設定する
C2のセルに『=RAND()』と入力します。
- STEP
オートフィルしてその下のセルにも反映させる
オートフィルして下のセルにもRAND関数を設定し、乱数を生成しましょう。
エクセル上で何かしら操作を行うと乱数が更新されてしまうよ。
更新を止めたい場合は、固定してしまおう!
Dr.オフィス
- STEP
当選結果の表示を設定する
D2に『=IF(RANK.EQ(C2,$C$2:$C$8)<=2,”当選◎”,”落選”)』と入力します。
- STEP
IF関数もオートフィルする
オートフィルして下のセルにもIF関数を反映させましょう。
- STEP
結果が表示できた!
当選結果を表示できました。
エクセルの乱数に関するQ&A
Q
乱数表を作るにはどうしたらよいですか?
A
RAND関数についてはこちら≫エクセルで乱数を生成する方法のSTEP4、RANDBETWEEN関数についてはこちら≫エクセルで範囲指定して乱数を生成する方法のSTEP4で解説しています。また、RANDARRAY関数は引数を設定すると乱数表を作れます。ぜひ確認をしてみてください。
Q
乱数を更新したいときはどうすればよいですか?
A
F9キーを押すと更新できます。新しく関数を設定する場合なども更新されていきます。
用途に合わせて関数を使い分けて乱数を生成しよう!
今回はエクセルで乱数を生成する方法を解説しました。
RAND関数を使うと簡単に乱数を生成することができます。
また用途に合わせてRANDBETWEEN関数やRANDARRAY関数も使用できます。
- 生成したいセルを選択
- 『=RAND()』と記入しRAND関数を設定する
- Enterキーを押す
ランダムな数字を使って何かをしたいと考えると自分で数値を考えるのは難しいですよね。
エクセルのRAND関数は公平性も保てるので、便利に使っていきましょう。
スピルについてはこちら≫エクセルのスピルを徹底解説!新機能を使いこなして仕事効率アップ!で詳しく解説しています。