excel

【Excel】エクセルでランダムな数値を作る方法(乱数の表示)

エクセルでランダムな数値を作る方法【RAND関数】
当サイトでは記事内に広告を含みます

Excelでランダムな数値を表示したい場合は、RAND関数やRANDBETWEEN関数を使うと、抽選用の番号、テストデータ、担当者の割り当て候補などを手早く作成できます。

ただし、乱数はシートを再計算するたびに変化するため、用途に応じて数式のまま使うのか、値として固定するのかを決めることが重要です。

0以上1未満の小数を表示するならRAND関数、指定範囲の整数を表示するならRANDBETWEEN関数を使います。

乱数を確定したいときは、コピー後に値として貼り付ける方法が基本です。

この記事では、エクセルでランダムな数値を作る方法と、乱数の表示を固定する操作、重複しない番号の作り方まで解説します。

 

エクセルでランダムな数値を作る方法【RAND関数】

エクセルでランダムな数値を作る方法【RAND関数】
A B
氏名 乱数
田中 0.482951
佐藤 0.173620
鈴木 0.906744

それではまず、0以上1未満のランダムな小数を表示するRAND関数について解説していきます。

RAND関数は引数を指定せずに使えるため、もっとも手軽な乱数作成方法です。

 

RAND関数の入力手順

サンプルデータでは、1行目に見出しがあり、B2セルから乱数を表示するものとします。

=RAND()

B2セルに上記の数式を入力してEnterキーを押すと、0.482951のような小数が表示されます。

RAND関数が返す値には0が含まれますが、1は含まれません

つまり、結果は0以上かつ1未満の範囲に収まります。

小数点以下の桁数は毎回異なって見えますが、これはセルの表示形式による違いです。

ホームタブの小数点以下の表示桁数を増減するボタンを使えば、見た目だけを整えられます。

 

小数の範囲を指定する数式

0から1までではなく、たとえば10以上20未満の小数を作りたい場面もあります。

この場合は、RAND関数の結果に範囲の幅を掛け、下限値を加える考え方を使います。

=RAND()*(20-10)+10

この数式では、まずRAND関数で0以上1未満の値を作り、10を掛けて0以上10未満に変換します。

そこへ10を加えるため、最終結果は10以上20未満になります。

下限と上限の差を掛けてから下限を足すという形を覚えると、任意の小数範囲へ応用できます。

たとえば50以上80未満なら、=RAND()*(80-50)+50 と入力しましょう。

 

RAND関数を複数行へコピーする操作

B2セルに数式を入力した後は、セル右下に表示される小さな四角形のフィルハンドルを下方向へドラッグします。

これにより、B3、B4、B5と数式がコピーされ、それぞれ異なる乱数が表示されます。

隣のA列に連続したデータが入力されている場合は、フィルハンドルをダブルクリックする方法も便利です。

RAND関数はコピーしても同じ数値を複製せず、各セルで別々の乱数を計算します

抽選の優先順位を作る場合は、乱数列を基準にして氏名や商品名の一覧を並べ替える使い方もできます。

【操作のポイント】RAND関数は小数専用です。整数のくじ番号を作りたい場合は、次のRANDBETWEEN関数を使いましょう。

 

指定範囲の整数を作る方法【RANDBETWEEN関数】

A B
参加者 抽選番号
田中 7
佐藤 2
鈴木 10

続いては、指定した最小値から最大値までの整数を作るRANDBETWEEN関数を確認していきます。

くじ番号、サイコロの目、作業日数の仮データなど、整数だけが必要なケースに向いています。

 

最小値と最大値の指定方法

B2セルに1から10までのランダムな整数を表示する場合は、次の数式を入力します。

=RANDBETWEEN(1,10)

最初の引数が最小値、2番目の引数が最大値です。

RAND関数とは異なり、RANDBETWEEN関数では最小値と最大値の両方が結果に含まれます

そのため、=RANDBETWEEN(1,10) と入力した場合、1から10までのいずれかの整数が表示されます。

0から99までの二桁の乱数が必要なら、=RANDBETWEEN(0,99) と入力すれば対応可能です。

 

セル参照で範囲を変更する方法

乱数の範囲を後から簡単に変えたい場合は、数式へ直接数字を入力する代わりに、セルを参照します。

たとえばD1セルに最小値、E1セルに最大値を入力し、B2セルに次の数式を設定します。

=RANDBETWEEN($D$1,$E$1)

$記号を付けた絶対参照にすると、数式を下の行へコピーしてもD1とE1の参照先がずれません。

条件をセルに分けて入力しておくと、数式を編集せずに乱数の条件だけを変更できます

