COUNTIF関数とは
COUNTIF関数とは、指定した条件に当てはまる数をカウントしてくれる関数になります。
別の記事でCOUNT関数をご紹介しましたが、こちらは指定した範囲に数値データが入っているセルの数をカウントしてくれますが、COUNTIF関数では条件を指定するだけで、数値だけでなく文字列でもカウントすることが可能です。
実務での使用頻度も高いので、ぜひこの機会に覚えておきましょう。
練習用ファイルを用意しましたので、ファイルを使用される方は下記よりダウンロードしてください。
基本的な使い方
練習用ファイルを使用して基本的な使い方を一緒にやってみましょう。
COUNTIF関数では、条件を指定するため記号を使用することが多いです。
ここでご紹介する記号は、他の関数でも同じ働きをするので覚えておきましょう。
~より大きい(~を含まない) | > |
~以上(~を含む) | >= |
~以下(を含む) | <= |
~より小さい(~を含まない) | < |
等しい | = |
~以外(~に等しくない) | <> |
0文字以上の任意の文字列(ワイルドカード) | * |
1文字の任意の文字列(ワイルドカード) | ? |
~より大きい/~より小さい
A~C列のデータから、E列に該当するものをCOUNTIF関数で出していきます。
練習用ファイルE列の一番最初「利用回数3回未満」からやってみましょう。
E2セルにCOUNTIF関数を入れていきましょう。
途中まで入力すると候補が上がってくるので、キーボードの矢印キーでCOUNTIFを選んだら Tab キーで使用する関数を確定します。

次に第1引数を入力します。
第1引数は範囲となり、第2引数で指定する条件を探しにいく範囲を指定します。
今回の条件は「利用回数」なので、利用回数が入力されているB列を選択します。

第1引数を指定したら、カンマ , を打って第2引数に進みます。
第2引数は検索条件で、第1引数で指定した範囲から探す条件を指定します。
今回は「3回未満」なので、「<3」となりますが、必ずダブルクオテーション “ で囲むというルールがあるので、忘れないようにしましょう。

第2引数を入力したら、最後に Enter を押せば完成です。
B列に3未満のセルは全部で5つあるので、E2セルのCOUNTIF関数の結果に「5」が返ってきました。


「~より大きい(~を含まない)」は「>」を使用します
=COUNTIF(検索範囲,"検索条件")
=COUNTIF(B:B,"<3")
~以上/~以下
練習用ファイルE列の2番目「利用回数5回以上」をやってみます。
E4セルにCOUNTIF関数を入れていきましょう。
途中まで入力すると候補が上がってくるので、キーボードの矢印キーでCOUNTIFを選んだら Tab キーで使用する関数を確定します。

次に第1引数を入力します。
第1引数は範囲となり、第2引数で指定する条件を探しにいく範囲を指定します。
今回の条件は「利用回数」なので、利用回数が入力されているB列を選択します。

第1引数を指定したら、カンマ , を打って第2引数に進みます。
第2引数は検索条件で、第1引数で指定した範囲から探す条件を指定します。
今回は「5回以上」なので、「>=」となりますが、必ずダブルクオテーション “ で囲むというルールがあるので、忘れないようにしましょう。

第2引数を入力したら、最後に Enter を押せば完成です。
B列に5以上のセルは全部で6つあるので、E2セルのCOUNTIF関数の結果に「6」が返ってきました。


「~以下(~を含む)」は「<=」を使用します
=COUNTIF(検索範囲,"検索条件")
=COUNTIF(B:B,">=5")
等しい
練習用ファイルE列の3番目「利用回数0回」をやってみます。
E6セルにCOUNTIF関数を入れていきましょう。
途中まで入力すると候補が上がってくるので、キーボードの矢印キーでCOUNTIFを選んだら Tab キーで使用する関数を確定します。

次に第1引数を入力します。
第1引数は範囲となり、第2引数で指定する条件を探しにいく範囲を指定します。
今回の条件は「利用回数」なので、利用回数が入力されているB列を選択します。

