Rnd 関数

乱数を含む単精度浮動小数点数型 (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 を使用すると、前のシーケンスは繰り返されません。

注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。

この例では、Rnd 関数を使って、1 ~ 6 の範囲で整数の乱数を生成します。

Dim MyValue
' Generate random value between 1 and 6.
MyValue = Int((6 * Rnd) + 1)

注: 

  • 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

  • この記事の英語版を参照するには、ここ をクリックしてください。Microsoft コミュニティの他のメンバーと一緒に、Community Translation Framework (CTF) を使ったこの記事の改善にご協力ください。記事内の文章にマウス ポインターを合わせて、CTF ウィジェットの [翻訳を改善します] をクリックしてください。CTF の詳細については、ここ をクリックしてください。CTF を使用すると弊社の サービス利用規約 に同意したことになります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×