• ベストアンサー

rand()

rand()で=ROUND(RAND()*10000,0)で、4桁の数字が(整数で、でますが この他にも、あるとは思いますが。 4桁以外に、3桁2桁1桁などいろんな数字が出ます。 数字的に、0から9999までという認識から。 3桁以下は表示さず、つねに4桁で表示できますか?

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

  • ベストアンサー
  • esprei
  • ベストアンサー率56% (718/1271)
回答No.2

ツールメニューからアドインで分析ツールを入れる必要がありますが、RANDBETWEENと言うのもあります。 =RANDBETWEEN(1000,9999) これは乱数の範囲を決めることが出来ます。

その他の回答 (3)

  • mythism
  • ベストアンサー率52% (45/86)
回答No.4

もしも,1000以上という数字にこだわっているのではなく,4桁で表示するという点にこだわっているのでしたら,以下のような方法もあります. =TEXT(INT(RAND()*10000),"0000") おそらく蛇足でしょうけれども,ご参考まで.

matrix4
質問者

お礼

ありがとうございます。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 No.1の方の回答の補足で、汎用的には、 =INT((終わり-始まり+1)*RAND()+始まり) となります。 1000~9999なら、 =INT((9999-1000+1)*RAND()+1000) =INT((8999+1)*RAND()+1000) =INT(9000*RAND()+1000) でNo.1の方の回答と同じになります。 (最後の+1000はINTの中でも外でも構いません。)

matrix4
質問者

お礼

ありがとうございます。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

つまり1000から9999までの乱数を出すんですね。 ここでROUNDを使うのは得策ではありません。 =INT(RAND()*9000)+1000 で良いでしょう。 説明: 0≦RAND()<1 の値を返すので、9000倍すると 0≦RAND()*9000<9000 小数は要らないので、切り捨てましょう。 0≦INT(RAND()*9000)<9000 これに1000を加えると 1000≦INT(RAND()*9000)+1000<10000

matrix4
質問者

お礼

ありがとうございます。

関連するQ&A