前回はCOUNTIF関数の基本形を学びました。今回のテーマはワイルドカード(*)です。この1文字を使いこなせるかどうかで、集計の自由度が大きく変わってきます。
ワイルドカードは、「三安」「中安」「右安」といった似た記号を1つの条件でまとめてカウントするために欠かせない仕組みです。この連載の中でも、特に重要なテクニックの1つといえます。
ワイルドカードとは何か
ワイルドカードとは、「何が入っていてもOK」を意味する特殊な文字のことです。Googleスプレッドシートでは*(アスタリスク)が、このワイルドカードとして使えます。
*は「どんな文字が、何文字続いてもOK」という意味の記号です。
"*安*"なら「安の前に何があってもOK、後に何があってもOK」という条件になるので
→「左安」「中安」「右安」「三安」「一安」が、すべてマッチします。
ワイルドカードの使い方パターン
| 書き方 | 意味 | マッチする例 | マッチしない例 |
|---|---|---|---|
"*安*" | 「安」を含む | 左安・中安・三安 | 遊ゴ・四球・中2 |
"安*" | 「安」で始まる | 安打(もし使う場合) | 左安・中安(安が先頭でない) |
"*安" | 「安」で終わる | 左安・中安・三安 | 安打(安が末尾でない) |
"*ゴ*" | 「ゴ」を含む | 遊ゴ・三ゴ・二ゴ | 左飛・三安・四球 |
記号の前後に何がついても確実にマッチさせるため、この連載では「*安*」「*2*」「*本*」のように、前後両方にワイルドカードをつける形を基本形とします。
安打系の記号をワイルドカードでカウントする
ヒットに関する記号には、それぞれ「安」「2」「3」「本」というキーワードが含まれています。ここからは、ワイルドカードを使ってひとつずつカウントしていきましょう。
単打(安打)のカウント
=COUNTIF(G2:P2, "*安*")
「左安・中安・右安・三安・一安」が、すべてカウントされます。
二塁打のカウント
=COUNTIF(G2:P2, "*2*")
「左2・中2・右2」がカウントされます。
三塁打のカウント
=COUNTIF(G2:P2, "*3*")
「左3・中3・右3」がカウントされます。
本塁打のカウント
=COUNTIF(G2:P2, "*本*")
「左本・中本・右本」がカウントされます。
安打の総数を1つの式で求める
打率を計算するときに必要な「安打の総数」は、単打・二塁打・三塁打・本塁打をすべて合計した数です。先ほどの4つのCOUNTIFを、そのまま足し算すれば求められます。
=COUNTIF(G2:P2,"*安*")+COUNTIF(G2:P2,"*2*")+COUNTIF(G2:P2,"*3*")+COUNTIF(G2:P2,"*本*")
例えば、こんな管理表があったとします。G2〜P2に「三安・遊ゴ・中2・四球・打なし×6」が入っている場合:
*安*:三安が1つ → 1
*2*:中2が1つ → 1
*3*:該当なし → 0
*本*:該当なし → 0
合計:2(安打の総数)
ワイルドカードを使う際の注意点
"*2*"は「2という文字を含む」セルすべてにマッチします。打席列(G〜P列)には打席結果の記号しか入力しない前提なので、この連載の設計であれば心配いりません。ただし、将来シートの構成を変えるときは、数字を含む別のデータが紛れ込まないよう注意しましょう。
*(アスタリスク)は「何が入っていてもOK」を意味するワイルドカード"*安*"は「安を含む」→ 左安・中安・右安・三安・一安がマッチ- 単打:
"*安*"、二塁打:"*2*"、三塁打:"*3*"、本塁打:"*本*" - 安打の総数は、4つのCOUNTIFを足し算して求める
- 打席列には打席結果の記号しか入れないよう、列の役割を明確に分けておく
次回予告
次回は「『安打』を含む記号をすべてカウントする」がテーマです。今回学んだワイルドカードを年間(野手)シートに実際に適用し、選手ごとの安打数を自動集計する関数を完成させましょう。



コメント