当記事ではアフィリエイトプログラムを利用して商品を紹介するプロモーションを含んでいます。
ボートレースのサイトでは過去のレース結果や登録選手のプロフィール、翌日の番組表など、
いろんなデータをテキストでダウンロードできる。
これを使って独自に分析しようとすると、テキストファイルの加工が必要。
テキストの内容を貼り付ければ項目をセル毎に分けられるよう、関数を組み込んでいこう。
・まずは全体像確認
ホームページからダウンロードしたテキストファイルをExcelファイルに添付します。
今回は、過去のレース結果が記されたデータを分解していきます。
テキストファイルには選手の名前や順位、何号艇に乗ったのか、モーターのNoなどが書かれています。
ファイルは当然文字が連なって記載されていますからこれを分解していくわけですね。
ダウンロードは
ボートレースのHP → データを調べる → ダウンロード・他 → 競技成績ダウンロード
→ 月を選択 → 日付選択 → ダウンロード開始
にて行えます。
・それでは関数の紹介
今回、ダウンロードした結果のファイルをセルのA列に張り付けます。
セルA1から貼り、
セルB3からK3までに項目名を入れておきます。
B3 | C3 | D3 | E3 | F3 | G3 | H3 | I3 | J3 | K3 |
着 | 艇 | 登番 | 選手名 | モーター | ボート | 展示 | 進入 | スタートタイミング | レースタイム |
エクセルはこんな様子ですね。
ではここからは関数を入れていきます。
①B列
=MID(A4,3,2)
②C列
=MID(A4,7,1)
③D列
=MID(A4,9,4)
④E列
=MID(A4,14,8)
⑤F列
=MID(A4,23,2)
⑥G列
=MID(A4,28,2)
⑦H列
=MID(A4,32,4)
⑧I列
=MID(A4,39,1)
⑨J列
=MID(A4,44,4)
⑩K列
=MID(A4,53,6)
以上!!!
文字数が決まってるみたいなので、MID関数でとりたい情報が出現する文字数からそのデータが入力されている文字数分抜き出します。
そうするとまぁ意味不明な状態にはなっていますがこのあと不必要なところを消しさります。
この画像で言うとA4からA31が不要になるのでそこを消し去ります。
このような形で、B列からK列までがA列にはり付けたデータを分解していることがわかりますね。
私はこのExcelに、データをとりたい会場の12レース分以外の行は削除して
分解した項目をconcatenate関数で、データベースに投入するインサート文に作り替え、
バッチを動かして投入するというマクロを組み込ん楽しんでいます。
また機会をみて必要な会場分だけ残して他は削除するマクロの紹介もしようと思います。
コメント