特定の文字列を含むセル数を数える方法
COUNTIF関数で、なんらかの文字列を含むセル数を数える方法を紹介します。
例えば「名簿の名前欄を見て、”天”の文字が含まれる人数をカウントする」といった場合に活用できる方法です。
※COUNTIF関数自体を知らない、自身が無いという方は、先に『COUNTIF関数の使い方』を参照することを推奨します!
検索条件に「特定の文字列を”含む”」と指定する方法
COUNTIF関数の検索条件に「特定の文字列を含むセル」を指定するには以下の通り記述します。
=COUNTIF(範囲,"*特定の文字列*“)
上記のように、検索したい文字列をアスタリスク「*」で囲います。このアスタリスクはワイルドカードと呼ばれる特殊な文字です。
ワイルドカードとは
ワイルドカードとは、プログラム等でコンピューターに指示を与える際に使用する特殊な文字のことです。
「*」は「任意の0文字以上の文字」という意味でコンピューターには理解されます。
簡単に言ってしまえば、「『*』の位置に何かしらの文字列が入っている可能性があるから、それを加味して指定した言葉を探せ」と命令するということです。
この「*」を、「*チェックしたい言葉*」のように、対象となる言葉の両端に置くことによって、「チェックしたい言葉の前後に、何らかの文字列、あるいは文章があるかもしれないが、それを探せ!」と指令できるのです。
それってつまり、「チェックしたい言葉が含まれているところを探せ!」ってことなのです。
「*」を利用する場合の構造

COUNTIF関数の検索条件内でワイルドカードを使用することで、特定の文字列を含むセルを数えられます。
上記のように「"*山*"」と記述すると、「『山』の前後に0文字以上の文字が並んでいるケースを探せ」とコンピューターに指示することになるため、以下のようなケースは全てカウントされます。
・山田:『山』の前に0文字の文字列、後に1文字の文字列
・小山:『山』の前に1文字の文字列、後に0文字の文字列
・御山村:『山の』前後に1文字の文字列
【注意】長い文章も文字列であり「*」に含まれる
今回は名簿を前提にした例を挙げましたが、「*」は任意の文字列であり、滅茶苦茶長い文章なども該当するので注意が必要です。
例えば上記のケースで、名前欄に間違って「山田くーん、楽太郎さんの座布団を全部持って行っちゃって」といった文章が入っていた場合、当然カウントされます。
入力手順
入力準備
今回は名簿を検索して、名前に「天」が含まれる人数をカウントしてみましょう。
最初に関数を入れるC2セルを選択してから、数式バーに数式を直入力します。

数式入力
まず「=COUNTIF(」とまで入力してください。
検索範囲は表内をドラッグ&ドロップすれば自動入力されます。

続けて、検索条件として「"*天*"」と入力し、丸カッコを閉じます。

これで数式は完成です!
完成

上図のように、天のつく人数が正確にカウントされました。
このように、特定の文字列を含むセルをカウントしたいときは、検索条件内でアスタリスクで囲うようにしてください。
=COUNTIF(A2:A8,"*天*“)
【応用1】特定の末尾を持つ文字列を条件指定する
次に、特定の末尾を持つ文字列を指定する場合を紹介します。
といっても方法は単純で、「"*特定の末尾"」と記載すればOKです。
特定の末尾の文字列の前にのみ、「*」=「0文字以上の任意の文字列」があると指定するのです。後ろのアスタリスクが無いので、末尾は必ず指定文字列となります。
実際にやってみたのが下のケースです。末尾が「天君」の人数をカウントしてみました。

=COUNTIF(A2:A8,"*天君")
【応用2】特定の文字列から始まるテキストを条件指定
同じように、特定の文字列から始まる場合も、ワイルドカードを使ってカウントすることが可能です。
「"特定の文字列*“」と記載すればOKです。 こうすれば、特定の文字列の後方に何かがくっついているケースが全て指定されます。
実際に「黄」から始まるセルをカウントしたのが以下です。

=COUNTIF(A2:A8,"黄*")
COUNTIF関数で、特定の文字列を含むセルをカウントする方法は以上です。
単純なテキスト完全一致を条件にできない場合、この方法を試してみてください!
ディスカッション
コメント一覧
まだ、コメントがありません