第40回 COUNTIFSで選手ごとに絞り込む

第33〜39回でCOUNTIFSの使い方を学んできました。今回はこれまで学んだ関数を整理して、年間(野手)シートの集計ロジック全体像をまとめます。

「各関数の意味はわかったけど、全体でどうつながるのかイメージしにくい」という方のために、選手ごとの集計がどのように機能するかを俯瞰して確認しましょう。

COUNTIFSによる選手別集計の仕組み

年間シートの集計は「フォームの回答(野手)シートから、指定した選手のデータだけを取り出す」処理です。この「選手の絞り込み」がCOUNTIFSの第一の役割です。

✅ 絞り込みのイメージ

フォームの回答シートには全選手のデータが混在しています。

行2:田中・三安・遊ゴ・中2…
行3:鈴木・中安・四球・右本…
行4:山田・遊ゴ・見三振・犠打…
行5:田中・左安・死球・中飛…
行6:鈴木・右2・遊ゴ・打なし…
…(試合が増えるほど行が増える)

COUNTIFSの「E列が田中」という条件で、田中選手の行(2行・5行…)だけを対象に打席結果をカウントします。

年間(野手)シートの集計項目一覧

これまでの回で学んだ内容を整理すると、年間シートに必要な集計項目はこうなります。

項目 集計方法 解説した回
打席数「打なし」以外をCOUNTIFS第38・39回
四球数「四球」をCOUNTIFS第39回
死球数「死球」をCOUNTIFS第39回
犠打数「犠打」をCOUNTIFS第39回
犠飛数「犠飛」をCOUNTIFS第39回
打数打席数−四球−死球−犠打−犠飛第38・39回
単打数「*安*」をCOUNTIFS第35・36回
二塁打数「*2*」をCOUNTIFS第37回
三塁打数「*3*」をCOUNTIFS第37回
本塁打数「*本*」をCOUNTIFS第37回
安打数単打+二塁打+三塁打+本塁打第36回
塁打数単打×1+二塁打×2+三塁打×3+本塁打×4第37回
打点SUMIFS(次回以降)第46回
盗塁SUMIFS(次回以降)第43回

COUNTIFSの2つの役割を整理する

ここまでの学習を振り返ると、COUNTIFSには2つの異なる役割があることがわかります。

役割①:選手を絞り込む

E列(選手名)が「田中」と一致する行だけを対象にする。これがないと全選手の打席結果が合算されてしまいます。

'フォームの回答(野手)'!E:E, A2 ← 選手名が田中の行だけ
役割②:特定の打席結果をカウントする

絞り込んだ行の中から、さらに条件を満たす打席結果だけをカウントする。

'フォームの回答(野手)'!G:G, "*安*" ← G列が*安*の打席をカウント

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

年間シートの2行目(田中選手)の関数が完成したら、3行目以降(他の選手)にコピーするだけで全選手の集計が完成します。

✅ コピーが機能する理由

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

📝 フォームの回答シートの参照は絶対参照にする

「’フォームの回答(野手)’!E:E」の部分はコピーしても変わってほしくないため、絶対参照(列全体を指定)で書いておきます。列全体(E:E)で指定すれば行番号がないため、自動的に絶対参照と同じ動きになります。

年間シートの完成イメージ

すべての関数が入った年間(野手)シートはこのような見た目になります。

選手名 打席 打数 安打 二塁打 三塁打 本塁打 四球 塁打
田中423814302425
鈴木383511211320
山田35329100312

フォームにデータが追加されるたびにこの数字が自動的に更新されます。

✅ この記事のまとめ
  • COUNTIFSの役割は①選手の絞り込みと②打席結果のカウントの2つ
  • 2行目の関数をコピーするだけで全選手の集計が完成する(相対参照の仕組み)
  • フォームの回答シートの参照は列全体(E:E)で指定して絶対参照と同じ動きにする
  • 打席数・四球・死球・犠打・犠飛・打数・安打・長打を別々の列で管理する
  • 試合が増えるたびに自動で数字が更新される仕組みが完成

次回予告

次回は「三振・四球・死球をそれぞれカウントする」。四球・死球はすでに除外ロジックでカウントしましたが、三振数も別途管理する方法と、空三振・見三振をまとめてカウントするワイルドカードの使い方を解説します。

▶︎ 次回:【第41回】三振・四球・死球をそれぞれカウントする

コメント

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