Rnd 関数
Rnd(number)
乱数を返します。
引数
number
省略可能です。
任意の有効な数式を指定します。
任意の有効な数式を指定します。
解説
Rnd 関数は 0 以上、1 未満の範囲の値を返します。
初期シード値が変わらない限り、一連の Rnd 関数が返す乱数系列は同じになります。これは、連続する Rnd 関数が乱数系列の中の直前の乱数をシード値として、次の乱数をそれぞれ生成するためです。
システム タイマーから取得した新しいシード値を使用して乱数ジェネレータを初期化するには、Rnd 関数を呼び出す前に、引数を指定せずに Randomize ステートメントを実行してください。
| 引数 number | Run の戻り値 |
| number < 0 | 常に引数 number のシード値によって決まる同じ数値を返します。 |
| number > 0 | 乱数系列の次の乱数を返します。 |
| number = 0 | 直前に生成した乱数を返します。 |
| 省略 | 乱数系列の次の乱数を返します。 |
初期シード値が変わらない限り、一連の Rnd 関数が返す乱数系列は同じになります。これは、連続する Rnd 関数が乱数系列の中の直前の乱数をシード値として、次の乱数をそれぞれ生成するためです。
システム タイマーから取得した新しいシード値を使用して乱数ジェネレータを初期化するには、Rnd 関数を呼び出す前に、引数を指定せずに Randomize ステートメントを実行してください。
使用例
任意の範囲の整数の乱数を生成するには、次の式を使用してください。
この式では、引数 intUpper には範囲の上限の値を指定し、引数 intLower には範囲の下限の値を指定します。
この式では、引数 intUpper には範囲の上限の値を指定し、引数 intLower には範囲の下限の値を指定します。
Dim intValue, intUpper, intLower intUpper = 10 intLower = 1 'intValue には 1 〜 10 の乱数が入ります。 intValue = Int((intUpper - intLower + 1) * Rnd + intLower)
メモ
乱数系列を繰り返すには、数値を指定して Randomize ステートメントを実行する直前に、負の引数を指定して Rnd 関数を呼び出します。引数 number に同じ値を指定して Randomize ステートメントを使用しても、前の乱数系列を繰り返すことはできません。
次のコードは、Randomize ステートメントの使用例です。
次のコードは、Randomize ステートメントの使用例です。
Dim MyValue, Response
Randomize '乱数ジェネレータを初期化します。
Do Until Response = vbNo
MyValue = Int((6 * Rnd) + 1) '1 〜 6 のランダムな値を生成します。
MsgBox MyValue
Response = MsgBox ("繰り返しますか ? ", vbYesNo)
Loop
文字列操作
- Asc 関数
- Chr 関数
- Filter 関数
- FormatCurrency 関数
- FormatDateTime 関数
- FormatNumber 関数
- FormatPercent 関数
- InStr 関数
- InStrRev 関数
- Join 関数
- Split 関数
- LCase 関数
- UCase 関数
- Len 関数
- Left 関数
- Mid 関数
- Right 関数
- LTrim 関数
- RTrim 関数
- Trim 関数
- Replace 関数
- Space 関数
- String 関数
- StrReverse 関数
- StrComp 関数
日付処理
- Now 関数
- Date 関数
- Time 関数
- Timer 関数
- DateAdd 関数
- DateDiff 関数
- Year 関数
- Month 関数
- Day 関数
- Hour 関数
- Minute 関数
- Second 関数
- Weekday 関数
- DatePart 関数
- MonthName 関数
- WeekdayName 関数
- DateSerial 関数
- TimeSerial 関数
- DateValue 関数
- TimeValue 関数
数値演算
- Abs 関数
- Sqr 関数
- Fix 関数
- Int 関数
- Round 関数
- Rnd 関数
- Exp 関数
- Log 関数
- Sgn 関数
- Hex 関数
- Oct 関数
- Atn 関数
- Cos 関数
- Sin 関数
- Tan 関数
- 超越関数
