• ベストアンサー

ランダム数の発生

エクセル上でランダム数を発生させるソフトをご存じないでしょうか? できれば、整数桁4桁くらいまで、小数点以下4桁くらいまでを指定して(桁数を指定して)できるとよいのですが・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • NCU
  • ベストアンサー率10% (32/318)
回答No.3

#1です。 失礼しました。桁数違ってました。 正しくは、 整数桁4桁まで、小数点以下4桁の場合: =ROUNDDOWN(RAND()*10000,4) RAND 関数は 0 以上、1 未満の範囲の値を返すので、ある桁で四捨五入したら1に達する事があり、1万倍したら5桁になってしまいます。4桁までで発生確率を均等に(ランダムさを維持)するには、理論的には切捨てである必要があります。

その他の回答 (5)

noname#204879
noname#204879
回答No.6

[No.5回答に対する補足]に対するコメント、 》 前者は小数点以下が出ません。 「小数点以下4桁くらいまで」を見落としてました。 それでは次のように訂正します。 セル A1、B1 にそれぞれ数値の 10000000、99999999 を入力したとき、式 =INT($A$1+($B$1+1-$A$1)*RAND())/10000 は 1000.0000~9999.9999 の乱数を返してきます。 当該式は単に =RANDBETWEEN($A$1,$B$1)/10000 でも好いかも知れません。この関数が使用できず、エラー値 #NAME? が返される場合は、分析ツール アドインを組み込む必要があります。

noname#204879
noname#204879
回答No.5

セル A1、B1 にそれぞれ数値の 1、9999 を入力したとき、式 =INT($A$1+($B$1+1-$A$1)*RAND()) は 1~9999 の乱数を返してきます。 セル A1 の数値を 1000 に置き換えた場合、当該式は 4桁の乱数を返してきます。 当該式は単に =RANDBETWEEN($A$1,$B$1) でも好いかも知れません。

soramist
質問者

お礼

ご回答有難うございました。 すべての方にポイントを差し上げられないことを、申し訳なく思っています。

soramist
質問者

補足

ご回答有難うございます。 前者は小数点以下が出ません。 後者(=RANDBETWEEN($A$1,$B$1))は、[♯NAME?]となりました。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

=(INT(RAND()*99999999)+1)/10000 1~99999999の範囲の乱数を求める公式(?)は  =INT(RAND()*99999999)+1 です。これを10000で割れば整数部4桁+小数部4桁の乱数になります。

soramist
質問者

お礼

ご回答有難うございました。 すべての方にポイントを差し上げられないことを、申し訳なく思っています。

soramist
質問者

補足

整数部3桁の数も出ますね。(4桁ばかりでない)

回答No.2

RAND関数を使えば良いのでは。 この質問の場合、少し工夫をして、セルに =ROUND(RAND()*10000,4) と式を書けばだいたい指定の数字になると思います。

soramist
質問者

お礼

ご回答有難うございました。 すべての方にポイントを差し上げられないことを、申し訳なく思っています。

  • NCU
  • ベストアンサー率10% (32/318)
回答No.1

整数桁4桁まで、小数点以下4桁の場合: =ROUNDDOWN(RAND()*1000,4)

soramist
質問者

お礼

ご回答有難うございました。 すべての方にポイントを差し上げられないことを、申し訳なく思っています。

関連するQ&A