ロトロクチャレンジ

実況!ロトロクチャレンジ【①データベース】~エクセルで予想ツールを作る~

ロトロクチャレンジ;ツール編アイキャッチ
記事内に商品プロモーションを含む場合があります

※ここでは、ロト6(ロトシックス)を

『ロトロク』と呼んでます。

ミニロト17年目。一週たりとも予想を休んでいない shirono-j🤠です。

ミニロトチャレンジで「1等当せん」を達成した暁に、ロト6(ロトロク)にチャレンジする準備を始めた。

準備とは、「予想→購入」を、毎週・効率よく・長期間継続して実行するためのツール作り。そしてツールとは、エクセル(EXCEL)による予想ツール。

これからロトロクチャレンジのカテゴリーにおいて、予想エクセル考案と作成、そして運用の様子を記録していく。

このページでは第一段階となる『データベースファイル』を作成。ファイル名は00.DB6』とした。

ミニロトでの経験(まだ一度も当選していないが😅)を活かし、きれいでシンプルな「作品造り」に取り組む!

作成するエクセルの基本書式は以下。

  • フォント=メイリオ
  • フォントサイズ=10p(見出しは 11p)

作成や編集を行う際は、そこまでに作成したEXCELファイルを全て同時に開いておく必要がある。

DBシートを作る

基本的にはミニロトチャレンジの考え方を踏襲していく。

この頃はまだエクセルの「テーブル機能」を知らなかったので使用していない。大好きな機能なので今回は初めから入れておくことにした。

シート名を「DB」とし、表題(セルA1)には【データベース】と見出しを付けた。

(B表)のデータを入力する

当せんNoのデータは、全て みずほ銀行さんのサイト内「当せん番号案内」から入手できる。「先月以前の当せん番号案内」というコーナーだ。

「(B表)A表以前の当せん番号」のデータを入力するので、まずは場所を把握。あとでエクセルへコピペ入力する。

※文字まで読めるきれいな画像はYouTubeへ移動する必要あり


販売実績やキャリーオーバーのデータもぜんぶ収集したいが、古いデータは入手できない。今、拾える分までを採取しておく。

■「DBシート」を作る

コピペ入力をするための受けとなる「DBシート」を作成する。これを先にやっとけば、あとはしばらくコピペを繰り返すだけ。簡単だ。

「DBシート」とは「データベースとなるシート」のことで、今後の予想に活用する計算や分析など『すべての源』となる大切な元データである。

※文字まで読めるきれいな画像はYouTubeへ移動する必要あり

① 見出しを作成する

コピーしたデータを貼り付ける場所、のちのち使用する計算枠や、使用するかもしれない販売実績、キャリーオーバーも考慮。小当たりの金額などを入力するセルも用意する。上の2行は、あとで使うので空けておく。

② テーブルをセットする

挿入タブからテーブルをセット。ボク🤠の好みは、黒の枠線付きだ。フォントはメイリオ、フォントサイズは 10 にした。このテーブル名は「テーブル1」となる。
見出し行は、上揃えにして、折り返して全体を表示させ、高さを45にセットすると、列幅を好みへ調整しやすいはずだ。

■「旧データ」をコピペ

古いデータは 20回分づつ一覧表になっているのでコピペの効率が良い。ここでは、古いデータをコピペして書式を軽く整えるところまでを行う。

※文字まで読めるきれいな画像はYouTubeへ移動する必要あり

① 第一回から20回分づつコピペ

サイトから必要部分をコピーして貼り付けるだけ。ただし、貼り付け先の書式に合わせた方が良いだろう。動画は80回分の事例だが、これを(B表)の最後まで完了させてから次の②へ移っても良い。

② 抽選日の列を整える

抽選日の書式が 長い日時形式になっているので、短い日時形式へ変更する。列幅はできるだけ狭い方が全体が見やすくて好きだ。

③ 回別の列を整える

漢字式で、第??回といった形式になっているので数字だけに直す。繰り返すが、列幅はできるだけ狭い方が全体が見やすくて都合がよろしい。

④ 各列の幅と罫線を整える

狭くても良い列は狭くしておく。b1~b5の列は、当せん金が発生した時に記録するスペースだ。広くとらなきゃいけなくなるようにガンバらねば!🔥

■ 数式を入れる

※文字まで読めるきれいな画像はYouTubeへ移動する必要あり

① ボーナス数字の色を変えておく

解りやすいように、ボーナス数字の列はフォント色を変えておく。

② 何回分入力できたかカウント

何回分のコピペが完了したか解るように数式を入れておく。ここは最終的に「現在、第何回目か」を検出するための大切なセルとなる。

下の数式を[A2]へ入力した。

=COUNT(テーブル1[維])

※注意)テーブルをいくつか作成してここに至った場合は「テーブル1」とはならない
※注意)動画では[維]の列で計算しているが、あとで[維]へ変更となった

③ 当選数字を繋ぐ

六つの当せん数字を繋いでおく。これは、当選したかどうかを判定するための大切な仕組みなんだ。過去に同じ当せんNoがあったかも検出できる。

下の数式を[J4]のセルへ入力してエンター押したら、あとはスピルで下まで一気だ。

=IF([@1桁目]="","",VALUE(CONCATENATE([@1桁目],[@2桁目],[@3桁目],[@4桁目],[@5桁目],[@6桁目])))

(A表)のデータを入力する

次に、「(A表)先月から過去1年間の当せん番号」のデータを入力する。ひと月ごとブロックになっているので、効率的にコピペするには工夫が必要だ。

■ 別シートへコピペ

