【エクセル】COUNTIF関数でワイルドカードを用いる場合の注意点 | 『たった1日で即戦力になるExcelの教科書』著者・吉田拳の原稿執筆下書き帳

『たった1日で即戦力になるExcelの教科書』著者・吉田拳の原稿執筆下書き帳

Excelの関数や機能をマスターするだけでは意味がない!じゃああとは何が必要なのか…22万部のベストセラーであり日本で一番売れているExcelの本、『たった一日で即戦力になるExcelの教科書』の著者、吉田拳の執筆原稿の下書き帳です。

【Excel】COUNTIF関数でワイルドカードを用いる場合の注意点


こんにちは。
すごい改善の吉田です。


COUNTIF関数の使い方はわかったが、これで部分一致はできないのか、というご質問をたまに頂きますが、もちろんできます。


例えば、A列に「東京」と書かれたセルがいくつあるかと数える関数は


=COUNTIF(A:A,"東京")


ですが、例えば、A列には「東京物語」や「東京03」や「東東京」や「西東京代表」などのように、「東京」という文字の前後に別の文字列が追加されているものもある場合。


このような場合にA列で「東京」が含まれているセルの数を数えたい、という場合。

つまり部分一致です。


この場合はワイルドカード記号であるアスタリスク(*)を使います。


=COUNTIF(A:A,"*東京*")


これで「東京」という文字列の部分一致によるカウントが可能になります。


一方、検索条件がセル参照の場合は若干注意が必要です。つまり、A列の中で、B1セルの値が含まれるセルはいくつあるか、と言ったような場合です。


この場合よくありがちなのが、上記のワイルドカードの例を参考に


=COUNTIF(A:A,"*B1*")


としてしまいがちですが、これでは純粋に「B1」という文字列を含むセルの数をカウントしてしまいます。


このように検索条件をセル参照にして部分一致カウントを行うには、


=COUNTIF(A:A,"*"&B1&"*")


とする必要があります。これでB1セルの値を検索条件とした部分一致カウントが可能になります。