第77回 チーム防御率の計算:投球回の合算に注意

関数・自動化

前回はチーム打率・本塁打・盗塁の集計式を作りました。今回はチーム防御率を計算してチームシートのL列を完成させます。

防御率の式自体は第61回で学んだ「自責点 × 9 ÷ 投球回」と同じです。チーム版で注意が必要なのは複数投手の投球回をどう合算するかです。1.1・1.2という小数表記をそのままSUMで足すとズレが生じます。第59回で解説したSUMPRODUCTの出番です。

なぜSUMで投球回を合算できないのか

まず問題を確認します。YAMADAさんの投球回は 1.1(1回1/3)と 4.0 の2試合です。

⚠️ SUMで投球回を合算すると何が起きるか
試合 投球回(記録) 実際の意味
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回で解説した投球回の合算式をおさらいします。

📝 投球回の合算式(第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セルに入れる式はこうなります。

✅ チーム防御率の完成式(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列(試合数・勝敗・勝率・得点・失点)のみです。

✅ チームシート(2026年行)の進捗
項目 状態
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回】勝率・得点・失点・引分の年度別集計

コメント

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