【Excel】自作した(競走)結果Dのヘッダーと明細の見出しを公開

目次

自作データベース「結果Dのヘッダーと明細の見出し」

結果データの見出しを縦に表示するVBAを作成する

Excelシートをデータ投入に利用すると、1行目に見出し2行目以降にデータとなるためブログ表示する上で、横幅の制限があるので、見出しを縦に展開した方が見やすくなるのでExcelVBAモジュールを作成し便宜上、1行目の見出し項目を縦展開した文字列を表記する。

Sub Midashi_KekkaSET()
Dim RET As Variant
    RET = DTL_MIDASITate("表H", "結果H見出し一覧縦")
    RET = DTL_MIDASITate("表D", "結果D見出し一覧縦")
End Sub

Function DTL_MIDASITate(sh1, sh2)
Dim j As Integer
Dim wk_nm1 As String
    Sheets(sh2).Select ここをコメントにするとシートの移動をしない
    Sheets(sh2).Cells(1, 1) = "No."
    Sheets(sh2).Cells(1, 2) = "項目"
    j = 1
    Do Until CHRCVT(Sheets(sh1).Cells(1, j)) = ""
        'A列に順
        Sheets(sh2).Cells(j + 1, 1) = j
        '見出しをB列に表示させる
        Sheets(sh2).Cells(j + 1, 2) = Trim(Sheets(sh1).Cells(1, j))
        j = j + 1
    Loop
End Function

Function CHRCVT(r) As String
     If IsNull(r) Then
         CHRCVT = ""
     Else
         CHRCVT = Trim(r)
     End If
End Function

Sub A1RC1Display()
    If Application.ReferenceStyle = xlA1 Then
        Application.ReferenceStyle = xlR1C1
    Else
        Application.ReferenceStyle = xlA1
    End If
End Sub

今までこのブログで使った自作関数を利用して作成している。

実際に使用している原表のシート名

  • 表H:結果データのヘッダー(払戻しやレース情報など)
  • 表D:結果データの明細(着順やコーナー順、単複オッズなど)

表H

No.項目
1開催日
2曜日
3場名
4
5日目
6
7競走名
8競走条件
9齢条件
10
11ハンデ
12距離
13ダ芝
14外回
15天候
16馬場
17出走頭数
18クラス
19WIN5
20ハロンタイム
21上り
221コーナー
232コーナー
243コーナー
254コーナー
261着同着数
272着同着数
283着同着数
291単人気
302単人気
313単人気
321単_馬番
332単_馬番
343単_馬番
351単払
362単払
373単払
381複馬番
392複馬番
403複馬番
414複馬番
425複馬番
431複払
442複払
453複払
464複払
475複払
481馬単着
492馬単着
503馬単着
514馬単着
525馬単着
536馬単着
541馬単払
552馬単払
563馬単払
574馬単払
585馬単払
596馬単払
601三連単着
612三連単着
623三連単着
634三連単着
645三連単着
656三連単着
661三連単払
672三連単払
683三連単払
694三連単払
705三連単払
716三連単払
721三連複着
732三連複着
743三連複着
751三連複払
762三連複払
773三連複払
781馬連着
792馬連着
803馬連着
811馬連払
822馬連払
833馬連払
841枠着
852枠着
863枠着
871枠払
882枠払
893枠払
901ワイド着
912ワイド着
923ワイド着
934ワイド着
945ワイド着
956ワイド着
967ワイド着
978ワイド着
989ワイド着
9910ワイド着
1001ワイド払
1012ワイド払
1023ワイド払
1034ワイド払
1045ワイド払
1056ワイド払
1067ワイド払
1078ワイド払
1089ワイド払
10910ワイド払
110発売票数単勝
111発売票数複勝
112総票数合計

※2019.12月作成時から大きな変更はない。

表D

No.項目
1開催日
2場名
3
4K馬番
5着順
6枠番
7馬名MK
8馬名
9性齢
10負担重量
11減量
12騎手
13タイム
14着差
15コーナー通過順位
161C
172C
183C
194C
20推定上り
21馬体重
22前走増減
23調教師
24単勝人気
25単勝倍率
26複勝min
27複勝max
28朝連順
29朝単順
30朝複順
31朝単odds
32朝複min
33朝複max
34ブリンカー

※2019.12月作成時から以後に「ブリンカー」欄を追加したので、最終行にブリンカー項目がある。

コーナー通過順位(1C-2C-3C-4C)は後から追加になった項目

※2019.11月まではコーナー順はレース全体だけで馬別の表示はなかった。

JRAホームページの改編は毎年12月初旬に行われるので、

UWSCやPythonなどでデータスクレイピング(コピペ)していると改編により

ほぼ全てのプログラムの修正をしなくてはならない場合もあり得る。

「自分の予想スタイル」と「カネと時間の余裕」とのバランスになってくるが、競馬を自分の生活のネタにするなら「JRA-VANデータラボ(有料)」は最終的なツールとして一考しておいた方が良い。

