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() --> 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()
Enter
キーを押すと、 B3 セルには次のように表示されます。
新しい乱数が発生して B3 セルに表示されました。
今度は発生する乱数の数値の範囲を指定しみます。 10 以上 20 未満の乱数を発生させるために B6 セルに次のように入力してください。
=RAND()*10+10
Enter
キーを押すと、 B6 セルには次のように表示されます。
10 以上 20 未満の範囲で新しい乱数が発生して B6 セルに表示されました。
もし 10 以上 20 未満で整数の乱数が必要な場合には、小数点以下を切り捨てる INT
関数と組み合わせてください。
=INT(RAND()*10+10)
※ INT
関数の使い方について詳しくは「INT関数:小数点以下を切り捨てる」を参照されてください。
再計算に伴う乱数の再取得について
RAND
関数を使う場合に注意する点としては、 RAND
関数が入力された Excel のシートで再計算が行われると、その都度 RAND
関数は別の乱数を発生させるという点です。例えば先ほど RAND
関数を入力したセルにはその時に発生した乱数が表示されています。
同じシートの別の場所で何らかの式を入力し計算を実行してみます。
すると RAND
関数が入力されていたセルでは新しい乱数が発生して新しい値に書き変わります。
このようにセルに RAND
関数を入力した場合には、再計算が行われるたびに乱数の値が変更される点に注意してください。
発生した乱数を数値として保存する(乱数を再取得させない)
Excel のシートで再計算が行われても一度発生した乱数が変更されないようにするには、乱数を生成すると同時に生成した乱数を数値としてセルに保存します。まず乱数を発生させるセルで次のように RAND
関数を入力してください。
=RAND()
ここで Enter
キーを押すのではなく F9 キーを押してください。すると発生した乱数が数値としてセルに入力されます。
Enter
キーを押すと、入力した数値がセルに表示されます。
この場合、 B3 セルには RAND
関数が入力されているのではなく、そのときに発生した乱数の数値がセルに入力されているので、同じ Excel のシート上で再計算が行われてもセルに入力された数値は変更されません。
では試してみます。同じシートの別の場所で何らかの式を入力し計算を実行してみます。
B3 セルには数値が入力されているだけなので、新しい値に置き換わることはありません。
RAND関数の便利な利用方法
RAND
関数の便利な利用方法を下記の記事で紹介しています。
-- --
Excel における RAND 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。