第43回 盗塁をフォームで記録してカウントする方法

関数・自動化

前回は犠打・犠飛・敵失・野選・併殺という特殊打席のカウント方法を学びました。今回は盗塁をフォームで記録して、選手ごとに集計する方法を解説します。

実は盗塁の管理は、これまでの「打席結果をCOUNTIFSでカウントする」方法とは少し違います。盗塁は打席結果ではなく「1試合に何個盗塁したか」という数値として記録するため、集計にはSUMIFS(サムイフエス)という新しい関数を使います。

なぜ盗塁は打席結果と別に管理するのか

「盗塁も打席結果の選択肢に加えればいいのでは?」と思う方もいるかもしれません。しかし盗塁は打席(打者として打つこと)ではなく、出塁した後の走塁行為です。

📝 盗塁が打席結果とは別になる理由

たとえば「安打で出塁した後に盗塁した」という場合、打席結果は「安打」で盗塁が1個という情報を同じ打席行に両方記録したいのです。打席結果の選択肢に「盗塁」を追加してしまうと、安打の記録が消えてしまいます。だから盗塁は数値として別の列に入力する設計にしています。

具体的には、フォームの回答シートを見ると次のような構造になっています。

項目 入力形式
E列名前選択肢(ドロップダウン)
G〜P列第一〜第十打席選択肢(三安・四球・遊ゴ…)
Q列打点数値入力(0・1・2・3…)
R列盗塁数値入力(0・1・2・3…)

打席結果は「記号を選ぶ」形式ですが、盗塁と打点は「数値を入力する」形式です。この違いが集計関数にも影響してきます。

COUNTIFSとSUMIFSの違い

これまで使ってきたCOUNTIFSは「条件に合う行を数える」関数でした。盗塁の集計には「条件に合う行の数値を合計する」SUMIFSを使います。

関数 何をするか 使う場面
COUNTIFS条件に合う行を数える安打数・三振数など「何回あったか」を集計するとき
SUMIFS条件に合う行の数値を合計する盗塁数・打点など「数値の合計」を集計するとき
📝 SUMIFSの引数の順番に注意

COUNTIFSは「条件範囲、条件」という順番でしたが、SUMIFSは最初に「合計する列」を指定してから「条件範囲、条件」を書きます。似ているようで少し違うので注意しましょう。

COUNTIFS(条件範囲1, 条件1, ...)
SUMIFS(合計範囲, 条件範囲1, 条件1, ...)

盗塁数の関数

SUMIFSの構造を確認したところで、実際の関数を作っていきましょう。

考え方① 合計したい列はどこか:盗塁数が入っているR列(盗塁の列)
考え方② 絞り込む条件は何か:E列(名前)が「A2(田中)」と一致する行だけ
考え方③ その行のR列の数値を合計する:試合ごとの盗塁数をすべて足し算
✅ 盗塁数の関数
=SUMIFS('フォームの回答(野手)'!R:R,'フォームの回答(野手)'!E:E,A2)
  • 'フォームの回答(野手)'!R:R:盗塁数が入っている列(合計したい列)
  • 'フォームの回答(野手)'!E:E:選手名が入っている列(絞り込む条件の列)
  • A2:年間シートのA2セル(田中選手の名前)

COUNTIFSと違い、打席列(G〜P列)を10行に渡って足し算する必要がありません。盗塁は1行に1つの数値として記録されているので、1行のSUMIFSだけで完結します。

実際のデータで確認してみよう

以下のフォーム回答シートのデータを使って確認します。TANAKAさんの盗塁数を集計してみましょう。

試合 主な打席結果 盗塁(数値入力)
第1試合三ゴ・敵失1
第2試合四球・左安・四球・敵失3
第3試合四球・右安1

SUMIFSはTANAKAさんの行(第1・第2・第3試合…)のR列の数値をすべて合計します。この3試合だけでも 1+3+1=5盗塁です。

✅ COUNTIFSとの比較イメージ
【COUNTIFSのイメージ:安打をカウント】
第1試合:敵失(*安*に該当しない)→ カウントしない
第2試合:左安(*安*に該当)→ カウント +1
         ↓ 「何回か」を数える

【SUMIFSのイメージ:盗塁を合計】
第1試合:盗塁欄に「1」→ 合計に +1
第2試合:盗塁欄に「3」→ 合計に +3
第3試合:盗塁欄に「1」→ 合計に +1
         ↓ 「数値の合計」を出す

打点の集計も同じ仕組みで作れる

打点もフォームで数値入力しているため、SUMIFSで同じように集計できます。盗塁のR列を打点のQ列に変えるだけです。

✅ 打点数の関数(参考)
=SUMIFS('フォームの回答(野手)'!Q:Q,'フォームの回答(野手)'!E:E,A2)

盗塁の関数のR列をQ列に変えるだけです。構造はまったく同じなので、コピーして列番号を修正するだけで完成します。

全選手に展開するコピーの仕組み

2行目(例:TANAKAさん)の関数が完成したら、3行目以降にコピーするだけで全選手の盗塁数が自動で集計されます。

📝 コピーが機能する理由(おさらい)

関数の中のA2(選手名セル)が相対参照になっているため、3行目にコピーすると自動的にA3に変わります。これにより田中→鈴木→山田…と選手ごとの集計が自動で切り替わります(第40回で学んだ内容と同じです)。

⚠️ フォームの盗塁欄が空白のときの注意

盗塁が0のとき、フォームの盗塁欄を「0」と入力する運用にしているか確認してください。空白のままだとSUMIFSは無視して計算するので結果は変わりませんが、試合ごとの記録をあとで確認するとき空白だと「入力忘れ」なのか「0」なのか区別できません。チームで「0のときは必ず0と入力する」というルールを決めておくと安心です。

✅ この記事のまとめ
  • 盗塁は打席結果(選択肢)ではなく、数値として別の列に記録する
  • 数値の合計を集計するときはSUMIFSを使う(COUNTIFSは「数える」、SUMIFSは「合計する」)
  • SUMIFSは「合計する列、条件範囲、条件」の順に書く
  • 打席列(G〜P列)を10行に渡って書く必要がなく、1行のSUMIFSで完結する
  • 打点の集計も同じ仕組みで、列をQ列に変えるだけで作れる

次回予告

次回は「試合数を選手ごとに自動カウントする方法」。出場した試合を重複なくカウントするCOUNTIFSの活用方法を解説します。規定打席の計算にも必要な数字なので、しっかり押さえておきましょう。

▶︎ 次回:【第44回】試合数を選手ごとに自動カウントする方法

コメント

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