第1引数を指定したら、カンマ , を打って第2引数に進みます。
第2引数は検索条件で、第1引数で指定した範囲から探す条件を指定します。
「等しい」に関しては条件が1つなので、記号を省略して条件をダイレクトに指定することが可能です。
その場合、数値であればダブルクオテーション “ は不要ですが、値の場合はやはりダブルクオテーション “ で囲む必要があります。
今回は「0回」で数値で、ダブルクオテーション “ は不要なので直接0と打ちます。

もし記号を使用したいという場合は「=」となりますが、その場合は、必ずダブルクオテーション “ で囲むのを忘れないようにしましょう。

第2引数を入力したら、最後に Enter を押せば完成です。
B列に0のセルは全部で2つあるので、E2セルのCOUNTIF関数の結果に「2」が返ってきました。

=COUNTIF(検索範囲,検索条件)
=COUNTIF(B:B,0)/=COUNTIF(B:B,"=0")
~以外(~に等しくない)
練習用ファイルE列の4番目「利用回数0回以外」をやってみます。
E8セルにCOUNTIF関数を入れていきましょう。
途中まで入力すると候補が上がってくるので、キーボードの矢印キーでCOUNTIFを選んだら Tab キーで使用する関数を確定します。

次に第1引数を入力します。
第1引数は範囲となり、第2引数で指定する条件を探しにいく範囲を指定します。
今回も条件は「利用回数」で、これまでは利用回数が入力されているB列全部を選択していましたが、今回は「0以外」なので、B列全体を選択してしまうと、空白行もカウントしてしまうため、B2からデータが入っている範囲を選択するようにしましょう。

第1引数を指定したら、カンマ , を打って第2引数に進みます。
第2引数は検索条件で、第1引数で指定した範囲から探す条件を指定します。
今回は「0回以外(0に等しくない)」なので、「<>」となりますが、これも必ずダブルクオテーション “ で囲むというルールがあるので、忘れないようにしましょう。

第2引数を入力したら、最後に Enter を押せば完成です。

B列には全部で13のデータが入っていて、0のセルは全部で2つということは、「0以外」は「11」なのでCOUNTIF関数の結果に「11」が返ってきました。

「〇〇以外」の時に、他の関数と一緒に組むことで
列全体を選択しても正しい値を返すことも可能ですが
今回は基本編なので、まずは範囲を全て選択しましょう。
=COUNTIF(検索範囲,検索条件)
=COUNTIF(B2:B14,"<>0")
部分一致検索
0文字以上の部分一致
練習用ファイルE列の5番目「一括」をやってみます。
E10セルにCOUNTIF関数を入れていきましょう。
途中まで入力すると候補が上がってくるので、キーボードの矢印キーでCOUNTIFを選んだら Tab キーで使用する関数を確定します。

次に第1引数を入力します。
第1引数は範囲となり、第2引数で指定する条件を探しにいく範囲を指定します。
今回の条件は「一括」なので、検索しに行く範囲は支払方法が入力されているC列を選択します。

第1引数を指定したら、カンマ , を打って第2引数に進みます。
第2引数は検索条件で、第1引数で指定した範囲から探す条件を指定します。
今回は「一括」なのですが、よく見ると「現金一括」と「クレカ一括」があります。
ここでは現金・クレカ問わず、「一括」の数をカウントしたいので、ワイルドカードを使用して部分一致検索(あいまい検索)をします。

ワイルドカードの記事は準備中なので
簡単な説明を記載しておきます
「〇〇を含む」や「〇〇から始まる」などの任意の文字列を指定する際に使用(部分一致の文字列)
- 0文字以上の場合
任意の部分にアスタリスク * を入力
例1:「プリン*」→ 「プリン」「プリンパフェ」などプリンから始まる文字列に一致
例2:「*プリン*」→ 「プリン」「BIGプリンパフェ」など文字列の中にプリンがあれば一致
例3:「*プリン」→ 「プリン」「チョコプリン」などプリンで終わる文字列に一致 - 1文字の場合
任意の部分にクエスチョンマーク ? を入力
例1:「プリン?」→ 「プリン1」などプリンの後に任意の文字列が1文字ある文字列に一致
例2:「?プリン?」→ 「・プリン1」などプリンの前後に任意の文字列が1文字ずつあれば一致
例3:「?プリン」→ 「1プリン」などプリンの前に任意の文字列が1文字ある文字列に一致
一括を含むものは「現金」「クレカ」なので1文字ではないため、ここでは0文字以上の場合のアスタリスク * を使います。ダブルクオテーション “ を打ったら *一括 と入力し、最後にダブルクオテーション “ で閉じましょう。

