前回は「規定打席とは何か」という概念と、「試合数×1.8」という計算式の意味を解説しました。今回はその規定打席を関数で自動計算する仕組みを作ります。
「試合数が変わるたびに手で書き直すのは面倒」と思った方、まさにその通りです。チームシートの試合数と設定シートの係数を関数で参照させておけば、試合が増えるたびに規定打席は自動で更新されます。今回はその仕組みを一緒に組み立てていきましょう。
完成形のイメージ:何を自動化するのか
今回作る仕組みを一言で表すと、「2つのセルを参照して規定打席を自動計算する」です。
規定打席 = チームシートの試合数 × 設定シートの係数(1.8)
例えば、試合数が10から11に増えたとします。チームシートのデータさえ更新されれば、規定打席も自動で「18」→「19.8(切り捨てて19)」へと変わります。
この仕組みを作るために参照する場所は2つです。
| 参照する値 | 参照先シート | 役割 |
|---|---|---|
| 試合数 | チームシート(B列) | 試合が増えるたびに自動更新される |
| 係数(1.8) | 設定一覧シート(E列) | チームのルールに合わせて変更できる |
ステップ①:チームシートの試合数を確認する
チームシートには年度ごとの成績がまとまっています。例えばこんな管理表があったとして、現在のシーズン(2026年度)のデータが2行目に入っており、B列が試合数だとしましょう。
チームシート A列(年度) B列(試合数) C列(勝ち) … 2026 10 6 2027 0 0 … 通算 10 6
ここで参照したいのは「現在のシーズンの試合数」ですが、単純にB2と書いてしまうと「2026年度固定」になってしまいます。翌シーズンに入って試合数が2027年度の行(B3)に積まれ始めても、参照先がB2のままだとズレが生じてしまうのです。
チームシートの「通算」行(最下行の合計行)のB列を参照するのがシンプルで確実です。通算値は「今シーズンまでの合計試合数」になるため複数年運用では注意が必要ですが、単年運用・シーズンごとにシートをリセットする前提であれば、通算行の試合数がそのまま「今シーズンの試合数」として使えます。
より厳密にやるなら、VLOOKUP関数で「現在の年度」に対応する試合数を引っ張る方法があります(後述します)。
ステップ②:設定シートの係数を確認する
設定一覧シートのE2セルには係数「1.8」が入っています。年間シートからこのセルを参照しましょう。
設定一覧シート E列(規定打席の係数) 1.8 ← E2セル
係数を変えたくなったら、ここの「1.8」を書き直すだけです。それだけで、関連するすべての規定打席が自動で更新されます。
ステップ③:規定打席の計算式を作る
2つの参照先が確認できたので、計算式を組み立てていきます。年間シートの規定打席を表示したいセル(たとえばP1など、ヘッダー行の空き列)に、次の式を入力してください。
チームシートの「通算」行の試合数(例:B7)と、設定シートの係数を掛け合わせます。
=INT(チーム!B7 * 設定一覧!E2)
INT関数で小数点以下を切り捨てています。10試合×1.8=18.0であれば切り捨ての必要はありませんが、11試合×1.8=19.8→19のように端数が出るケースもあるため、念のためINT関数を入れておくと安心です。
複数年のデータを同じシートで管理していて、特定の年度の試合数だけを参照したい場合はVLOOKUPの出番です。「2026」という年度を検索キーにして、チームシートから対応する試合数を取得します。
=INT(VLOOKUP(2026, チーム!A:B, 2, FALSE) * 設定一覧!E2)
VLOOKUP(検索値, 範囲, 列番号, FALSE)という形です。「2026」の部分をYEAR(TODAY())などに置き換えれば、毎年自動で当年の試合数を参照することもできます。とはいえ、今シーズンだけの運用であればSTEP1のシンプルな方法で十分です。
サンプルの数字で動作を確認する
例えば、こんな管理表があったとして、10試合終了時点のデータでSTEP1の式を動かすと、次のように計算されます。
=INT(チーム!B7 * 設定一覧!E2) =INT(10 * 1.8) =INT(18.0) = 18
規定打席は 18打席 と自動計算されます。次の試合が終わって「11試合」に更新されれば、自動で 19打席(INT(11×1.8)=INT(19.8)=19)に切り替わります。
この規定打席の値は、次回(第53回)で作る「規定打席未満の選手をランキングから除外する」条件分岐で、そのまま判定基準として使われます。
設定シートの係数を変えると何が変わるか
例えば、設定一覧シートのE2(係数)を「1.8」から「2.0」に変えてみたとします。規定打席はどう変わるでしょうか。
| 係数 | 10試合時の規定打席 | 規定クリアの選手数 |
|---|---|---|
| 1.8(現在) | 18打席 | 8〜9名 |
| 2.0 | 20打席 | 7〜8名 |
| 1.5 | 15打席 | 9〜10名 |
係数を上げると基準が厳しくなり、ランキングに残る選手は減ります。逆に下げれば基準は緩くなり、より多くの選手がランキング対象になります。チームの試合数や運用方針に合わせて、設定シートのたった1箇所を変えるだけで調整できる。これがこの設計の強みです。
規定打席の計算式を別のセルにコピーする場面では、チームシートや設定シートへの参照が勝手にずれないよう絶対参照($マーク)で固定しておきましょう。
=INT(チーム!$B$7 * 設定一覧!$E$2)
$B$7・$E$2のように行・列の両方に$をつけると、コピーしても参照先が固定されます。
- 規定打席の自動計算式は
=INT(チーム!$B$7 * 設定一覧!$E$2)(INT関数で小数切り捨て) - 試合数はチームシートの通算行から参照、係数は設定一覧シートから参照する
- 複数年管理をする場合はVLOOKUPで年度を指定して試合数を取得できる
- 設定シートの係数を変えるだけで規定打席の基準を柔軟に調整できる
- 別セルにコピーするときは絶対参照($マーク)で参照先を固定する
次回予告
次回のテーマは「規定打席未満の選手をランキングから除外する」です。今回作った規定打席の値を使い、IFとANDを組み合わせた条件分岐でランキング対象を絞り込む方法を解説します。次はいよいよ、ランキング表そのものに手を入れていきましょう。



コメント