リテラアップダウンロード

エクセルで乱数を生成するRAND関数|範囲指定や重複しない方法も

エクセルで乱数を生成するRAND関数

エクセルで乱数を生成するRAND関数の使い方を解説します。普段乱数を使うことは少ないかもしれませんが、手動で作成しようと思うと意外と難しいものです。

エクセルの関数を使うと乱数を簡単に発生させることが可能なので、ぜひやり方を覚えましょう。乱数を発生させる時の範囲指定や出目を重複させない方法もご紹介します。

そもそも乱数とは

乱数とはランダム値とも呼ばれ、次に何が出るかわからない数字のことです。例えばサイコロの出目を想像してもらえば分かりやすいでしょう。サイコロを振って出る目には規則性がなく、予測不能な数値となります。

乱数はランダムな値なので、それぞれの数字が現れる確率は等しくなっています。0〜9の範囲で乱数を発生させると、それぞれの数字の出現確率は等しく1/10となります。

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

プログラミング言語には、種と呼ばれる値(シード値)を基にして乱数を取り出す関数が用意されています。エクセルも同様に乱数を生成することができますので、そのやり方をみていきましょう。

  • 0以上1未満の乱数を生成:RAND関数
  • 指定の整数範囲で乱数を生成:RANDBETWEEN関数
  • 生成した乱数を再計算する方法

0以上1未満の乱数を生成:RAND関数

まずはRAND関数を用いて生成する方法を紹介します。0以上1未満の数をランダムに生成します。

STEP.1
まずは乱数を表示する欄を作成します。

0以上1未満の乱数を生成:RAND関数

STEP.2
セルに「=RAND()」と入力しましょう。RAND関数に引数は必要ありませんので、カッコの中は空欄のままで構いません。

0以上1未満の乱数を生成:RAND関数

STEP.3
入力が終わったら「Enter」キーを押しましょう。これで0以上1未満の乱数が生成されます。以上で操作は完了です。

0以上1未満の乱数を生成:RAND関数

エクセルの再計算をすれば、乱数を変化させることができます。

指定の整数範囲で乱数を生成:RANDBETWEEN関数

次にRANDBETWEENという関数を使用して、指定の整数範囲で乱数を生成させる方法です。「BETWEEN」は「~の間に」という意味を持つ英単語です。

RANDBETWEEN関数の書式は、「=RANDBETWEEN(最小値,最大値)」となっています。ここでは例として、1以上100以下の間の乱数を生成します。

STEP.1
乱数を表示させる欄を作成しましょう。

指定の整数範囲で乱数を生成:RANDBETWEEN関数

STEP.2
セルに「=RANDBETWEEN(1,100)」と入力しましょう。例では1~100の乱数を生成するため、最小値に「1」、最大値に「100」を入力しています。

指定の整数範囲で乱数を生成:RANDBETWEEN関数

STEP.3
入力が終わったら「Enter」キーを押しましょう。これで1以上100以下の整数の乱数が生成されます。以上で操作は完了です。

指定の整数範囲で乱数を生成:RANDBETWEEN関数

生成した乱数を再計算する方法

RAND関数の章で少し触れましたが、生成した乱数は再計算できます。具体的な手順としては、以下のような方法があります。

  • 「F9」ボタンを押す。(PCによっては「Fn」+「F9」)
  • セルに入力されている数式の最後にカーソルを移動させ、「Enter」キーを押す
  • ブック内のいずれかの場所でデータを編集して確定する
  • エクセルファイルを閉じて再度開く

逆に言えば、これらの操作をしてしまうと今まで表示されていた乱数が変化してしまいます。値を更新したくない場合は注意しましょう。

生成した乱数を再計算する方法

エクセルで生成した乱数を固定する方法

生成した乱数を「数式」の「手動」モードを使ってそのまま固定する方法です。一度生成された乱数を、再計算させたくない場合に使用します。

STEP.1
「数式タブ」にある「計算方法の設定」へと進み、メニューの中から「手動(M)」を選択しましょう。

エクセルで生成した乱数を固定する方法

STEP.2
これで計算方法が自動から手動へ変更され、関数を使って生成した乱数が固定されました。以上で操作は完了です。