第2引数を入力したら、最後に Enter を押せば完成です。
現金・クレカ問わず、支払方法が「一括」の数「7」が返ってきました。

=COUNTIF(検索範囲,"検索条件"(あいまい検索)
=COUNTIF(C:C,"*一括")

もう一つ、0文字以上の場合をやってみましょう。
今度は、練習用ファイル6番目「分割」をやってみます。
E12セルにCOUNTIF関数を入れていきましょう。
途中まで入力すると候補が上がってくるので、キーボードの矢印キーでCOUNTIFを選んだら Tab キーで使用する関数を確定します。

次に第1引数を入力します。
第1引数は範囲となり、第2引数で指定する条件を探しにいく範囲を指定します。
今回の条件は「分割」なので、検索しに行く範囲は支払方法が入力されているC列を選択します。

第1引数を指定したら、カンマ , を打って第2引数に進みます。
第2引数は検索条件で、第1引数で指定した範囲から探す条件を指定します。
先ほどは「一括で終わる値」だったので、「*一括」としましたが、今度はクレカ〇分割を拾ってきたいので「分割を含む値」という検索方法になります。この場合は、「*分割*」をダブルクオテーション “ で囲んであげましょう。

練習ファイルの内容であれば「クレカ*分割」でも良いですが
「現金〇分割」も出る可能性があるのなら「*分割*」としておくと安心です

第2引数を入力したら、最後に Enter を押せば完成です。

支払方法が「分割」の数「6」が返ってきました。

「〇〇で終わる」と「〇〇を含む」をご紹介しましたが
「〇〇で始まる」も同じ理屈で「〇〇*」と入力し
ダブルクオテーションで囲んであげると良いです
=COUNTIF(検索範囲,"検索条件"(あいまい検索)
=COUNTIF(C:C,"*分割*")
1文字のみの部分一致
練習用ファイルE列7番目「クレカ分割(10回未満)」をやってみます。
E14セルにCOUNTIF関数を入れていきましょう。
途中まで入力すると候補が上がってくるので、キーボードの矢印キーでCOUNTIFを選んだら Tab キーで使用する関数を確定します。

次に第1引数を入力します。
第1引数は範囲となり、第2引数で指定する条件を探しにいく範囲を指定します。
今回の条件は「クレカ分割(10回未満)」なので、検索範囲は支払方法が入力されているC列を選択します。

第1引数を指定したら、カンマ , を打って第2引数に進みます。
第2引数は検索条件で、第1引数で指定した範囲から探す条件を指定します。
今回の条件は「クレカ分割」の中でも「10回未満 = 1桁回数」となるので、ここでは1文字限定のワイルドカード、クエスチョンマーク ? を使用します。
ダブルクオーテーション “ を打ったら「クレカ?分割」と入力し、ダブルクオーテーション “ で閉じます。

第2引数を入力したら、最後に Enter を押せば完成です。
支払方法が「クレカ分割」のうち、分割回数10回未満の数「4」が返ってきました。

=COUNTIF(検索範囲,"検索条件"(あいまい検索)
=COUNTIF(C:C,"クレカ?分割")
まとめ
実務でも使用頻度の高いCOUNTIF関数の基本的な使い方をご紹介しました。
COUNTIF関数は応用で便利な使い方も可能なので、まずは基本をしっかり覚えておきましょう!
動画でもご紹介していますので、良ければ下記からご覧くださいね。

励みになります!高評価とチャンネル登録よろしくおねがいいたします