プロが教えるわが家の防犯対策術!

エクセルで=RAND()を用いてA1~A100のセルに100個乱数を発生させたときに(乱数は0~1の幅)、0~1の値を偏り無く発生させることは可能でしょうか??

発生した100個の乱数をコピーして形式を“値”にして貼り付けてその100個の乱数の平均や中央値をみてみると0.5にはならないことから疑問に思いました・・・。

ご存知の方アドバイスよろしくお願いします。

A 回答 (2件)

こんにちは



面白い疑問だなと思ったので試してみました。
A1に=Rand()を入れてA1000までコピーしました。
B1に=Average($A$1,A1)と入れてB1000までコピーしました。
これで平均値の途中経過もわかるようになります。
A1からB1000までを選んで折れ線グラフを作成し、何度か再計算をすると
乱数の振れ巾や平均値の移動の様子がわかります。
1000個の数字でも平均値で0.45~0.55くらいの振れは出るんですね。
これは0.1未満の数値も出てしまうからだと思いましたので、
乱数の範囲を0.1~0.9に絞ると平均値のぶれはとても小さくなりました。
このときの式は=Rand()*(0.9-0.1)+0.1としてやればいいです。
0.01~1.00が欲しければ=Rand()*(1-0.01)+0.01とすればいいです。
    • good
    • 4
この回答へのお礼

Bubucaさま

早速のアドバイスありがとうございます。
アドバイスに従い=Rand()*(1-0.01)+0.01を採用しファイルを作成しました。おかげでアドバイス通り偏りはだいぶ少なくなりました!!

今後もアドバイスよろしくお願いします。

お礼日時:2007/02/22 17:21

今、ためしに 1000 個でやったら平均 0.501907 でした。


乱数ですからあるていど偏りはあるでしょう。

もし何かで偏りない値がほしければ、
0~1をいくつかでわけ(0~0.2,0.2~0.4,…など)
各域に応じて乱数を発生させるしかないでしょう。
    • good
    • 0
この回答へのお礼

driverIIさま

早速のアドバイスありがとうございます。
やはり乱数ですからある程度の偏りはしかたないのですね・・・。
でも、ご指摘の通り“n”を増やせば偏りは小さくなりますね。
シートは大きくなってしまいますが参考にさせていただきます。ありがとうございます。

お礼日時:2007/02/20 15:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!