私の場合、データ加工がブログネタになっているのもあり「JRA-VANデータラボ(有料)」は未導入だが馬券結果が今後上向きになるようなら導入も一考する。その時はまたココでの発表となるだろう。

コーナー通過順:「競走中止」のデータ処理

※4月に一度パッチを当てているのでかなり苦労したことが分かる。(既にSQL-Serverに投入しているデータはAccessで一括更新) 競走中止の場合、ホームページ上は着順に「中止」と表示される。数字ではないというのがポイントだ。当時私が作っていたデータベースだとこのデータはエラーとして扱われ読み飛ばされていたということが分かった。データベースの仕様から変更するので今から思えば「コーナー通過順」だけ処理を別にしたらよかったと思っている。

コーナー通過順: 2018.12月追加時の苦労

何が苦労したのかというと、2018.11月末までは競走結果の馬毎の明細は1行だったのが、コーナー通過順が追加されたことでExcelにコピペすると複数行になりデータ取得するプログラムが多少複雑になるということ。またコーナーが施行距離により可変であることがプログラムを複雑にさせる要因になる。私はこれを1C-2C-3C-4Cと別枠でデータを格納することで対応した。

  • 4Cからデータを格納する。
  • ’-’を繋ぎにすることで、Excelコピペ時にデフォルトだと日付変換される。

※現在は過去のデータも全てコーナー順が表示されている。

コーナー通過順: Excel貼付け後のサンプル

2020年 京都記念
2020年 フェブラリーS

距離によって行が可変になることが分かる。

  • 京都記念 1C-2C-3C-4C
  • フェブラリーS   3C-4C

データが1行だと4Cだけ2行だと3C-4C・・・となる。

これは格納も含め大幅な追加仕様となり厄介な作業となった。実際に4月にデータパッチを当てるまで2018.10月からのデータを新たにコピペし直すという基礎データの作り直しから始めている。本来の予定では過去データを遡り少なくとも2018年は1月からデータ作成する予定だったが、作業工数が膨大になる割に使用頻度が少ないことも踏まえそのまま2018.10月からのデータで良しとする判断とした。

JRAホームページを手動で操作し、過去のレース結果(例:2019.12.28 ホープフルステークス)を閲覧しDB項目の確認をする

JRAホームページ>レース結果>過去レース結果検索>開催年選択「2019」>開催月選択「12」検索>中山 ホープフルステークスGⅠ

Excel VBA 逆引き大全 600の極意 Microsoft 365/Office 2021/2019/2016/2013対応

Excel VBA 逆引き大全 600の極意 Microsoft 365

※私が持っているのが2016年版(以下は2016)

  1. ExcelVBAの基本構文
  2. セルの操作
  3. 関数
  4. ワークシート、ウィンドウの操作
  5. ブック操作
  6. データ操作
  7. テーブル・ピボットテーブル
  8. 図形
  9. グラフ
  10. ユーザーフォーム
  11. 印刷
  12. ファイルとフォルダ
  13. データ連携
  14. イベント
  15. バージョン・トラブルシューティング・エラー処理
  16. 高度なテクニック
  17. 索引

目次が巻頭で検索が巻末。昔のタイプの本の構成だが、索引がページでなくTipsという見出しNo.になっていて慣れるまでは検索しづらい。
Amazonレビューは★3.9

私のKindle-Unlimited評価は★4

編集後記

JRA-VANデータラボ(有料)の検討について

  • 既に確固たるデータ予想で年間収支を+にしている攻略法をお持ちの方
  • 競馬をネタに情報を発信している方でデータ分析に興味がある方
  • 競馬コンテンツをお持ちの方でご自身でもプログラム開発を検討されている方

このような方で年間2.5マンは大したことない金額だよ~という方は自作DB作成より前に(ご存じの通り)
データラボ導入を検討し目的のデータを抽出する方が最短で目的を達成できる。

純粋に馬券的中に傾注するなら、JRA-VANデータラボ(有料)から始めるのがベターな選択といえる。

こんな方は自作データベースを作った方が良いかも知れない!?

  • プログラムを組むのが馬券研究より多少好きな方
  • ある程度時間に余裕がある方
  • たくさんの失敗にめげない方
  • 経験をネタに変換できる方
  • オリジナリティを価値と評価する方
  • JRA-VANデータラボ(有料)のカネが惜しい方

UWSC,Pyton,Power Automate, といった言語に「ピク!」と反応したならば、一度ググってみたら楽しい世界が垣間見えるかもしれない~同志よ~

Windowsを自動化!UWSC逆引き本 Kindle版

Windowsを自動化!UWSC逆引き本 Kindle版

  1. はじめに
  2. UWSCについて
  3. UWSCスクリプトをつくる
  4. 文字を操作する
  5. 配列を操作する
  6. ファイルを操作する
  7. ウィンドウを操作する
  8. システムを制御する
  9. ブラウザを操作する
  10. Officeスイートを操作する
  11. 高度な操作

Kindle販売なので在庫がなくなることはない?
UWSCの読み物として暇なときに見るようにしている
Amazonレビューは★3.9

私のKindle-Unlimited評価は★3

それでは、またね~😎

目次