別のシートを起こし、テーブルを用意して(A表)のデータをそのままコピペしていく。動画は3カ月分の事例だが、これを(A表)の最後まで完了させる。このテーブル名は「テーブル2」となる。

※文字まで読めるきれいな画像はYouTubeへ移動する必要あり

ここで新たに作成したテーブルは、『テーブル2』という名前になってるのが大事!!
違う場合は、テーブル名を修正する必要アリ!

■ データの並べ替え

上記の(A表)データのままでは「DBシート」の「テーブル1」へコピペすることができない。関数を使って並べ替え、一気にコピペする。

※文字まで読めるきれいな画像はYouTubeへ移動する必要あり

① 見出しを別シートへコピペする

回別から口数までの16列分を[K1]のセルへ貼り付ける。

② テーブル化する

[J~Z]の列を、適当な行数でテーブル化し、[J2]セルへ上記(A表)データの一番古い回別データの左にあるNo(当事例では1237)を入力しておく。このテーブ名は「テーブル3」となる。

③ 行番号をセットする

[J3]のセルに行番号を計算する数式を入れる。入れたら、数字が1になるまで下へコピーする。

=J2-12
④ 回別をセットする

[K2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1],テーブル2[[#見出し],[3]])
⑤ 抽選日をセットする

[L2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+1,テーブル2[[#見出し],[3]])
⑥ 1桁目をセットする

[M2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+2,テーブル2[[#見出し],[3]])
⑦ 2桁目をセットする

[N2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+2,テーブル2[[#見出し],[4]])
⑧ 3桁目をセットする

[O2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+2,テーブル2[[#見出し],[5]])
⑨ 4桁目をセットする

[P2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+2,テーブル2[[#見出し],[6]])
⑩ 5桁目をセットする

[Q2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+2,テーブル2[[#見出し],[7]])
⑪ 6桁目をセットする

[R2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+2,テーブル2[[#見出し],[8]])
⑫ B(ボーナス数字)をセットする

[S2]のセルに行番号を計算する数式を入れる。式のヘッドには「-」を付けておく。

=-INDEX(テーブル2,[@列1]+3,テーブル2[[#見出し],[3]])
⑬ 維は飛ばす

ここは、コピペ後にセットするので何もしない。[T2]のセルは空白のまま。

⑭ 販売実績額をセットする

[U2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+9,テーブル2[[#見出し],[3]])
⑮ キャリーオーバーをセットする

[V2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+10,テーブル2[[#見出し],[3]])
⑯ 1等をセットする

[W2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+4,テーブル2[[#見出し],[6]])
⑰ 口数1をセットする

[X2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+4,テーブル2[[#見出し],[3]])
⑱ 2等をセットする

[Y2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+5,テーブル2[[#見出し],[6]])
⑲ 口数2をセットする

[Z2]のセルに行番号を計算する数式を入れる。

=INDEX(テーブル2,[@列1]+5,テーブル2[[#見出し],[3]])

■「DBシート」へコピペ

※文字まで読めるきれいな画像はYouTubeへ移動する必要あり

上記で並べ替えたデータを「DBシート」の「テーブル1」最下行へコピペして、データ様式や書式を整える。

①「テーブル3」を「テーブル1」へコピペ

「テーブル3」の[K1]から[Z1]までをコピーして、「テーブル1」の[A列の最下の空セル]へ ペーストする。この時、回別の番号がちゃんと連続していることを確認しておく。連続していなかったら何か間違っている。

② データ様式を整える

置き換え機能を使って、漢字の「円」と「口」と「該当なし」を消去する。回別も数字だけに直して幅スペースを節約。同時に第2500回の分までエリアを用意しておくと、あとあと計算させやすい。

※ おまけ

「維」の列(J列)へ条件付き書式の「重複検知」を入れておく。過去の当せんNoが再度発生したら黄色に変わるようにセットした。第1823回時点では、まだ当せんNoが重複した形跡はない。

スポンサーリンク

cb1シートを作る

カウントベースシート(cbシート)を作る。

どの「No」が、いつ出現したかを打刻するシートだ。今後の分析において土台となる大事な位置づけになるだろう。

シート名を「cb1」と名付け、表題(セルA1)には【カウントベース1;出現打刻】と見出しを付けた。

カウントベースは恐らく一つでは済まないのでシート名へ番号をつけたが、出来るだけ少なくしたい。ミニロトチャレンジでは、多種の「cbシート」を継ぎ足して作成してしまい、無駄にコンピューターへ負担をかけていたから改善だ。

テーブル枠を作る

※文字まで読めるきれいな画像はYouTubeへ移動する必要あり

数式を入力してカウントテーブル(計数表)とするための「枠」を作成する。


予定を変更して、この表も最後には「テーブル機能」を採用した。次の【②桁範囲と発生率の分析】編へ進んでからの気付きだったので動画には収められなかった。

数式の入力と外観整備

※文字まで読めるきれいな画像はYouTubeへ移動する必要あり

各回別ごとで、①~㊸が出現したかどうかをカウントする数式をセットする。出現したときだけ「1」を表示させる事になる。

■ 数式の入力

[B4]のセルに各当せん数字をカウントするための数式を入れる。入れたら、あとは全範囲へドラッグ&ドロップで広げるだけ。

=COUNTIF(テーブル1[@[1桁目]:[6桁目]],B$3)

■ 外観を整える

現在の表示は「0か1か」となっている。

少々見づらいので、書式をさわって「1」だけを表示させる。表示形式で操作するのが一番コンピューターに負担をかけない方法だと考えた。

次のステップに進む

【①データベース】編は、いったんここまで。次の【②桁範囲と発生率の分析】編へと進む。ゴールはまだまだ遠いな。