商品ごとに下限と上限が異なる場合は、絶対参照を使わず、同じ行のセルを参照する設計も有効です。

 

マイナスを含む整数乱数の作成

温度差、損益、増減数のテストデータでは、マイナスの数値を含む乱数が必要になることがあります。

この場合もRANDBETWEEN関数の最小値へ負の数を指定するだけです。

=RANDBETWEEN(-20,20)

この数式では、マイナス20からプラス20までの整数がランダムに返されます。

結果に0も含まれるため、正負どちらかだけを表示したいときは最小値と最大値を見直しましょう。

乱数の範囲指定では、最小値が最大値を上回るとエラーになります

入力した値の順番を確認することも、数式を安定して使うための基本です。

指定範囲の整数を作る方法【RANDBETWEEN関数】

【操作のポイント】RANDBETWEEN関数は最大値を含むため、1から100までの番号を作るときはそのまま =RANDBETWEEN(1,100) と入力できます。

 

乱数を固定して再計算を防ぐ方法

A B C
氏名 数式の乱数 固定済み乱数
田中 =RANDBETWEEN(1,100) 42
佐藤 =RANDBETWEEN(1,100) 85

続いては、表示された乱数を確定させ、再計算による変化を防ぐ方法を確認していきます。

抽選結果や提出用のテストデータでは、数値が勝手に変わらない状態へ変換する必要があります。

 

乱数が変化する原因

RAND関数とRANDBETWEEN関数は、再計算が実行されるたびに新しい値を返す揮発性関数です。

別のセルを編集したとき、数式を入力したとき、ファイルを開き直したときなどに結果が変わることがあります。

乱数が変化するのは故障ではなく、関数本来の動作です

乱数を使って並べ替えた後に別作業をすると順番が変わる可能性もあるため、確定前のデータには注意が必要です。

一時的なシミュレーションでは便利ですが、確定済みの抽選結果には向きません。

 

コピーと値貼り付けによる固定

乱数を固定するもっとも確実な方法は、数式のセルをコピーし、同じ場所へ値として貼り付ける操作です。

対象範囲を選択してCtrlキーとCキーを押し、そのまま右クリックして貼り付けのオプションから値を選択します。

キーボード操作なら、CtrlキーとCキーの後にCtrlキーとAltキーとVキーを押し、値を選んでEnterキーを押す方法もあります。

値として貼り付けた後は数式が消え、表示されていた数字だけが残ります

元の数式へ戻せなくなるため、必要なら別シートに数式版を残してから固定すると安心です。

乱数を固定して再計算を防ぐ方法

 

手動再計算を使う際の注意点

数式タブの計算方法の設定を手動にすると、再計算のタイミングを抑えることはできます。

ただし、設定はブック単位ではなくExcel全体の計算動作へ影響する場合があるため、日常的な対策としては扱いに注意が必要です。

手動計算中は、他の集計式まで最新の結果へ更新されないことがあります。

乱数だけを確定させたいなら、計算方法を変更するより値貼り付けを使うほうが分かりやすく安全です。

抽選の公平性を説明する必要がある業務では、固定した日時や元データも一緒に保存しておくとよいでしょう。

【操作のポイント】乱数を使った並べ替えや抽選が終わったら、次の作業へ進む前に必ず値貼り付けで確定します。

 

乱数による並べ替えと重複しない番号の作成

A B C
氏名 乱数 順位
田中 0.728 2
佐藤 0.143 1
鈴木 0.914 3

続いては、乱数を利用して一覧をランダムに並べ替える方法と、重複を避ける番号作成を確認していきます。

単純なRANDBETWEEN関数では同じ数が複数回出るため、番号の一意性が必要な場合は別の方法を選びます。

 

乱数列を基準にしたランダム並べ替え

A列に氏名などの一覧があり、B列に =RAND() を入力して最終行までコピーしたとします。

表全体を選択し、データタブの並べ替えをクリックして、B列を基準に昇順または降順で並べ替えます。

これで、氏名の並び順をランダムに変更できます。

並べ替え時は乱数列だけでなく、氏名を含む表全体を選択することが大切です

B列だけを並べ替えると、氏名と乱数の対応関係が崩れてしまいます。

並べ替え後にB列を値貼り付けしておくと、順番を再現できる記録として残せます。

 

Microsoft 365で使えるRANDARRAY関数

Microsoft 365やExcel 2021以降では、RANDARRAY関数で複数の乱数を一度に表示できます。

=RANDARRAY(10,1,1,100,TRUE)

この数式は、10行1列の範囲へ、1から100までの整数乱数を自動的に展開します。

第1引数は行数、第2引数は列数、第3引数は最小値、第4引数は最大値です。

最後のTRUEは整数を返す指定であり、FALSEまたは省略時は小数が表示されます。

