楽天リーベイツで楽天ポイント還元最大20%!今なら登録して初回購入で500ポイントもGET!

【エクセル】乱数の生成方法を徹底解説!用途によって関数を使い分けよう

7 min 1,631 views
エクセル初心者

エクセル初心者

エクセルで乱数を作る方法はあるのかな?今度忘年会のイベントで抽選会をやるので公正にランダムな数字を作りたい!

エクセルだと乱数を生成することでランダムな数字を簡単に作れるよ!便利な関数があるから使ってみよう!

Dr.オフィス

Dr.オフィス

本記事は下記の動画でも解説しているので、ぜひ合わせてご覧ください。

今回はエクセルで乱数を作る方法を解説します。

ランダムな数字を自分で作ろうと思うと、難しいですよね。

エクセルで関数を設定すると簡単に乱数を生成できるので便利です。

エクセルで乱数を生成する簡単ステップ
  1. 生成したいセルを選択
  2. 『=RAND()』と記入しRAND関数を設定する
  3. Enterキーを押す

PCサポート歴10年の私が分かりやすく解説するよ!

関数を使うと簡単に乱数を生成できるので実際にやってみよう。

Dr.オフィス

Dr.オフィス

乱数を生成する関数は次の3つがあります。

  • RAND関数:0以上1未満の乱数(実数)を生成する
  • RANDBETWEEN関数:範囲指定して整数の乱数を生成する
  • RANDARRAY関数:範囲指定してスピル配列で乱数を生成する

設定は簡単にできますが、どのように乱数を生成したいかによって使う関数が変わります。

用途に合った関数が使えるように解説をしていきます!

※本記事は『OS:Windows11』画像は『Excelのバージョン:Microsoft365』を使用しています。

乱数とはどんな数字のこと?

エクセル初心者

エクセル初心者

乱数って何?どんな時に使うの?

『乱数』って漢字でみると難しいものかと思うよね。

簡単に言うと『無作為に作られる数字』のことだよ!

Dr.オフィス

Dr.オフィス

乱数は偏りなく、無作為に作られる数値のことです。

人間がランダムに数値を考えようとしても、無意識に偏りや規則性が出てしまいます。

『無作為に何かを選びたい』『偏りなく規則性もない数値が欲しい』という時には、エクセルで関数を使えば簡単に乱数を生成できます。

例えば、こんな場面で使うと便利です。

  • 公正に抽選をしたい
  • 無作為に数人ずつのグループを作りたい
  • パスワードなど作りたい

エクセルで乱数を生成する方法

RAND関数を使って乱数を生成する方法を詳しく解説します。

RAND関数は『=RAND()』と記載し、引数はなしです。

0以上1未満の乱数(実数)を生成することができます。

それでは実際に乱数を生成してみましょう。

  1. STEP

    セルを選択する

    セルを選択
    セルを選択

    乱数を生成したいセルをクリックします。

  2. STEP

    『=RAND()』と入力する

    関数の設定
    関数の設定

    RAND関数を設定するため、セルに『=RAND()』と入力します。

  3. STEP

    乱数が生成された!

    乱数が生成されました
    乱数が生成されました

    enterキーを押すと乱数が生成されます。

  4. STEP

    乱数表も簡単に生成できる!

    乱数表も作れる!
    乱数表も作れる!

    複数の乱数を使用したい場合は乱数表も簡単に生成できます。

    乱数表は以下の手順で作れるよ。

    1. 乱数を生成したRAND関数のセルをコピー
    2. 乱数表を表示したい範囲を選択
    3. 貼り付けで『書式ごと貼り付ける』を選択する
    Dr.オフィス

    Dr.オフィス

エクセルで範囲指定して乱数を生成する方法

エクセルで範囲指定して乱数を生成する関数は次の2つがあります。

  • RANDBETWEEN関数:範囲指定して整数の乱数を生成する
  • RANDARRAY関数:範囲指定してスピル配列で乱数を生成する

それでは詳しく解説します。

RANDBETWEEN関数で整数の乱数を生成しよう

整数の乱数を生成したい場合はRANDBETWEEN関数を使い、

『=RANDBETWEEN(最小値,最大値)』と記載します。

それでは実際にやっていきましょう。

  1. STEP

    セルを選択する

    セルを選択
    セルを選択

    乱数を表示したいセルをクリックします。

  2. STEP

    RANDBETWEEN関数を設定する

    RANDBETWEEN関数を設定
    RANDBETWEEN関数を設定

    今回は1から5000の整数の中から乱数を生成します。

    セルに『=RANDBETWEEN(1,5000)』と入力しましょう。

  3. STEP

    範囲指定して乱数を生成できた!

    範囲指定で乱数を生成できた!
    範囲指定で乱数を生成できた!

    範囲指定し、乱数を生成することができました。

  4. STEP

    乱数表も簡単に生成できる

    乱数表も作れる!
    乱数表も作れる!

    複数の乱数を扱いたい場合は、乱数表を生成すると便利です。

    乱数表は以下の手順で作れるよ。

    1. 乱数を生成したRANDBETWEEN関数のセルをコピー
    2. 乱数表を表示したい範囲を選択
    3. 貼り付けで『書式ごと貼り付ける』を選択する
    Dr.オフィス

    Dr.オフィス

