年度またぎ判定ロジックの仕組み|草野球成績管理表でシーズン開始・終了を自動判定する例で解説

フォーム・シート作成

試合の日付から「これは何年度の成績として扱うか」を自動で振り分ける、年度切り替えロジックについて解説します。とくにシーズンが1月〜3月をまたぐようなチームでは、西暦(暦年)だけでは年度をきれいに分けられない場面が出てきます。草野球の成績管理表で、シーズン開始・終了を自動判定する例をもとに、日付関数の組み合わせ方を見ていきましょう。

年度切り替えロジックとは

📝 年度切り替えロジックの役割(一言でいうと)

試合日から月と年を取り出し、「シーズン開始月より前の月なら、年度としては前年扱いにする」という条件分岐で、暦年とは異なる「シーズン年度」を自動的に割り振る仕組みです。1つの関数の名前ではなく、MONTH・YEAR・IFという複数の関数を組み合わせて実現します。

基本の考え方はこうです。

=IF(MONTH(日付セル)>=4, YEAR(日付セル), YEAR(日付セル)-1)

「4」の部分がシーズン開始月を表しています。この記事では、大阪グーニーズのシーズンは4月開幕・翌年3月までを1シーズンとして管理している(オフシーズンの練習試合なども含めて年度をまたいで集計する)という前提で進めます。実際の運用月が異なる場合は、この「4」をチームの開始月に置き換えて考えてください。

成績管理表での実例:シーズン年度の自動判定

個人成績シートに、試合日の列とは別に「年度」を自動判定する列を追加します。1月〜3月に行われた試合(オフシーズンの練習試合など)は、暦年としては新しい年でも、シーズンとしては前年度の続きとして扱いたいというケースです。

試合日 対戦相手 年度判定
2025/4/6 ○○ファイターズ 2025年度
2025/11/2 △△ベアーズ 2025年度
2026/1/18 □□イーグルス(練習試合) 2025年度
2026/4/5 ◇◇スワローズ 2026年度

試合日がB列に入っているとすると、年度判定の式はこうなります。

✅ シーズン年度を自動判定する式
=IF(MONTH(B2)>=4, YEAR(B2), YEAR(B2)-1)

2026/1/18の試合は暦年では「2026年」ですが、月が1月(4未満)のためYEAR(B2)-1が返り、「2025年度」として集計対象になります。

STEP 1
「年度」列を追加する

試合日の列の隣に、年度判定専用の列を1つ用意します。この列を年度別の集計(SUMIFSなど)の条件として使えるようにするのが目的です。

STEP 2
先頭行に式を入力する

追加した列の1行目に「=IF(MONTH(B2)>=4, YEAR(B2), YEAR(B2)-1)」を入力します。B2の部分は、実際の試合日が入っているセルに合わせてください。

STEP 3
式を下の行までコピーする

セル右下のフィルハンドルをドラッグするか、コピー&貼り付けで全ての試合の行に式を反映させます。試合を追加するたびに、この列も一緒に伸ばしていく運用にしておくと安心です。

しくみを理解する:年度切り替えロジックは何をしているのか

📝 MONTH・YEAR・IFの役割分担

この式は、3つの働きが組み合わさってできています。

  • MONTH(日付セル)は、日付から「月」の数字だけ(1〜12)を取り出します
  • YEAR(日付セル)は、日付から「年」の数字(西暦)だけを取り出します
  • IFが、取り出した月がシーズン開始月(この例では4)以上かどうかで分岐し、開始月より前の月であれば年からさらに1を引いた値を返します

つまり「1月〜3月は、まだ前のシーズンの続き」とみなして、年度のラベルだけを1つ前にずらしている、というのがこのロジックの正体です。カレンダー上の日付そのものは変えず、集計用のラベルを付け替えているだけという点がポイントです。

よくあるミス

⚠️ 開始月の「4」を決め打ちにしたまま忘れる

式の中の「4」は、あくまで今のシーズン開始月に合わせた数値です。翌シーズン以降に活動開始月を変更した場合、この数値を直接書き換えないと年度判定がズレてしまいます。運用が長くなるほど見落としやすい部分なので注意してください。

⚠️ 日付が文字列として入力されている

試合日が「2026/1/18」のような見た目でも、セルの中身が実際には文字列として入力されていると、MONTHやYEARが正しく年月を読み取れずエラーになることがあります。日付の列は必ず日付形式で統一しておくのが安全です。

✅ この記事のまとめ
  • 年度切り替えロジックは、MONTH・YEAR・IFを組み合わせて試合日から「シーズン年度」を自動判定する仕組み
  • シーズン開始月(この例では4月)を条件の基準にすることで、1〜3月の試合を自動で前年度扱いにできる
  • ラベルを付け替えているだけなので、日付そのものが正しい日付形式で入力されていることが前提条件になる

次回予告

次回のテーマは「SUMPRODUCT関数」です。配列同士を掛け合わせてから合計する仕組みを、投球回の「1.1」「1.2」のような特殊な表記を正しく合算する例で解説していきます。

▶︎ 次回:SUMPRODUCT関数の使い方としくみ

コメント

タイトルとURLをコピーしました