RAND関数:乱数を発生させる

RAND 関数は Excel で用意されている関数の一つで、 0 以上 1 未満の範囲の実数の乱数を発生させます。ここでは Excel における RAND 関数の使い方について解説します。

※ Excel の対応バージョン : 365 web 2021 2019 2016 2013 2010 2007

(Last modified: )

RAND関数の定義

RAND 関数は乱数を発生させます。 RAND 関数の場合は 0 以上から 1 未満の範囲の実数が返されます。

RAND()

RAND 関数には引数がありません。

RAND 関数は呼び出されるたびに指定の範囲で乱数を発生させます。

=RAND()
--> 0.059234447

=RAND()
--> 0.687846284

指定した範囲で乱数を発生させる

乱数を 0 以上 1 未満ではなく指定の範囲の乱数を発生させることもできます。例えば a 以上 b 未満の範囲で乱数を発生させるには RAND() の代わりに RAND()*(b-a)+a と記述してください。下記では 10 以上 20 未満の乱数を発生させています。

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

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

なお整数になりますが、 RANDBETWEEN 関数を使用すると乱数を発生させる範囲を引数で指定することができます。詳しくは「RANDBETWEEN関数:指定した範囲で整数の乱数を発生させる」を参照されてください。

RAND関数の使い方

それでは実際に RAND 関数を使ってみます。 Excel のシートで結果を表示する B3 セルに次のように RAND 関数を入力します。

=RAND()

RAND関数の使い方(1)

Enter キーを押すと、 B3 セルには次のように表示されます。

RAND関数の使い方(2)

新しい乱数が発生して B3 セルに表示されました。

今度は発生する乱数の数値の範囲を指定しみます。 10 以上 20 未満の乱数を発生させるために B6 セルに次のように入力してください。

=RAND()*10+10

RAND関数の使い方(3)

Enter キーを押すと、 B6 セルには次のように表示されます。

RAND関数の使い方(4)

10 以上 20 未満の範囲で新しい乱数が発生して B6 セルに表示されました。

もし 10 以上 20 未満で整数の乱数が必要な場合には、小数点以下を切り捨てる INT 関数と組み合わせてください。

=INT(RAND()*10+10)

RAND関数の使い方(5)

RAND関数の使い方(6)

INT 関数の使い方について詳しくは「INT関数:小数点以下を切り捨てる」を参照されてください。

再計算に伴う乱数の再取得について

RAND 関数を使う場合に注意する点としては、 RAND 関数が入力された Excel のシートで再計算が行われると、その都度 RAND 関数は別の乱数を発生させるという点です。例えば先ほど RAND 関数を入力したセルにはその時に発生した乱数が表示されています。

再計算に伴う乱数の再取得について(1)

同じシートの別の場所で何らかの式を入力し計算を実行してみます。

再計算に伴う乱数の再取得について(2)

すると RAND 関数が入力されていたセルでは新しい乱数が発生して新しい値に書き変わります。

再計算に伴う乱数の再取得について(3)

このようにセルに RAND 関数を入力した場合には、再計算が行われるたびに乱数の値が変更される点に注意してください。

発生した乱数を数値として保存する(乱数を再取得させない)

Excel のシートで再計算が行われても一度発生した乱数が変更されないようにするには、乱数を生成すると同時に生成した乱数を数値としてセルに保存します。まず乱数を発生させるセルで次のように RAND 関数を入力してください。

=RAND()

再計算に伴う乱数の再取得について(1)

ここで Enter キーを押すのではなく F9 キーを押してください。すると発生した乱数が数値としてセルに入力されます。

再計算に伴う乱数の再取得について(2)

Enter キーを押すと、入力した数値がセルに表示されます。

再計算に伴う乱数の再取得について(3)

この場合、 B3 セルには RAND 関数が入力されているのではなく、そのときに発生した乱数の数値がセルに入力されているので、同じ Excel のシート上で再計算が行われてもセルに入力された数値は変更されません。

では試してみます。同じシートの別の場所で何らかの式を入力し計算を実行してみます。

再計算に伴う乱数の再取得について(4)

B3 セルには数値が入力されているだけなので、新しい値に置き換わることはありません。

再計算に伴う乱数の再取得について(5)

RAND関数の便利な利用方法

RAND 関数の便利な利用方法を下記の記事で紹介しています。

-- --

Excel における RAND 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。