月別アーカイブ: 2017年1月
宴のあと。。
2017年1月31日
【Excel2016】サイコロの“6分の1”を検証(4)
2017年1月31日 マクロ関連(使い捨てマクロ)
宴のあと。。
さて、前回までで、「サイコロを1日10回振る」ことを500日目まで繰り返して結果を記録するマクロができました。
あとは、10回だけじゃなくて、100回,200回,300回,…と、自動で同じことを繰り返してくれるようにすればOKですね。
この回数のデータは、C6セル,D6セル,E6セル,…と、6行目に入っています。
(100万回までは、X6セルまで22個あります。^^;)
ここは、見た目には、たとえばC6セルは「10回」と見えていますが、データとしては数字の「10」が入っており、書式設定[表示形式]の「ユーザー定義」で「回」という単位を加えています。
マクロを走らせる前に、C6セルにカーソルを置いていたら、C6セルの「10回」から順番に左に読み取っていって、100回,200回,…とまわします。
たとえば、E6セルにカーソルを置いていたら、E6セルの「200回」から順番に左に 300回,400回,…とまわすような設定にしましょう。
始める位置を自分で決められるということです。
それには、アクティブセルの値と列位置を取得しておかないといけませんので、冒頭に、
kaisuu = ActiveCell.Value
x = ActiveCell.Column
の2つの変数を用意しましょう。
…と、説明がまた長くなりそうなのですが、今日はお年玉企画の回答を出さないといけないので、先に修正後の完成版マクロを提示しますね。
残りの解説は次回にします。。。
( ;゚─゚)
修正したところには「←ココ」のマークが入っています。
全部で7個ですね。
コピペできるようにテキストでも貼っておきます。
Sub サイコロ実験()
‘
‘ サイコロ実験 Macro
‘
‘ Keyboard Shortcut: Ctrl+Shift+S
For i = 1 To 22 ‘←⑥ココ
kaisuu = ActiveCell.Value ‘←①ココ
x = ActiveCell.Column ‘←②ココ
Range(“A2”).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Clear
Range(“A1”).Select
Selection.Copy
Range(Cells(1, 1), Cells(kaisuu, 1)).Select ‘←③ココ
ActiveSheet.Paste
For y = 9 To 508
Calculate
Range(“I4”).Select
Application.CutCopyMode = False
Selection.Copy
Cells(y, x).Select ‘←④ココ
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Next y
Cells(6, x + 1).Select ‘←⑤ココ
Next i ‘←⑦ココ
End Sub
C6セルにカーソルを置いて、[CTRL]+[SHIFT]+「S」で走らせてみてください。
私が実際に走らせた結果は、以下のようになりました。
「乖離率換算で最大20%以下なら確率通りとして、何回くらいサイコロを振らないといけないか?」
というのが問題でしたね。
何回かやってみましたが、「20%」の境目は、
平均でみると、300回近辺,確実性をとって最大値でみると、1500回近辺 という結果になりました。
回答は、
1. 5000回以上 または、
2. 5000回以下
の2択だったので、正解は、
「2」の 5000回以下 ということになります!
意外と少なかったですね。
応募総数73通、正解者の先着5名が当選者です!
メールアドレス(一部)をこちらで発表します。
1.hirom…
2.tsakas…
3.makoh…
4.dyna…
5.k_oka…
おめでとうございます!
幸先のいいスタートですね。
後ほどメールでもご連絡さしあげますのでお楽しみに!
(^_^)v
鮮魚のお刺身。
2017年1月25日