Rnd 関数
乱数を返します。
Rnd[(number)]
引数 number には、任意の有効な数式を指定します。
解説
Rnd 関数は 0 以上、1 未満の範囲の値を返します。
引数 number | Run の戻り値 |
---|---|
number < 0 | 常に引数 number のシード値によって決まる同じ数値を返します。 |
number > 0 | 乱数系列の次の乱数を返します。 |
number = 0 | 直前に生成した乱数を返します。 |
Not supplied | 乱数系列の次の乱数を返します。 |
初期シード値が変わらない限り、一連の Rnd 関数が返す乱数系列は同じになります。これは、連続する Rnd 関数が乱数系列の中の直前の乱数をシード値として、次の乱数をそれぞれ生成するためです。
システム タイマーから取得した新しいシード値を使用して乱数ジェネレータを初期化するには、Rnd 関数を呼び出す前に、引数を指定せずに Randomize ステートメントを実行してください。
任意の範囲の整数の乱数を生成するには、次の式を使用してください。
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
この式では、引数 upperbound には範囲の上限の値を指定し、引数 lowerbound には範囲の下限の値を指定します。
メモ 乱数系列を繰り返すには、数値を指定して Randomize ステートメントを実行する直前に、負の引数を指定して Rnd 関数を呼び出します。引数 number に同じ値を指定して Randomize ステートメントを使用しても、前の乱数系列を繰り返すことはできません。