前回は「打席数」と「打数」の違いを整理しました。今回はいよいよ打数を正確に計算するための除外ロジックを、関数として組み立てていきます。
考え方はシンプルです。「打数 = 打席数 − 四球 − 死球 − 犠打 − 犠飛」。この式を、そのままCOUNTIFS関数に落とし込んでいきましょう。
除外ロジックの全体設計
年間(野手)シートに列を追加し、段階を踏んで計算していきます。
| 列 | 項目名 | 計算方法 |
|---|---|---|
| A列 | 選手名 | 手入力 |
| B列 | 打席数 | 「打なし」以外をカウント |
| C列 | 四球数 | 「四球」と一致をカウント |
| D列 | 死球数 | 「死球」と一致をカウント |
| E列 | 犠打数 | 「犠打」と一致をカウント |
| F列 | 犠飛数 | 「犠飛」と一致をカウント |
| G列 | 打数 | B2−C2−D2−E2−F2 |
四球・死球・犠打・犠飛をあえて別々の列で管理すると、「四球は何個あったか」「犠打は何回か」といった細かい記録もそのまま残せます。さらに、打数の数字がおかしいと感じたときも、どの列に原因があるのかすぐに突き止められます。
打席数の関数
まずは打席数から。「打なし」以外のすべての打席をカウントします。
=COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!G:G,"<>打なし")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!H:H,"<>打なし")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!I:I,"<>打なし")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!J:J,"<>打なし")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!K:K,"<>打なし")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!L:L,"<>打なし")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!M:M,"<>打なし")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!N:N,"<>打なし")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!O:O,"<>打なし")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!P:P,"<>打なし")
四球数の関数
次は四球数です。「四球」と完全一致する打席だけをカウントします。
=COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!G:G,"四球")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!H:H,"四球")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!I:I,"四球")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!J:J,"四球")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!K:K,"四球")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!L:L,"四球")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!M:M,"四球")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!N:N,"四球")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!O:O,"四球")
+COUNTIFS('フォームの回答(野手)'!E:E,A2,'フォームの回答(野手)'!P:P,"四球")
死球(D列)・犠打(E列)・犠飛(F列)も作り方は同じです。数式中の「四球」の部分を、それぞれ「死球」「犠打」「犠飛」に置き換えるだけで完成します。
打数の関数(最終形)
打席数・四球・死球・犠打・犠飛がそれぞれ別の列に揃えば、あとは引き算するだけで打数が求まります。
=B2-C2-D2-E2-F2
打席数(B2)から、四球(C2)・死球(D2)・犠打(E2)・犠飛(F2)を順に引くだけ。シンプルなぶん、あとから見直しても間違いに気づきやすい式になっています。
動作確認の方法
関数を入力したら、実際に正しく動いているかを次の手順で確かめておきましょう。
- 「打なし」の表記がフォームと完全に一致しているか(スペースや全角・半角のズレに注意)
- 「四球」「死球」「犠打」「犠飛」の表記がフォームと完全に一致しているか
- 関数の列指定(G〜P列)が、フォームの回答シートの列と噛み合っているか
- 選手名(A列)の表記が、フォームの選択肢と完全に一致しているか
敵失・野選は打数に含まれることを確認する
敵失・野選は除外リストに入っていません。そのため、何もしなくても自動的に打数へカウントされます。念のため確認しておきましょう。
| 記号 | 打席数 | 除外項目か | 打数 |
|---|---|---|---|
| 敵失 | ✅ | ❌(除外しない) | ✅ |
| 野選 | ✅ | ❌(除外しない) | ✅ |
敵失・野選は出塁こそできますが、安打としては扱われません。打数には数えられるため、結果として打率を押し下げる方向に働きます。これは野球のルールに沿った、正しい挙動です。
- 打席数・四球・死球・犠打・犠飛を別々の列でカウントする
- 打数は
=打席数 − 四球 − 死球 − 犠打 − 犠飛で求める - 除外項目はすべて完全一致のCOUNTIFSでよい(ワイルドカード不要)
- 敵失・野選は除外対象ではないため、打数に自動的にカウントされる
- テストデータを流し込んで、計算が正しいか必ず確認する
次回予告
次回のテーマは「COUNTIFSで選手ごとに絞り込む」です。これまで登場したCOUNTIFSの条件を整理しながら、年間シートで選手ごとの成績を正確に集計する仕組みを、全体像として一気にまとめていきます。
▶︎ 次回:【第40回】COUNTIFSで選手ごとに絞り込む



コメント