RANDARRAY関数を使ってスピル配列で乱数を生成しよう

RANDARRAY関数は『RANDARRAY(行,列,最小値,最大値,整数かどうか)』と記載します。

設定の仕方はRANDBETWEEN関数と同様にセルを選択して関数を設定していきます。

RANDARRAY関数の引数の詳細は以下の通りです。

要素内容
乱数を生成したい行の数(省略可能)
乱数を生成したい列の数(省略可能)
最小値範囲を指定したい数字の小さいほうの値(省略可能)
省略した場合は『0』と認識される
例)1から5000で範囲指定する場合は『1』と記載
最大値範囲を指定したい数字の大きいほうの値(省略可能)
省略した場合は『1』と認識される
例)1から5000で範囲指定する場合は『5000』と記載
整数整数の場合は『TRUE』
小数も含む場合は『FALSE』と記載、もしくは省略する

スピル配列で生成されるので、数字を並び替えたりなど操作がうまくできないよ。

もしも操作が必要な場合は、RAND関数やRANDBETWEEN関数を使って乱数を生成しよう。

Dr.オフィス

Dr.オフィス

RANDARRAY関数を使った例をご紹介します。

全ての引数を入力する場合

『行:3、列:4、最小値:1、最大値:20、整数どうか:整数(TRUE)』という乱数表を生成してみます。

RANDARRAY関数の設定
RANDARRAY関数の設定

『RANDARRAY(3,4,1,20,TRUE)』と記載すると以下の結果になります。

RANDARRAY関数で乱数を生成
RANDARRAY関数で乱数を生成

行と列の引数を省略する場合

行と列は省略可能な要素です。

入力しない場合は0から1の数値が返されるため、1つのセルのみに乱数が生成されます。

『最小値:1、最大値:20、整数どうか:整数(TRUE)』のみを設定します。

RANDARRAY関数で行と列を省略する
RANDARRAY関数で行と列を省略する

『1つのセルに1~20の中で整数の乱数を生成する』という意味になるよ!

Dr.オフィス

Dr.オフィス

『RANDARRAY(,,1,20,TRUE)』と記載すると以下の結果になります。

行と列を省略して乱数生成
行と列を省略して乱数生成

エクセルで乱数を固定する方法

RAND関数やRANDBETWEEN関数、RANDARRAY関数を設定して乱数を生成しても、固定をしなければ数字がどんどん変わってしまいます。

数字が変化しないように固定する方法を解説します。

関数を設定したときに数値を固定する

  1. STEP

    セルを選択する

    セルを選択
    セルを選択

    乱数を生成したいセルをクリックします。

  2. STEP

    RAND関数を設定し、Enterキーを押さずにF9キーを押す

    RAND関数を設定し、固定する
    RAND関数を設定し、固定する

    Enterキーを押さずにF9キーを押すとRAND関数が数値に変化します。

  3. STEP

    RAND関数が数字で固定された

    乱数を固定できました
    乱数を固定できました

    乱数を固定することができました。

    必ずEnterキーを押さずにF9キーを押して、乱数を固定しよう。

    RAND関数を設定し、一度Enterキーの押してしまうとF9キーは「乱数を更新する」ボタンになってしまうよ。

    Dr.オフィス

    Dr.オフィス

乱数を更新したあとに固定する

乱数表を作成したい時や、何度か乱数を更新してから数値で固定したい場合に使える方法です。

  1. STEP

    RAND関数を設定し、セルをコピーする

    設定した関数をコピーする
    設定した関数をコピーする

    Ctrlキー+Cでコピーをしましょう。

  2. STEP

    『値』として貼り付ける

    数値にして貼り付けをする
    数値にして貼り付けをする

    別のシートやセルに貼り付ける際に『値』として貼り付けます。

    1. 別のセルを選択して右クリックする
    2. 『貼り付けオプション』の『値で貼り付ける』を選択する
  3. STEP

    数値を固定できた!

    乱数を固定できました
    乱数を固定できました

    RAND関数を数値として貼り付けでき、固定ができました。

    形式を設定して貼り付ける方法は、Ctrl+Alt+Vのショートカットキーを使ってもできるよ!

    貼り付けを押すと形式を選択できるので、『値』にチェックを入れて『OK』を押そう!

    Dr.オフィス

    Dr.オフィス

エクセルで乱数を重複しないで生成する方法

重複しない乱数を生成するには以下の2つの関数を利用すると便利です。

  • RAND関数
  • RANK.EQ関数

RANDBETWEEN関数やRANDARRAY関数は重複が発生することもあるので、RAND関数を使うよ。

RAND関数は整数の乱数を生成できないのでRANK.EQ関数も利用して重複しない整数の乱数を作ってみよう!

Dr.オフィス

Dr.オフィス

