【RAND/RANDBETWEEN関数】最小値・最大値など範囲を選択してランダム・乱数を表示する

関数

作成した関数・マクロVBAのプログラムの機能を確認したいときなどに
ランダムな数値を表示させたいことはないでしょうか。

今回はそんなときに役立つRAND/RANDBETWEEN関数についてまとめました。
RANDBETWEEN関数は最小値・最大値を指定できるので範囲内でランダム・乱数を表示する方法ができます。

ぜひ身に着けて活用してみてください。

それでは見ていきましょう。




■関数の仕組み

=RAND()
=RANDBETWEEN(ランダム数値の最小値,ランダム数値の最大値)

■RAND関数で適当な乱数を表示する

・0以上から1未満の小数点以下ありの乱数・ランダム数を表示する

こちらは小数点以下の数値が必要な乱数を表示する際に便利です。
引数は使用しないので使用方法はとてもシンプルです

入力する数式はこのようになります。

=RAND()

それでは下図に入力してみたいと思います。

実行した結果はこのようになります。

このように0以上から1未満の数値が表示されました。
ちなみに別のセルを編集・入力したりすると再度RAND関数が働き、別の乱数が表示されるので
固定したい場合はコピーして数値として貼り付けてください。

・○桁の小数点以下ありの乱数・ランダム数を表示する

こちらはRAND関数に1手間加えて桁を変更する方法です。
見本で100の位の小数点ありの乱数を表示してみましょう。

入力する数式は以下の通りです。

=RAND()*1000

仕組みとしてRAND関数単体では0から1未満の乱数なので
1の位を表示したいときは=RAND()10。 10の位を表示したいときは=RAND()100。
100の位を表示したいときは=RAND()*1000となります。

それでは下図の見本に実際に入力してみましょう。

100の位の乱数を表示させることができました。
表示したい桁数に合わせて調整してみてください。

■RANDBETWEEN関数で指定した範囲の乱数を表示する

こちらは先ほどのRAND関数とは異なり、最小値と最大値を指定して乱数を表示することができます。
それでは見ていきましょう。

まずは0から100までの乱数を表示してみます。
関数の仕組みは以下の通りです。

=RANDBETWEEN(ランダム数値の最小値,ランダム数値の最大値)

では最小値を「0」最大値を「100」で当てはめてみます。
それでは入力してみます。

結果はこのようになります。

0から100までの数値で乱数が表示されていますね。

ちなみにRANDBETWEEN関数はマイナスでも使用することができます。
それでは-100から-50の範囲を表示してみましょう。

数式はこのようになります。

=RANDBETWEEN(-100,-50)

それでは入力した結果を見てみましょう。

マイナスの範囲でも乱数を表示することができましたね。

■よくあるエラーと対処法

ではRAND/RANDBETWEEN関数を使用する中でよくあるエラーについて見ていきましょう。

・RAND関数で「この数式に問題が見つかりました」とエラーが出る。

こちらはRAND関数で入力不要な引数を入力している可能性があります。
本来であれば「=RAND()」のみですか、例えば「=RAND(123)」のように
()の中に文字・数値を入力している場合は削除してください

・RANDBETWEEN関数で「#NUM!」のエラーが表示される

こちらは最小値・最大値を見直す必要があります。
では例として「-50から-100」の範囲の乱数を表示したいとします。

本来であれば「=RANDBETWEEN(-100,-50)」

ですよね

しかし最小値・最大値を入れ替えてみましょう。

=RANDBETWEEN(-50,-100)

結果を見てみましょう。

エラーになりました。
「-(マイナス)」の範囲は間違えやすいですが「-50」より「-100」の方が小さいので
最小値の方に「-100」を入力しないといけません。

その他にも最小値・最大値の決まりを逸脱していてもエラーになるので見直しが必要です。

■公式の説明

わかりやすいように説明したため公式と使用する語句が異なりますが

マイクロソフト公式の説明については下記のリンクを参照してください。☟

RAND 関数 (microsoft.com)

RANDBETWEEN 関数 (microsoft.com)

■まとめ

いかがだったでしょうか。

乱数は通常は使用する頻度は少ないと思いますが
システムをテストしたりする際にはとても便利な機能です。

ぜひ頭の片隅に知識として残しておき、
乱数を使用する際に活用できるようにしてみてください。

それでは次回の記事でお会いしましょう。