第79回 勝率の計算と引分の扱い方

関数・自動化

前回は試合数・勝ち・負け・引分・得点・失点の集計式を完成させました。今回はいよいよチームシートの最後の計算項目、F列「勝率」の式を作ります。

勝率の計算は一見シンプルですが、実は引分をどう扱うかという野球ならではのルールが隠れています。「勝ち÷試合数」ではないのです。さらに、シーズン開始前は勝ちも負けも0のため、式がそのままではエラーになってしまいます。この2つのポイントを、順番に丁寧に押さえていきましょう。

勝率の定義:引分は試合数から除く

まずは「勝率とは何か」から確認します。野球における勝率の定義は、次のとおりです。

📝 勝率の定義

勝率 = 勝ち ÷ (勝ち + 負け)

分母は「試合数」ではなく「勝ち+負け」です。引分は分母に含めません。

例えば「6勝2負2分」の勝率は、6÷(6+2)= 6÷8 = 0.750。これを試合数10で割ってしまうと 6÷10 = 0.600 となり、誤った数字になってしまいます。

引分は「勝ちでも負けでもない結果」なので、勝負が決まった試合の中だけで勝率を計算する——これが野球のルールです。引分が多いチームが不当に勝率を下げられてしまわないための、いわば救済措置のような設計になっています。

なぜ「試合数で割る」のが間違いなのか

具体例で確認してみましょう。AチームとBチーム、どちらが強いと言えるでしょうか。

⚠️ 引分を試合数に含めると正しく比較できない
チーム 引分 ❌ 勝÷試合数 ✅ 勝÷(勝+負)
Aチーム 6 2 2 6÷10 = 0.600 6÷8 = 0.750
Bチーム 6 4 0 6÷10 = 0.600 6÷10 = 0.600

「勝÷試合数」で計算すると、2チームはどちらも0.600の同率に見えます。しかしAチームは引分2つ分だけ「負けなかった」わけですから、正しく計算すればAチーム0.750・Bチーム0.600となり、Aチームのほうが実力は上だと言えます。

シーズン開始前のエラー問題

もうひとつ考えておきたいのが、シーズン開始前(勝ちも負けも0のとき)の動作です。

勝率の式は「勝ち ÷ (勝ち+負け)」ですが、勝ちも負けも0のときは分母が「0+0=0」になってしまいます。0で割る計算はスプレッドシート上ではエラー(#DIV/0!)として表示されます。第85回で詳しく解説しますが、このエラーがそのまま表に残っていると見栄えが悪いだけでなく、他の計算に影響を及ぼすこともあるため、あらかじめ手を打っておきましょう。

📝 IFで0除算を防ぐ

今回は IF関数 を使います。「もし(勝ち+負け)がゼロなら 0 を表示し、そうでなければ計算する」という条件分岐です。

=IF(勝ち + 負け = 0, 0, 勝ち / (勝ち + 負け))

一言でいえば「分母がゼロになりそうなときだけ 0 を返し、それ以外は普通に計算する」という書き方です。IFERRORと似ていますが、IFは「どの条件のときに何を返すか」を明示できるぶん、こうした「分母がゼロかどうか」のチェックとは相性がよい関数です。

チームシートの勝率式(F2セル)

チームシートではC列が勝ち、D列が負けです。F2セルに入れる式は、次のようになります。

✅ 勝率の完成式(F2セル)
=IF(C2+D2=0, 0, C2/(C2+D2))

式の意味を分解してみましょう。

  • C2+D2=0:勝ち(C2)と負け(D2)の合計がゼロかどうかを判定
  • 0:ゼロのときは 0 を表示(エラーを回避)
  • C2/(C2+D2):ゼロでないときは「勝ち ÷ (勝ち+負け)」を計算

引分(E2)はこの式のどこにも登場しません。引分が計算に使われていないことが、式を見るだけで一目でわかります。

サンプルデータで計算結果を確認してみましょう

例えば、2026年シーズンのサンプルデータとして「6勝2負2分」という成績があったとします。この数値を使って、実際に式を当てはめてみましょう。

✅ サンプルデータでの勝率計算
C2(勝ち) 6
D2(負け) 2
E2(引分) 2(計算には使わない)
C2+D2=0? 6+2 = 8 → ゼロではない → 計算を実行
勝率の計算 6 ÷ (6+2) = 6÷8 = 0.750

このサンプルの勝率は .750。10試合中6勝と聞くとまずまずの成績に見えますが、勝負がついた試合だけで見ると4分の3——引分を差し引いたぶん、さらに締まった数字だとわかります。

表示形式を「3桁」に整える

計算結果はそのままだと「0.75」と表示されますが、野球の成績表では慣習的に「.750」と小数点以下3桁で表示します。第54回で打率の表示形式を整えたのと、やり方は同じです。

STEP 1
F2セル(勝率)を選択する

F2セルをクリックして選択します。

STEP 2
「表示形式」→「数字」→「カスタム数値形式」を開く

メニューバーの「表示形式」→「数字」→「カスタム数値形式」の順に進みます。

STEP 3
入力欄に .000 と入力して「適用」

.000 と入力します(整数部分は表示せず、小数点以下3桁だけ表示する形式です)。「適用」ボタンを押すと、0.75 が .750 と表示されるようになります。

⚠️ 表示形式はセルの「見た目」だけを変える

表示形式を変えても、セルに入っている数値そのもの(0.75)は変わりません。式の計算結果はそのまま保たれ、変わるのはあくまで「見た目」だけです。打率のときと同じ考え方ですね。

サンプルデータで見る、チームシート完成イメージ

F列(勝率)が完成すると、チームシートの1行がすべて埋まります。ここまで使ってきたサンプル数値をもとに、完成した状態を確認してみましょう。

✅ サンプルデータでのチームシート完成状態
項目 サンプル値 使った関数
A 年度 2026 手入力
B 試合数 10 COUNTIFS
C 勝ち 6 COUNTIFS
D 負け 2 COUNTIFS
E 引分 2 COUNTIFS
F 勝率 .750 IF
G 得点 55 SUMIFS
H 失点 20 SUMIFS
I 打率 .313 IFERROR+SUM
J 本塁打 3 SUMIFS
K 盗塁 25 SUMIFS
L 防御率 2.96 IFERROR+SUMPRODUCT

これで、チームシートのすべての列が完成しました。実際に運用を始めれば、フォームからデータを入力するたびに、この行の数値が自動で更新されていきます。

✅ この記事のまとめ
  • 勝率の定義は 勝ち ÷ (勝ち+負け)——引分は分母に含めない
  • 「勝ち÷試合数」で計算すると引分が多いチームが不当に低く評価される——定義を正しく使うことが大切
  • シーズン開始前は分母がゼロになるため IFでゼロ除算を防ぐ=IF(C2+D2=0, 0, C2/(C2+D2))
  • 表示形式を .000 に設定すると、野球の慣習どおり .750 のように表示できる
  • サンプルデータ(6勝2負2分)の勝率は .750——引分2つが勝負にならなかった分、勝敗だけで見ると高い勝率をキープしている
  • これでチームシートの A〜L列がすべて完成——成績管理表の中核部分が出揃った

次回予告

次回は「チーム成績をグラフで年度比較する」。チームシートに年度ごとのデータが蓄積されてきたら、打率・防御率・勝率の推移を折れ線グラフで可視化してみましょう。「数字の変化」を目で見える形にすることで、チームの強化ポイントが一目でわかるようになります。

▶︎ 次回:【第80回】チーム成績をグラフで年度比較する

コメント

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