まずはRAND関数で0から1の乱数を生成し、オートフィルで必要分の乱数を作ります。

例えば1から50で乱数を生成する場合は、50個のセルにRAND関数を入力しましょう。

乱数を生成しオートフィルする
乱数を生成しオートフィルする

RAND関数で生成した乱数を順位付けすることで『重複しない整数の乱数』として扱います。

RANK.EQ関数で表示されるのは『順位』なので必ず整数になるよ!

Dr.オフィス

Dr.オフィス

RANK.EQ関数で順位付けする
RANK.EQ関数で順位付けする

大きな数字で乱数を生成したいときはRAND関数で生成する乱数の数を増やすと作れます。

大きい数字で乱数を生成したい場合
大きい数字で乱数を生成したい場合

エクセルで乱数を重複しないで生成する方法はこちら≫【エクセル】乱数を重複しないで生成する方法!意外と使える簡単技で詳しく解説しています。

エクセルで乱数を生成して抽選する方法

RAND関数を利用して、抽選も簡単に行うことができます。

使用する関数は以下の3つです。

  • RAND関数『RAND()』
  • RANK.EQ関数『RANK.EQ(数値,参照,順序)』
  • IF関数『IF(論理式,真の場合,偽の場合)』

RANDBETWEEN関数やRANDARRAY関数は数値が重複してしまう可能性があるので、抽選をするときは重複のないRAND関数を使うよ!

Dr.オフィス

Dr.オフィス

それでは詳しく解説していきます。

抽選方法の考え方を整理する

乱数を使って抽選をする
乱数を使って抽選をする

今回は2名の当選者を決めることとします。

そこで『生成された乱数について数字の大きいものから順に2名当選』というルールを決めます。

決めたルールをもとに『=IF(RANK.EQ(C2,$C$2:$C$8)<=2,”当選◎”,”落選”)』という関数を使って一目で『当選か落選か』をわかるように関数を設定していきます。

乱数を順位付けして「当選」を表示する
乱数を順位付けして「当選」を表示する

RANK.EQ関数内の数値に当たる部分『C2』は『=RAND()』とRAND関数を設定しておくよ!

Dr.オフィス

Dr.オフィス

考え方の大きな流れは以下の通りです。

  1. RAND関数で乱数を生成する
  2. 生成した乱数をRANK.EQ関数を使って大きな数から順に順位付けする
  3. IF関数を使って順位付けした数字が2以下の場合は当選、それ以外は落選と表示させる
関数の整理

それでは実際にやっていきましょう!

抽選をやってみよう!

  1. STEP

    乱数を生成するためにRAND関数を設定する

    該当のセルにRAND関数を設定する
    該当のセルにRAND関数を設定する

    C2のセルに『=RAND()』と入力します。

  2. STEP

    オートフィルしてその下のセルにも反映させる

    オートフィルして乱数を生成
    オートフィルして乱数を生成

    オートフィルして下のセルにもRAND関数を設定し、乱数を生成しましょう。

    エクセル上で何かしら操作を行うと乱数が更新されてしまうよ。

    更新を止めたい場合は、固定してしまおう!

    Dr.オフィス

    Dr.オフィス

  3. STEP

    当選結果の表示を設定する

    IF関数を設定する
    IF関数を設定する

    D2に『=IF(RANK.EQ(C2,$C$2:$C$8)<=2,”当選◎”,”落選”)』と入力します。

  4. STEP

    IF関数もオートフィルする

    オートフィルしてIF関数を下のセルにも反映させる
    オートフィルしてIF関数を下のセルにも反映させる

    オートフィルして下のセルにもIF関数を反映させましょう。

  5. STEP

    結果が表示できた!

    当選結果を表示できた!
    当選結果を表示できた!

    当選結果を表示できました。

エクセルの乱数に関するQ&A

Q

乱数表を作るにはどうしたらよいですか?

A

RAND関数についてはこちら≫エクセルで乱数を生成する方法のSTEP4、RANDBETWEEN関数についてはこちら≫エクセルで範囲指定して乱数を生成する方法のSTEP4で解説しています。また、RANDARRAY関数は引数を設定すると乱数表を作れます。ぜひ確認をしてみてください。

Q

乱数を更新したいときはどうすればよいですか?

A

F9キーを押すと更新できます。新しく関数を設定する場合なども更新されていきます。

用途に合わせて関数を使い分けて乱数を生成しよう!

今回はエクセルで乱数を生成する方法を解説しました。

RAND関数を使うと簡単に乱数を生成することができます。

また用途に合わせてRANDBETWEEN関数やRANDARRAY関数も使用できます。

おさらい
  1. 生成したいセルを選択
  2. 『=RAND()』と記入しRAND関数を設定する
  3. Enterキーを押す

ランダムな数字を使って何かをしたいと考えると自分で数値を考えるのは難しいですよね。

エクセルのRAND関数は公平性も保てるので、便利に使っていきましょう。

スピルについてはこちら≫エクセルのスピルを徹底解説!新機能を使いこなして仕事効率アップ!で詳しく解説しています。

関連記事