「みんな教えて! 選手権!!」開催のお知らせ

質問が的外れだったらすみません

ExcelのVBAで、たとえば1から5の数字をランダムで出す時
2の出る確率を他より高くする方法はありますでしょうか?

宜しくお願いします

A 回答 (3件)

昔、Accessでやった場合はこんな感じ。

参考になるかな?

Function omikuji()
'大凶5、凶10、小吉30、末吉25、吉20、大吉10 の比率
  Dim mikuji As Single
  
  Randomize
  omikuji = Int((100 * Rnd) + 1)
  
  Select Case omikuji
    Case Is > 95
      Forms!Fおみくじ!おみくじ = "大凶"
    Case Is > 85
      Forms!Fおみくじ!おみくじ = "凶"
    Case Is > 55
      Forms!Fおみくじ!おみくじ = "小吉"
    Case Is > 30
      Forms!Fおみくじ!おみくじ = "末吉"
    Case Is > 10
      Forms!Fおみくじ!おみくじ = "吉"
    Case Is > 0
      Forms!Fおみくじ!おみくじ = "大吉"
  End Select

End Function
    • good
    • 1
この回答へのお礼

参考になりました
有難うございます

お礼日時:2006/12/17 09:48

乱数の発生と別に表をつくります。


乱数側で発生した数字に対応するVLOOKUP関数にて、
表から1~5までの数値を拾います。
発生する乱数は100でも200でもOK。
表の2の割合を多くする。

・・説明下手&的はずれ?
    • good
    • 0
この回答へのお礼

参考になりました
有難うございました

お礼日時:2006/12/17 09:48

確率自体にウェイトをおけばよいのでは?


1,2,3,4,5の比率をそれぞれ10,20,10,10,10
にしたければ、(合計が60であるのを考慮して)
MAX 60のランダムな数値nが
0/60 < n < 9/60 なら1
10/60 < n < 29/60 なら2
30/60 < n < 39/60 なら3

など
    • good
    • 1
この回答へのお礼

参考になりました
有難うございます

お礼日時:2006/12/17 09:48

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報