前回は「規定打席とは何か」という概念と、「試合数×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を組み合わせた条件分岐でランキング対象を絞り込む方法を解説します。


コメント