may the VBA be with you

Excel VBAとか業務自動化とか

VBAを使ってロト6のデータを形にする その3

はじめに

前回、

vba-belle-equipe.hatenablog.com


「ボーナス数字」と「連続ハズレ回数」を出すところまでいきました。
今回は連続でハズレた回数の履歴をつけていきたいと思います。

「結果」シート

f:id:vba-belle-equipe:20161208145251p:plain

変わりません。

「メイン」シート

f:id:vba-belle-equipe:20161219111421p:plain

連続ハズレ回数を記録する列が増えています。
※回数はどこまでも伸びる可能性がありますが、とりあえず40回以上は一くくりにしてみました。

コード

こんな感じになりました。

Sub 更新()
  Dim startnum As Long, endnum As Long
  Dim i As Long, j As Long
  Dim hit(1 To 43) As Long
  Dim bonus(1 To 43) As Long
  Dim nohit(1 To 43) As Long
  Dim renzoku(1 To 43, 0 To 40) As Long
  Dim num As Long, num2 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 = 1 To 43
        nohit(j) = nohit(j) + 1
      Next
    
      '本数字(当たり処理)
      For j = 2 To 7
        num = .Cells(i, j)
        hit(num) = hit(num) + 1
        
        '連続ハズレ調整
        nohit(num) = nohit(num) - 1
        If nohit(num) > 40 Then
          nohit(num) = 40
        End If
        renzoku(num, nohit(num)) = renzoku(num, nohit(num)) + 1
        
        nohit(num) = 0  'ハズレリセット
      Next j
      
      'ボーナス数字
      num = .Cells(i, 8)
      bonus(num) = bonus(num) + 1
    Next i
  End With
  
  For i = 6 To 48
    Cells(i, 3) = hit(i - 5)  '当選回数
    Cells(i, 4) = bonus(i - 5)  'BONUS
    Cells(i, 5) = nohit(i - 5)  '連続ハズレ
    
    '連続ハズレ過去回数
    For j = 7 To 46
      Cells(i, j) = renzoku(i - 5, j - 7)
    Next j
  Next i
  
End Sub

連続ハズレ回数の履歴

連続ハズレ回数(現在進行形)を

Dim nohit(1 To 43) As Long

という配列に入れるのは前回と同じです。
(当たったら、0にリセットされる)


加えて今回は、各数字と連続ハズレ回数の情報を持たせるために

Dim renzoku(1 To 43, 0 To 40) As Long

という2次元配列を使っています。

f:id:vba-belle-equipe:20161219104804p:plain

こういう表のイメージです。

「1 To 43」の部分で各数字ごとに行を作り、「0 To 40」で回数ごとの列を作っているという感じでしょうか。

結果

f:id:vba-belle-equipe:20161219105613p:plain

こんなん出ました~
(ごちゃごちゃしすぎるので、下のほうは割愛しています)


考察

連続40回ハズレというのはどれくらいの確率でしょうか。

1回ハズレる確率は、37/43で、およそ86%です。

それが40回連続ともなると、0.25%くらい。


しかし、40回以上連続のハズレは、ロト6の歴史で20回以上出現しているようです。
そこまで珍しいことではないみたいですね。



では、連続で外れているという情報を次に買う際の根拠としてよいか。

難しいところです。

絶対に雨が降る雨ごい

と同じように、買い続ければいずれはその数字が当たると思いますが、

問題は

一緒に当たる数字が何なのかわからん

ということですよね。


方法をご存じの方がいたら是非ともご連絡ください。


参考

ロト6長期的分析データ

結果の答え合わせに、参考にさせていただきました。