前回はフォームの選択肢を追加・変更するときの手順を解説しました。今回から第12章「シーズン運用と応用」に入ります。最初のテーマはシーズン終了時の年度切り替えです。
今シーズン(2026年)が終わって新しいシーズン(2027年)が始まるとき、何をどの順番でやればよいのか——迷わないよう、この成績管理表の設計を踏まえて整理します。実は大部分は自動で切り替わる設計になっています。人間がやることは思ったより少ないです。
この成績管理表の「年度」の仕組みをおさらいする
年度切り替えの作業を理解するために、各シートがどのように年度を管理しているかを先に確認します。
| シート | 年度の管理方法 | 切り替え時の作業 |
|---|---|---|
| チームシート | A列に年度(2026・2027…)を手入力。タイムスタンプで年度ごとに自動集計 | ✅ 既に2030年まで設定済み——作業不要 |
| フォーム(野手)・(投手)・(チーム成績) | 年度は区切らずデータを蓄積。A列のタイムスタンプに回答日時が自動記録される | ✅ そのまま使い続ける——作業不要 |
| 試合当日(野手)・(投手) | フォームシートを参照して表示。A列の試合日でどの年かがわかる | ✅ そのまま使い続ける——作業不要 |
| 年間(野手)・年間(投手) | 年度区切りなし。試合当日シートの全データを累積集計している | ⚠️ 年度切り替えの主な作業対象 |
要するに、チームシート・フォームシート・試合当日シートは何もしなくてよいのです。年度をまたいでも自動的に正しく動き続けます。年度切り替えで人間がやることは主に年間シートの対応だけです。
なぜ年間シートだけ対応が必要なのか
年間(野手)シートの集計式は、試合当日(野手)シートの全行を対象にSUMIFで集計しています。年度フィルタがないため、2026年のデータも2027年のデータも同じ選手の成績として合算されてしまいます。
たとえばSUZUKIさんが2026年に打率.636、2027年に打率.400だったとします。年間シートを切り替えずに使い続けると、2027年シーズン中に「SUZUKIの打率」は2年分の安打÷2年分の打数になります。2027年単年の成績が見えなくなります。
チームシートはタイムスタンプで年度別に切り分けているので問題ありません。年間シートだけが「累積」で動いている点が切り替えが必要な理由です。
年度切り替えの2つの方法
年間シートの対応方法は2つあります。運用スタイルに合わせて選んでください。
推奨。今年の年間(野手)シートをそのままコピーして「年間(野手)_2026」として保存し、元のシートをリセットして来年用にする方法です。
| メリット | デメリット |
|---|---|
| 過去のシーズン成績がシートとして残る。年度ごとに見返しやすい | シートが年々増える。参照が複雑になる可能性がある |
フォーム(野手)シートの2026年データを別のスプレッドシートにコピーして保管し、元のシートからは削除する方法です。年間シートはそのままで、翌年のデータだけが集計されるようになります。
| メリット | デメリット |
|---|---|
| シートが増えない。仕組みがシンプルなまま | フォームシートへの直接操作(行削除)が必要。第86回で解説したREFリスクに注意が必要 |
フォームシートの行削除は#REF!リスクがあるため(第86回参照)、方法Aのほうが安全で管理しやすいのでおすすめします。以下では方法Aの手順を詳しく解説します。
方法A の手順:シーズン終了時にやること
シートタブを右クリック→「コピーを作成」でコピーを作り、名前を「年間(野手)_2026」に変更します。これが2026年シーズンの永久保存版になります。同様に「年間(投手)_2026」もコピーします。
アーカイブ用のシート(年間(野手)_2026)を開き、全セルを選択(Ctrl+A)→コピー(Ctrl+C)→「編集」→「特殊貼り付け」→「値のみ貼り付け」を実行します。これで数式がすべて固定値に変わり、元のデータが変わっても過去のシーズン成績が書き換わらなくなります。
元の年間(野手)シートには数式が入ったままで問題ありません。翌年1月1日以降にフォームから新しい試合データが入力されると、タイムスタンプが2027年になります。試合当日シートのA列(試合日)も2027年になります。年間シートの集計式は試合当日シートの全データを対象にしているため、2026年のデータはそのまま残りますが、2027年のデータが加算されていくことになります。
複数年のデータが混ざることを完全に防ぎたい場合は、年間シートの集計式にも試合日の年度フィルタを追加します。チームシートの式と同様に、SUMIFS で DATE($A$1, 1, 1)〜DATE($A$1, 12, 31) の範囲条件を追加する方法が使えます。ただしこれは式の大幅な書き換えになるため、慣れてきてから検討する発展的な対応として位置づけておくのがよいでしょう。
チームシートへの作業:実は何もしなくてよい
チームシートは2026〜2030年の5年分が既に設定済みです。A列の年度(2027・2028…)が入力されており、集計式はDATE($A3,1,1)〜DATE($A3,12,31)でタイムスタンプを絞り込む設計です。
2027年1月1日以降にフォーム(チーム成績)から試合データを入力すると、タイムスタンプが2027年になります。チームシートの2027年行(3行目)はDATE(2027,1,1)〜DATE(2027,12,31)の範囲で絞り込んでいるため、自動的に2027年のデータだけが集計されます。
また7行目の「通算」行(SUM(B2:B6)など)には2026〜2030年の全合計が自動で出ます。チームシートについては完全に自動——年度切り替え作業はゼロです。
現在のチームシートは2030年までの5年分が設定されています。2031年が来たら6行目に「2031」を入力し、B〜L列に5行目の式をコピーして貼り付けます。通算行(現在7行目)はSUMの範囲を B2:B7 に広げます。
毎年1行追加するだけで何年でも使い続けられます。
フォームシートへの作業:何もしなくてよい
フォームシートはGoogleフォームが自動で行を追加し続けます。2026年のデータの下に2027年のデータが積み上がるだけで、集計式はタイムスタンプを使って年度ごとに切り分けています。
ただし、データが増えるにつれて試合当日シートや年間シートの参照範囲(例:$1:$100)の上限に近づく可能性があります。年度切り替え時に参照範囲の行数を確認して、必要なら広げておくと安心です。
フォーム(野手)シートのデータが何行あるかを確認します。COUNTAで数える方法が簡単です。
=COUNTA('フォーム(野手)'!A:A)-1
この値が試合当日シートや年間シートの参照範囲の行数上限(例:100)に近づいてきたら、式の参照範囲を $1:$200 のように広げてください。
シーズン開始前のチェックリスト
| タスク | 必須/任意 | 対象シート |
|---|---|---|
| 年間(野手)・(投手)シートを「_2026」としてコピー保存し、値のみ貼り付けで固定する | ✅ 必須 | 年間(野手)・年間(投手) |
| フォームシートのデータ行数を確認し、参照範囲が足りるか確認する | ✅ 必須 | 試合当日・年間シートの数式 |
| 選手の加入・脱退があった場合、設定一覧とフォームの選択肢を更新する | △ 必要に応じて | 設定一覧・Googleフォーム(第94回で解説) |
| 3つのフォームの受付状態がオンになっているか確認する | ✅ 必須 | Googleフォーム(第89回参照) |
| チームシートに2031年以降の行が必要なら追加する | △ 2030年以降 | チームシート |
- チームシートは2026〜2030年分が設定済みで年度切り替え作業不要——タイムスタンプで自動的に年度別集計される
- フォームシートはそのまま使い続けるだけ——年度をまたいでデータが蓄積されていく
- 年度切り替えで人間がやることは主に年間(野手)・年間(投手)シートのアーカイブ保存
- アーカイブは「シートコピー→名前変更(例:年間(野手)_2026)→値のみ貼り付けで固定」の3ステップ
- データが増えたら参照範囲の行数上限を確認して必要なら広げる——COUNTAで行数を確認できる
- 2031年以降はチームシートに1行追加し、前年の式をコピーするだけで対応できる
次回予告
次回は「選手が増えた・抜けたときの対応方法」。新メンバーが加入したとき、または選手がチームを離れたときにどこを更新すればよいかを解説します。設定一覧・フォームの選択肢・年間シートのそれぞれで必要な作業と、過去データへの影響の考え方を整理します。
▶︎ 次回:【第94回】選手が増えた・抜けたときの対応方法



コメント