2016年ベイスターズ試合日程をGoogle Calendarに
備忘録として
ここ数年、ベイスターズの試合日程をGoogle Calendarに取り込んでいるのですが、これがなかなか面倒な作業。NPB公式はデータ提供してくださいよ。
ということで、年に1回しかやらないことで、いつもやり方を忘れてしまうので、今年はここにメモとして残しておきます。
データを使いたい方は、一番下にリンクを貼っておりますので、一気に飛んでくださいませ。
元データはスポニチ公式から
改装なったNPB公式サイトですが、試合日程はこんな風になっております。
これでもいいのだけど、いきなり3月の少ない試合日程だけだと萎える。それはまだいいとしても、「印刷用PDF」ってなんだよ。印刷して壁に貼れってか? なんという時代遅れ……。
ということでソースはスポニチ公式を使いました。今年は交流戦も一括して日程に組み込まれております。昨年はバラバラだったと思います。
2016年3・4月セ・リーグ日程 プロ野球試合日程― スポニチ Sponichi Annex 野球
ちなみに、ニッカン、サンスポは公式サイトに今年の試合日程は掲載されておりません。昨年のままです。ダメですな。
データをExcelにコピーする
このスポニチのサイトデータを、ひたすらExcelにコピーするのが最初の作業。
すでにやってしまっておりますが、日程部分はセル統合されているので、分割します。
さあここからが問題。画像のようにたとえば、2月20日のオープン戦開幕日は3試合ある。しかし日付は一番上の「巨人・DeNA戦」しか入っていない。これを他のセルにコピペしていかねばならない。すべての作業の中でここだけ力技です。何も考えずに淡々とやりましょう。
ここまでくれば、あとはExcel関数を駆使するだけ。
Excel関数を駆使する
自分は他球団には興味ないので、ベイスターズの試合だけ取り出したい。これはIF関数を使って、こんな風に処理いたしました。
=IF(B1="DeNA",1,IF(D1="DeNA",1,2))
ホームかビジターかで入っているセルの左右が変わる。どちらかにDeNAと入っていたら「1」を、そうでない場合は「2」としなさいという関数。便利ですなExcel関数。
ただ、ここで一度つまずきました。式は合っているのに、ベイスターズのデータが引っかからない。あれこれ調べて、どうやら元データの「DeNA」という入力が全角だったり、半角だったりすることが判明。ここは半角で統一しました(置換した)。
入力作業は何人かで分かれて、手作業で行っているのでしょうか? ちょっとシロウトっぽい仕事ですな。
次に、データ取り込みの際、「Subject」(やること)とするデータをまとめます。本来場所なども個別データとして取り込めますが、そうするとカレンダーとして表示する時に見えない。だから対戦カードと球場名を合体させます。
=E1&"vs"&G1&"("&H1&")"
セルデータの統合は、「CONCATENATE」という関数がありますが、面倒なので最近は「&」でつなぐ方法でやっております。文字として認識させたいデータはもちろん「””」でかこみます。
データをまとめる
あとはデータをGoogle Calendar仕様にまとめるだけなのですが……。ここでもつまずきました。
こういうスタイルにすればよいのですが、「Start Date」「Start Time」のところは、それぞれ日付のみ、時間のみのデータでないと反映されない。「Time」のところの生データ(画面表示されているデータでなく)が「2016/1/30 13:00:00」となっていると取り込んでくれません。
カレンダーには試合時間も入れたいので、だいたいの目安として自分は3時間を見ております。だから「End Time」は、「Start Time」に「=B1+3:00」という式を入れて処理する。
できあがりはこちらに
ここまではExcelファイルで作業しましたが、取り込む際には、CSVファイルに変換しなければいけない。このブックだけを別保存して、CSVとする。
データを取り込むと、こんな感じになります。
広島で開幕を迎えた後は、ハマスタで読売、阪神6連戦なんですな。今から楽しみです。
さて、データはこちらになります。オープン戦の日程も入っております。くれぐれも自己責任で、ご自由にお使いくださいませ!