ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

乱数を生成する(Rnd 関数)

      2015/08/26

Rnd 関数の使い方


Rnd 関数は、0 以上、1 未満の範囲の乱数を単精度浮動小数点(Single)で生成します。

【書式】

result = Rnd [ ( number ) ]

< 整数 min から max の間で、ランダムな整数値 result_int を取得する場合 >
result_int = Int ( Rnd * ( maxmin + 1 ) ) + min


引数・戻り値

  • number  ・・・  対象となる数値または数式を指定します。指定する値によって返される乱数は、以下の表の通りです。(省略可)

    number の値 戻り値
    < 0 引数 number のシード値によって決まる同じ数値
    > 0 乱数系列の次の乱数
    = 0 直前に生成した乱数
    省略 乱数系列の次の乱数

  • result  ・・・  0 以上 1 未満の範囲の値。
  • max  ・・・  生成する乱数の範囲の上限値(整数)を指定します。
  • min  ・・・  生成する乱数の範囲の下限値(整数)を指定します。
  • result_int  ・・・  生成された乱数( min から max の間の整数値)


初期シード値が変わらない限り、一連の Rnd 関数が返す乱数系列は同じになります。これは、連続する各 Rnd 関数が乱数系列の中の直前の乱数をシード値として、次の乱数をそれぞれ生成するためです。( ⇒ サンプルVBAソース その2を参照)
引数を指定せずに、Randomize ステートメントを実行すると乱数ジェネレータを初期化することができます。

乱数系列を繰り返すには、数値を指定して Randomize ステートメントを実行する直前に、負の引数を指定して Rnd 関数を呼び出します。引数 number に同じ値を指定して Randomize ステートメントを使用しても、前の乱数系列を繰り返すことはできません。




Rnd 関数の使用例

サンプルVBAソース その1


実行結果

乱数(Rnd 関数)例1



サンプルVBAソース その2


実行結果

上記「サンプルVBAソース その2」をセルA1 からA5 で実行して保存後、一旦終了します。

乱数(Rnd 関数)例2-1

保存したブックを開いて「サンプルVBAソース その2」をセルB1 からB5 で実行した結果

乱数(Rnd 関数)例2-2

乱数シード値(Randomize)を設定しない場合は、上記のとおり実行結果は常に一定になります。
「サンプルVBAソース その2」の4行目のコメントをはずして、Randomize ステートメントを実行すると乱数ジェネレータを初期化することができます。




 - VBA基本 , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

フォントの設定(Font プロパティ)

フォントの設定(Font プロパティ) 指定されたオブジェクトのフォント情報(F …

固定長形式で分割(TextToColumns メソッド)
セルのデータを固定長形式で複数のセルに分割する(TextToColumns メソッド・Parse メソッド)

固定長形式でセルを分割 TextToColumns メソッドや Parse メソ …

対象のオブジェクトをクリアする(Clear メソッド)

Clear メソッド 対象となるオブジェクト全体をクリアします。Range オブ …

RGB値一覧表
RGB 値一覧表(XlRgbColor 列挙型)

RGB 値(XlRgbColor 列挙型)一覧表 RGB 関数を使用して、出力さ …

Choose 関数 例01
指定した数値に対応する選択肢の値・数式を返す(Choose 関数)

Choose 関数 の使い方 Choose 関数は、指定されたインデックス値(1 …

変数が数値型かどうかをチェックする( IsNumeric 関数 )

IsNumeric 関数の使い方 【書式】 result = IsNumeric …

フォントサイズ(Size,StandardFontSize)例
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)

フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …

no image
VBA の演算子(算術演算子)

算術演算子 算術演算を行うときに使用する演算子です。 ^(べき乗)、*(積)、/ …

文字列:指定した数の空白(スペース)からなる文字列を返す(Space 関数)

Space 関数 【書式】 result = Space ( number ) …

日付時刻:文字列から日付・時刻データを取得( DateValue 関数、TimeValue 関数 )

DateValue 関数(文字列から日付データを取得) 【書式】 date_va …