エクセルで生成した乱数を固定する方法

他の数式の自動計算を止めたくない場合は、コピー&ペーストを使用しましょう。RAND関数で生成された値を右クリックメニューからコピーして、「値を貼り付け」でペーストしてください。

この方法で貼り付けた値は、関数ではなく数値データとなっているので中身が変化することはありません。

エクセルで指定範囲に乱数表を作成する方法

エクセルで指定した範囲に乱数表を作成する方法を説明します。ここでは例として、1から150までの乱数が入った5行4列の表を作成します。

STEP.1
表を作成したいセル範囲の一番左上に「=RANDBETWEEN(1,150)」と入力しましょう。

エクセルで指定範囲に乱数表を作成する方法

STEP.2
関数を入力したセルを右クリックし、表示されたメニューから「コピー(C)」を選びましょう。

エクセルで指定範囲に乱数表を作成する方法

STEP.3
乱数表を作成したい範囲をドラッグして選択してください。選択した範囲内のセル上で右クリックをしてメニューを開き、貼り付けのオプションから「貼り付け(P)」を選択しましょう。

エクセルで指定範囲に乱数表を作成する方法

STEP.4
これで各セルに関数がコピーされ、乱数表には1から150の乱数が生成されました。以上で操作は完了です。

エクセルで指定範囲に乱数表を作成する方法

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

次は、少し実用的な重複しない乱数を生成して抽選する方法を紹介します。RAND関数とRANK関数を組み合わせて使います。例では6人のメンバーに1〜6の数字をランダムに割り振ります。

STEP.1
RAND関数を入力する欄とRANK関数を入力する欄をつくりましょう。

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

STEP.2
RAND関数の欄に全て「=RAND()」と入力しましょう。1つのセルに入力して、あとはオートフィル機能でコピーしましょう。

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

STEP.3
生成した乱数を固定するために一度値をコピーして、同じ場所に「値(V)」の貼り付けを行ないましょう。

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

STEP.4
次はRANK関数を使って、生成した乱数の大小で順位付けをします。RANK関数の欄に「=RANK(C3,$C$3:$C$8)」と入力しましょう。第二引数の参照範囲がコピー&ペーストでズレないよう「$」でアドレスを固定します。

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

STEP.5
残りのセルもオートフィルでコピーします。これで6人のメンバーに1〜6の数字をランダムに割り当てることができました。

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

出た乱数が重複しないので、工夫すればくじ引きやビンゴにも使えます。

【参考】RAND関数でデータをランダムに並び替える方法

RAND関数でデータをランダムに並び替える方法を説明します。ここでは例として、6人の生徒の名簿をランダムに並べ替えます。

STEP.1
名簿の隣に乱数を表示する欄を作成しましょう。

RAND関数でデータをランダムに並び替える方法

STEP.2
一番上のセルに「=RAND()」と入力して、残りのセルにもオートフィルで関数をコピーしましょう。先ほどと同様に「値の貼り付け」を使用して乱数の値を固定しておきましょう。

RAND関数でデータをランダムに並び替える方法

STEP.3
「ホーム」タブにある「編集」から「並べ替えとフィルター」へと進み、「昇順」または「降順」を選びます。

RAND関数でデータをランダムに並び替える方法

STEP.4
「並べ替えの前に~」と書かれた忠告メッセージが出てきますので、「選択範囲を拡張する(E)」を選び「並べ替え(S)」を押しましょう。

RAND関数でデータをランダムに並び替える方法

STEP.5
これで生成された乱数を使って名簿がランダムに並べ替えられました。以上で操作は完了です。

RAND関数でデータをランダムに並び替える方法

エクセルで乱数を生成するRAND関数についておさらい

エクセルで乱数を生成する方法を紹介しました。0以上1未満の数の乱数を生成する場合はRAND関数を、指定範囲した整数の乱数を生成する場合はRANDBETWEEN関数を使いましょう。

乱数は、ゲームの開発や科学分野でのシミュレーションなど様々な領域において使用されます。また抽選やランダムな座席決めなどにも使えますので、ちょっとした職場の交流会にも使ってみると面白いかもしれません。