当ブログでファイターズの先発を毎週予想しているわけですが、登板間隔を毎回手計算するのが面倒になったので、リストを作ってEXCELにぶっこみ始めたのが数週間前。
登録・抹消のリストを作れば、末梢から10日後というルールの登録可能日は楽にわかります。
=R[-10]C[-1]
とかいう感じの。
あと、ファームでの先発ローテもリスト化すれば、先発の谷間で一軍トライ枠で先発してきそうな面々もある程度予想はつきます。
とまあ、このあたりまでリスト化すると、正規の一軍ローテ予想も自動化したいですよねぇ。
ということで、中○日というのをサクサク表示してくれるように式を組みました。
最初は、MATCH関数で右から引っ掛ける感じの式を書けば良いのだろうと、「excel match 右から」でググってみたんですけどね。
もっといいのが見つかりました。
=ROW()-1-IF(COUNTIF(R1C6:R[-1]C6,RC6)=0,"",LOOKUP(1,0/(R1C6:R[-1]C6=RC6),ROW(R1C6:R[-1]C6)))
これ、IF文で何をやっているかと言うと、日付順に先発した投手の名前が書いてあるリストの、一番上から前日までの間で、最も直近に先発した日の行を返している、という内容になります。
MATCH関数使わないんですねぇ。
これを「ROW()」の現在行の日付から引いてあげて日付差が出ます。
そして、中○日という表現なのでそこからもう1日分引いてあげる、と。
この例だとR23C8に中6日と表示されています。
これは、9月8日に先発した上沢少年は、直近では9月1日に先発で投げているので、日付さで7日。
なので表現としては中6日、ということです。
その下の金子が「#VALUE!」になってますけどね・・・。
前回の先発は7月だったから、リストに入ってなかってん・・・。
ちなみに、その2つ下の吉田輝星も「#VALUE!」になってますが、これはファームでの先発を加味すると「中5日」で、一応本稼働のエクセルファイルでは、ファームも加味した式にしてあります。
(でも「中5日」で吉田輝星は予想できなかったぉ・・・。)
ExcelのMATCH関数で探したい項目を探させると、普通だと上・左からサーチして最初に当てはまったものを返してしまいますが、右から探したいときもあります。
そんなとき、こういう組み方があるよ、というお話でした。