乱数を含む単精度浮動小数点数型 (Single) を返します。
構文
Rnd[(number)]
省略可能な number引数は、Single または任意の有効な 数値式 です。
戻り値
number の値 |
Rnd の生成値 |
0 より小 |
number をシードとして使う毎回同じ値。 |
0 より大 |
シーケンス内の次の乱数。 |
0 と等しい |
前回の生成値。 |
指定しない |
シーケンス内の次の乱数。 |
解説
Rnd 関数は、1 未満で 0 以上の値を返します。
number の値によって、Rnd が乱数を生成する方法が決まります。
Rnd 関数の 2 回目以降の各呼び出しでは、シーケンス内の次の値に対するシードとして前の値が使われるので、特定の初期シードに対しては同じ値シーケンスが生成されます。
Rnd を呼び出す前に、引数なしの Randomize ステートメントを使って、システム タイマーに基づくシード値で乱数ジェネレーターを初期化します。
特定の範囲内の整数乱数を生成するには、次の式を使います。
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
ここで、upperbound は範囲の上限値、lowerbound は範囲の下限値です。
注: 乱数のシーケンスを繰り返すには、数値引数を指定して Randomize を使用する直前に、負の引数を指定して Rnd を呼び出します。 number に同じ値を指定して Randomize を使用すると、前のシーケンスは繰り返されません。
クエリの例
式 |
結果 |
SELECT ProductSales.ProductID, Rnd([Discount]) AS RandomNumbers FROM ProductSales; |
列 RandomNumbers の乱数と共に製品 ID を返します。 |
VBA の例
注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。
この例では、Rnd 関数を使って、1 ~ 6 の範囲で整数の乱数を生成します。
Dim MyValue
' Generate random value between 1 and 6. MyValue = Int((6 * Rnd) + 1)