前回はチーム打率・本塁打・盗塁の集計式を作りました。今回はチーム防御率を計算してチームシートのL列を完成させます。
防御率の式自体は第61回で学んだ「自責点 × 9 ÷ 投球回」と同じです。チーム版で注意が必要なのは複数投手の投球回をどう合算するかです。1.1・1.2という小数表記をそのままSUMで足すとズレが生じます。第59回で解説したSUMPRODUCTの出番です。
なぜSUMで投球回を合算できないのか
まず問題を確認します。YAMADAさんの投球回は 1.1(1回1/3)と 4.0 の2試合です。
| 試合 | 投球回(記録) | 実際の意味 |
|---|---|---|
| 1/25 | 1.1 | 1回と1/3(= 1.333…回) |
| 2/15 | 4.0 | 4回ちょうど(= 4.000回) |
❌ =SUM(1.1, 4.0) → 5.1(数値としての足し算)
✅ 正しい合計 → 1と1/3 + 4 = 5と1/3(表示:5.1回)
この例ではたまたま答えが同じに見えますが、「1.2 + 1.2」を合算したときに問題が顕著になります。SUM は 2.4 を返しますが、正しくは 2と2/3 + 2と2/3 = 5と1/3(5.1回)です。小数の「.1」「.2」は実際には「1/3」「2/3」を意味しているので、通常の足し算では計算が合わないのです。
正しい合算方法:SUMPRODUCT で変換してから足す
第59回で解説した投球回の合算式をおさらいします。
=SUMPRODUCT(INT(投球回列) + MOD(INT(投球回列*10), 10)/3)
| パーツ | 役割 |
|---|---|
INT(投球回列) |
整数部分(完全なイニング数)を取り出す。1.1 → 1 |
MOD(INT(投球回列*10), 10) |
小数部分(アウト数 0・1・2)を取り出す。1.1 → 1 |
/3 |
アウト数を3分の1イニングに変換。1 → 1/3 |
SUMPRODUCT(…) |
変換後の実数を全行分合計する |
この式でどの投手のどの試合の投球回も正確に実数(1/3単位)に変換してから足し合わせることができます。
チーム防御率の完成式
年間(投手)シートのI列=投球回、K列=自責点として、チームシートのL2セルに入れる式はこうなります。
=IFERROR(
SUM('年間(投手)'!K2:K20) * 9 /
SUMPRODUCT(INT('年間(投手)'!I2:I20) + MOD(INT('年間(投手)'!I2:I20*10),10)/3),
0)
式の読み方を分解します。
SUM('年間(投手)'!K2:K20):全投手の自責点合計* 9:9イニング換算するための掛け算(防御率の定義)SUMPRODUCT(INT(…) + MOD(…)/3):全投手の投球回を正しく実数に変換して合算IFERROR(…, 0):投球回が 0 のとき(シーズン開始前)のエラーを 0 に変換
個人防御率(第61回)との違いは、分子が「1人の自責点」から「SUM で全員の自責点合計」に、分母が「1人の投球回」から「SUMPRODUCT で全員の投球回合計」になっただけです。構造はまったく同じです。
実際のデータで計算結果を確認する
今シーズン(2026年)の投手成績を全登板分確認します。
| 試合日 | 投手 | 投球回 | 失点 | 自責点 |
|---|---|---|---|---|
| 1/25 | YAMADA | 1.1 | 4 | 4 |
| 2/1 | SUZUKI | 7.0 | 0 | 0 |
| 2/15 | YAMADA | 4.0 | 6 | 3 |
| 3/1 | OKADA | 2.0 | 0 | 0 |
| 3/8 | YAMAMOTO | 3.0 | 0 | 0 |
| 3/15 | SUZUKI | 4.0 | 1 | 1 |
| 3/29 | YAMAMOTO | 4.0 | 2 | 1 |
| 4/26 | YAMASAKI | 2.0 | 0 | 0 |
| チーム合計 | 27.1回 | 13 | 9 | |
合計投球回は 27と1/3 回(表示:27.1回)、自責点は 9 です。チーム防御率を計算します。
| チーム総自責点 | 9 |
| チーム総投球回(実数) | 27と1/3 = 27.333… |
| チーム防御率の計算 | 9 × 9 ÷ 27.333… = 81 ÷ 27.333… = 2.96 |
チーム防御率は 2.96。10試合で自責点9はなかなかの好成績です。SUZUKIさんの11回1自責点(ERA 0.82)とYAMAMOTOさんの7回1自責点(ERA 1.29)が大きく貢献しています。
個人別の防御率も並べて確認する
チーム防御率と合わせて、年間(投手)シートの個人成績も確認しておきます。
| 投手 | 投球回 | 失点 | 自責点 | 防御率 |
|---|---|---|---|---|
| SUZUKI | 11回 | 1 | 1 | 0.82 |
| YAMAMOTO | 7回 | 2 | 1 | 1.29 |
| OKADA | 2回 | 0 | 0 | 0.00 |
| YAMASAKI | 2回 | 0 | 0 | 0.00 |
| YAMADA | 5.1回 | 10 | 7 | 11.81 |
| チーム合計 | 27.1回 | 13 | 9 | 2.96 |
YAMADAさんが2試合で計5.1回ながら自責点7(ERA 11.81)と苦しんでいますが、他の4投手が自責点を最小限に抑えているためチーム防御率は 2.96 に収まっています。失点13に対して自責点9なのは、エラーがらみの失点が4つあったことを意味します。
「投球回」の列はフォームと年間で違う点に注意
チーム防御率の計算は年間(投手)シートの個人集計値を使うのが正しいやり方です。
フォーム(投手)シートから直接計算することも理論上は可能ですが、フォームは「試合ごとの生データ」なので同じ投手が複数行にわたっています。年間(投手)シートはすでに選手ごとに投球回・自責点を合算済みなので、こちらを参照するほうが式がシンプルで管理しやすくなります。
ただし年間(投手)シートの投球回列も1.1・1.2表記(個人の投球回合計)で格納されているため、SUMPRODUCT による変換は必ず必要です。
チームシートの進捗確認
今回でL列(防御率)が完成しました。残るはB〜H列(試合数・勝敗・勝率・得点・失点)のみです。
| 列 | 項目 | 状態 | 値 |
|---|---|---|---|
| A | 年度 | ✅ 完成 | 2026 |
| B〜H | 試合数・勝ち・負け・引分・勝率・得点・失点 | 🔜 第78〜79回 | — |
| I | 打率 | ✅ 完成 | .313 |
| J | 本塁打 | ✅ 完成 | 3 |
| K | 盗塁 | ✅ 完成 | 25 |
| L | 防御率 | ✅ 完成 | 2.96 |
- 投球回は1.1・1.2という小数表記で、そのままSUMで合算すると誤差が出る——「.1」は1/3、「.2」は2/3を意味するため
- 正しい合算には第59回のSUMPRODUCT式を使う:
SUMPRODUCT(INT(投球回) + MOD(INT(投球回×10),10)/3) - チーム防御率の式は
=IFERROR(SUM(自責点列) * 9 / SUMPRODUCT(…投球回変換…), 0) - 集計元は年間(投手)シート——フォームではなく個人集計済みのシートを使うと式がシンプルになる
- 今シーズンのチーム防御率は 2.96(自責点9・投球回27.1回)
- 残りはB〜H列(試合数・勝敗・勝率・得点・失点)のみ——次回で一気に完成させる
次回予告
次回は「勝率・得点・失点・引分の年度別集計」。フォーム(チーム成績)シートに蓄積された試合ごとのデータからCOUNTIFで勝ち・負け・引分を数え、SUMで得点・失点を合算します。今シーズンは6勝2負2分・得点60・失点23——これをチームシートのB〜H列に自動集計する式を一気に完成させます。
▶︎ 次回:【第78回】勝率・得点・失点・引分の年度別集計



コメント