RANDARRAY関数はスピル機能を使うため、展開先のセルを空けておく必要があります

途中にデータがあるとスピルエラーになるため、数式の下や右側を確認しましょう。

 

SEQUENCE関数とSORTBY関数による重複なしの抽選

1から参加人数までの重複しない番号をランダムな順番で作るなら、SEQUENCE関数とSORTBY関数の組み合わせが便利です。

10人分の番号をランダムに並べる場合は、次の数式を入力します。

=SORTBY(SEQUENCE(10),RANDARRAY(10))

SEQUENCE(10) が1から10までの連番を作り、RANDARRAY(10) が並べ替えの基準となる乱数を作ります。

SORTBY関数は乱数を基準に連番を並べ替えるため、結果として1から10までが重複せずランダムな順序で表示されます

この方法は、参加者へ一意の抽選順位を割り当てたいときに役立ちます。

抽選番号.xlsx – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示
貼り付け
太字 B
配置
並べ替えとフィルター
fx=SORTBY(SEQUENCE(10),RANDARRAY(10))
A B
1 氏名 抽選順位
2 田中 1
3 佐藤 2
4 鈴木 3
乱数列を作成して表全体を選択し、並べ替えを実行します。

【操作のポイント】重複を許可しない抽選ではRANDBETWEEN関数だけに頼らず、連番をランダムに並べ替える方法を使います。

 

乱数の表示形式とエラー対策

A B
設定内容 表示例
標準 0.456789
小数点以下2桁 0.46
パーセント表示 45.68%

続いては、乱数を見やすく表示する設定と、よくあるエラーへの対処を確認していきます。

数式が正しくても表示形式や参照先の状態によって、意図した結果に見えないことがあります。

 

小数点以下の桁数を整える方法

RAND関数の結果を小数点以下2桁だけで表示したい場合は、セルの表示形式を変更します。

対象セルを選択し、ホームタブの数値グループにある小数点以下の表示桁数を減らすボタンをクリックしましょう。

数式そのものを丸めたい場合は、ROUND関数を組み合わせます。

=ROUND(RAND(),2)

この数式は、RAND関数で作った小数を小数点以下2桁へ四捨五入します。

表示形式の変更は見た目だけを変え、ROUND関数は実際の計算値を変えるという違いがあります。

後続の計算で丸め後の値を使いたい場合は、ROUND関数を選ぶとよいでしょう。

 

パーセント表示への変換

RAND関数の結果を確率や進捗率のように表示するなら、パーセントスタイルが便利です。

たとえばRAND関数の結果が0.4568なら、パーセント表示にすると45.68パーセントとして見えます。

セルを選択してホームタブのパーセントスタイルをクリックし、必要に応じて小数点以下の桁数を調整します。

数式に100を掛けたうえでパーセント表示にすると、表示が100倍になってしまうため注意が必要です

パーセント表示だけであれば、=RAND() のままで問題ありません。

 

重複やスピルエラーへの対処

RANDBETWEEN関数で同じ数値が複数表示されるのはエラーではありません。

各セルが独立して乱数を生成するため、候補数よりデータ数が多いほど重複しやすくなります。

重複しない番号が必要なら、SORTBY関数とSEQUENCE関数を使うか、乱数列で元データを並べ替える方法へ切り替えましょう。

RANDARRAY関数でスピルエラーが出た場合は、数式を入力したセルの展開先に文字や数式が入っていないか確認します。

スピル範囲を空白にすると、複数の乱数が自動で表示されます

【操作のポイント】表示形式と計算結果は別です。提出データでは、表示桁数だけでなく実際の値を丸める必要があるか確認します。

 

まとめ エクセルの乱数表示とランダムな数値を作る方法

エクセルでランダムな数値を作る場合、0以上1未満の小数にはRAND関数、指定した範囲の整数にはRANDBETWEEN関数を使います。

RAND関数は =RAND() と入力するだけで利用でき、任意の小数範囲へ広げたい場合は、範囲の幅を掛けて下限値を加えます。

RANDBETWEEN関数は =RANDBETWEEN(最小値,最大値) の形で入力し、最小値と最大値を含む整数乱数を表示できます。

乱数は再計算で変化するため、抽選結果や確定データには値貼り付けが必要です

一覧の順番をランダムにしたい場合は、RAND関数の列を作って表全体を並べ替えます。

重複しない番号を作る場合は、Microsoft 365などで利用できるSEQUENCE関数、RANDARRAY関数、SORTBY関数の組み合わせが便利です。

表示桁数、パーセント形式、丸め処理も目的に合わせて選び、乱数を正確で扱いやすいデータとして活用していきましょう。