引数は[範囲]と[検索条件]の2つのみ

条件に一致するデータを数える作業は、業種を問わず基本ですよね。

定番のCOUNTIF(カウント・イフ)関数は、指定した単語に一致するデータの数を数えるだけでなく、特定の数値や日付を基準とした比較条件や、部分一致を条件として数えられることはご存じですか?

例えば、以下のような既存の会員リストから、指定した来店回数以上、特定の店舗以外などの条件を指定してデータを数えることが可能です。

COUNTIF関数でデータを数える。比較演算子、ワイルドカードで複雑な条件も指定可能

COUNTIF関数は比較条件や部分一致の条件で数えることも可能です。

COUNTIF関数の構文は以下の通り。引数[範囲]に指定したセル範囲で[検索条件]に一致するデータの数を求めます。

=COUNTIF範囲, 検索条件

指定する引数は[範囲]と[検索条件]の2つのみで扱いやすく、条件の指定方法も簡単です。隠れた名関数とも言われるCOUNTIF関数の使い方をおさらいしましょう。

引数[検索条件]で使える比較演算子とワイルドカード

COUNTIF関数の2つ目の引数[検索条件]では、比較演算子とワイルドカードを使うことができます。指定する条件と組み合わせて、「"」(ダブルクォーテーション)で囲みます。

引数[検索条件]に使える比較演算子

演算子 名称 使用例 結果
= 等しい "=5" 5と等しい
<> 等しくない "<>渋谷" 渋谷に等しくない
> より大きい ">5" 5より大きい
< より小さい "<5" 5より小さい
>= 以上 ">=5" 5以上
<= 以下 "<=5" 5以下

引数[検索条件]に使えるワイルドカード

ワイルドカード 意味 使用例 結果の例
* 任意の文字列 "新*" 新宿、新橋、新大久保
? 任意の1文字 "?田" 新田、本田、行田

ワイルドカードそのものを検索したいときは、「*」や「?」を「~」で挟んで、「"~?~"」と指定します。

特定の単語に一致するデータを数える

いちばん簡単な例です。指定した範囲から「男」の数を数えます。まずは「=COUNTIF(C8:C27,"男")」と入力してCOUNTIF関数の結果を確認しましょう。

        =COUNTIF(C8:C27,"男")
1COUNTIF関数を入力する

COUNTIF関数でデータを数える。比較演算子、ワイルドカードで複雑な条件も指定可能

セルC1に「=COUNTIF(C8:C27,"男")」と入力します。

2結果が表示された

COUNTIF関数でデータを数える。比較演算子、ワイルドカードで複雑な条件も指定可能

指定したセル範囲で「男」に一致するデータが数えられました。

続けて、入力した関数式を「=COUNTIF(C8:C27,E1)」と変更します。条件の文字列をセルに入力しておけば、2つ目の引数[検索条件]でセル参照できることを確認しましょう。セルE1に「男」と入力してあり、関数式の意味は先ほどと同じ、結果も同じです。

        =COUNTIF(C8:C27,E1)
3引数[検索条件]を修正する

COUNTIF関数でデータを数える。比較演算子、ワイルドカードで複雑な条件も指定可能

セルC1の関数式を「=COUNTIF(C8:C27,E1)」と修正します。

2結果が表示された

COUNTIF関数でデータを数える。比較演算子、ワイルドカードで複雑な条件も指定可能

セルE1に入力された「男」が参照され、条件に一致するデータが数えられました。先ほどと結果は同じです。

数値を比較した条件で数える

数値を比較した条件を指定してみます。ここでは、来店回数が5回以上の条件で数えます。関数式は「=COUNTIF(F8:F27,">=5")」です。比較演算子の「>」「<」「>=」「<=」は、対で考えると覚えやすいと思います。数値は比較演算子の右側に指定してください。「">2020/4/1"」のように、日付を指定することもできます。

        =COUNTIF(F8:F27,">=5")

COUNTIF関数でデータを数える。比較演算子、ワイルドカードで複雑な条件も指定可能

セルC2に「=COUNTIF(F8:F27,">=5")」と入力した結果です。

「等しくない」条件で数える

特定の値以外を数えたいときは、比較演算子の「<>」を使います。ここでは、渋谷以外の店舗を条件として数えます。関数式は「=COUNTIF(E8:E27,"<>渋谷")」です。数値は比較演算子の右側に指定します。

        =COUNTIF(E8:E27,"<>渋谷")

COUNTIF関数でデータを数える。比較演算子、ワイルドカードで複雑な条件も指定可能

セルC3に「=COUNTIF(E8:E27,"<>渋谷")」と入力した結果です。

文字数を指定した条件で数える

ここでは「新」で始まる2文字の文字列を条件として数えます。任意の1文字を表すワイルドカードの「?」を組み合わせて「=COUNTIF(E8:E27,"新?")」とします。なお「新*」とすれば、「新」で始まり、以降の文字数が不確定なデータを数えることができます。

        =COUNTIF(E8:E27,"新?")

COUNTIF関数でデータを数える。比較演算子、ワイルドカードで複雑な条件も指定可能

セルC4に「=COUNTIF(E8:E27,"新?")」と入力した結果です。

任意の文字で終わる条件で数える

特定の文字で終わるデータを数えたいときは、ワイルドカードの「*」を使います。ここでは「-S」で終わるデータを数えます。「=COUNTIF(A8:A27,"*-s")」とします。「新*」とすれば、「新」以降の文字数が不確定でも数えることができます。

文字列の途中にワイルドカードを挟んで、「"U*-s"」のような指定もできます。この場合「U」から始まり「-s」で終わるデータをすべて数えられます。

        =COUNTIF(A8:A27,"*-s")

COUNTIF関数でデータを数える。比較演算子、ワイルドカードで複雑な条件も指定可能

セルC5に「=COUNTIF(A8:A27,"*-s")」と入力した結果です。

「等しくない」条件や、文字数を指定した条件、任意の文字数での条件指定を知っておくと活用シーンが広がりますよ。比較演算子とワイルドカードは、ほかの関数でも応用できるので、定番のCOUNTIF関数でマスターしてください。