VBAを使ってロト6のデータを形にする その1
はじめに
先日、新人個人事業主として、税務署主催の青色申告説明会というものに行ってきました。
大変暇な思索にふける時間に富んだ内容でしたので、以前知人から相談された内容についてずっと考えてました。
それは
VBAを使ってロト6を当てられないのか
ムリでしょ
というもの。
どういう情報をどうやって取るかなーと考えるのは結構面白いです。
どんなデータをとるか
とりあえず統計的に意味がありそうな
- それぞれの数字の当選回数
- どれだけ連続で外れているか
あたりをやってみましょう。
「結果」シート
6個の当り数字、ボーナス数字を一覧にしたシートです。
「メイン」シート
対象の回範囲を設定して、それぞれの数字の当り回数を表示させます。
書いてみる
コード
実際に書いて実行してみます。
Sub 更新() Dim startnum As Long, endnum As Long Dim i As Long, j As Long Dim hit(1 To 43) As Long Dim num As Long With Sheets("メイン") startnum = .Range("C1") endnum = .Range("C2") .Range("C3") = endnum - startnum + 1 End With With Sheets("結果") For i = startnum + 1 To endnum + 1 For j = 2 To 7 num = .Cells(i, j) hit(num) = hit(num) + 1 Next j Next i End With With Sheets("メイン") For i = 6 To 48 .Cells(i, 3) = hit(i - 5) Next End With End Sub
ポイント
43個の数字の結果をそれぞれカウントしたいので、配列を
Dim hit(1 To 43) As Long
で作っています。
これにより、1の結果は「hit(1)」、43の結果は「hit(43)」でOK!
結果
こんな感じで、1から43までの当り回数をカウントできました。
※ウインドウ枠を固定しているので、一部が表示されています