趣味のエクセルで当てよう!ロト・ナンバーズ

当選狙いで、ナンバーズ4をメインにロト、ビンゴ5などの各種データリストや、それらの分析用エクセルVBAなどについて書いてます。

ナンバーズ4ボックスペア数字集計マクロ


記事目次 ナンバーズ4


ナンバーズ4のペア数字を新しい回号順(1回毎)に出力するマクロを作りました。
以前は第1回から出していたので、最新のデータを見るのが困難でした。


例えば1123が当選番号としたら、ペア数字6種類(重複有り)です。
11 12 13 12 13 23
これらの数字の下に出現回数が出てきます。上にはトータル出現回数です。


実際の当選番号を小さい順のボックス並びにしてボックスペアを計算しています。


1回毎のデータを任意の回数でまとめる別のマクロも作成中。
前記のマクロとセットでデータを把握するには良いと思っています。


ストレートパターンシート


 出力結果表(一部)


同じシートに上の出力結果を出してるが、他のシートに出すことも出来ますね。


当選番号からボックスペア作成し、それを元に01から99迄の対応セルを特定し出力(重複有の場合は足し算する)


Sheets("ストレートパターン").Cells(i, 3), 1)などと書かないでも同じシートの場合に出力する場合はシート名は省略OKです。


下記はマクロの書き方の一例ですが、他の方法も有ると思います。



Sub box_pea_kai() 'ナンバーズ4ボックスペア1回ずつ出す
Dim i As Long, Lastgyou As Long, kai As Long, bx_no As Range
Dim j As Long, k As Long, reiti As Long, l As Long, m As Long
i = 10


Lastgyou = Cells(Rows.Count, 3).End(xlUp).Row
kai = 3
Range("wy4:zi7000").ClearContents


Call saikeisanoff ’再計算などを止める


For i = Lastgyou To 4 Step -1 ’最終行(最新当選回)から
Cells(1, 626) = Val(Left(Sheets("ストレートパターン").Cells(i, 3), 1)) ’①セルに当選番号分割
Cells(1, 627) = Val(Mid(Sheets("ストレートパターン").Cells(i, 3), 2, 1))
Cells(1, 628) = Val(Mid(Sheets("ストレートパターン").Cells(i, 3), 3, 1))
Cells(1, 629) = Val(Right(Sheets("ストレートパターン").Cells(i, 3), 1))

Cells(3, 626) = "=small(xb1:xe1, 1)" ’②セルに分割後小さい順に表示
Cells(3, 627) = "=small(xb1:xe1, 2)"
Cells(3, 628) = "=small(xb1:xe1, 3)"
Cells(3, 629) = "=small(xb1:xe1, 4)"


kai = kai + 1
Cells(kai, 623) = Cells(i, 3) ’当選番号
Cells(kai, 624) = Cells(3, 626) & Cells(3, 627) ’②セル表示からボックスペア作成6種類
Cells(kai, 625) = Cells(3, 626) & Cells(3, 628)
Cells(kai, 626) = Cells(3, 626) & Cells(3, 629)
Cells(kai, 627) = Cells(3, 627) & Cells(3, 628)
Cells(kai, 628) = Cells(3, 627) & Cells(3, 629)
Cells(kai, 629) = Cells(3, 628) & Cells(3, 629)
Cells(kai, 630) = Sheets("ストレートパターン").Cells(i, 1) ’回号
Next i


Range(Cells(4, 631), Cells(Lastgyou, 685)) = 0


For j = 4 To Lastgyou
 For k = 1 To 6 ’6個のボックスペアの位置に集計  出力結果表
  Set bx_no = Cells(j, k + 623)
  reiti = Range("xg3:zi3").Find(bx_no).Column
  Cells(j, reiti) = Cells(j, reiti) + 1
 Next k


Next j


For l = 0 To 54 'ボックスペア累計出現数
Cells(2, l + 631) = Application.Sum(Range(Cells(4, l + 631), Cells(Lastgyou, l + 631)))
Next l


Call saikeisanon
End Sub


記事目次 ナンバーズ4 


上のマクロで出したデータをまとめて出す場合は



Call saikeisanoffとCall saikeisanonは下の別のマクロです。