大量の名簿の中から特定の条件に合致するセルが何人いつかを調べたいときなど、条件に合致するセルの数を数えたいときに便利なのがCOUNTIF関数です。
COUNTIF関数は指定する条件に合致するセルの数を調べることができる関数ですが、実務でも使う機会の非常に多い超重要関数の1つでもあります。
そこでこの記事ではExcel(エクセル)のCOUNTIF関数の使い方や他関数との組み合わせついて、どこよりも分かりやすく詳しく解説していきたいと思います。
エクセルのCOUNTIF関数とは
エクセルCOUNTIF関数とは「指定する範囲内で条件に合致するセルの数を調べるための関数」です。
つまり、COUNTIF関数を使うことで指定する条件に合致するセルが範囲内に何個あるかを数えることが可能です。
例えば下記のような表があったときに、平均点が70点以上の人が何人いるかを知りたいとします。
上記のようにシンプルなデータであれば手作業でカウントすることもできますが、データが大量であれば気が遠くなる作業ですし、ヒューマンエラーによるミスを起こしてしまうかもしれません。
このような特定の条件に当てはまるセルの数を調べたいとき、COUNTIF関数を使えば大量のデータであっても簡単に集計することができます。
エクセルのCOUNTIF関数の書式
エクセルのIF関数の書式がこちらです。
詳しくは後ほど引数別に解説しますが、COUNIF関数では「第1引数には対象範囲、第2引数には検索したい条件」を入力します。
例えば下記の表の中で”テストの平均点が70点以上ある人数”を調べたい場合、=COUNTIF(範囲,検索条件)の書式に当てはめると=COUNTIF(G3:G7,”>=70″)となります。
COUNTIF関数の第1引数の解説
COUNTIFの第1印数には、指定する条件を検索する対象のセル範囲を入力します。
先ほどのケースだと平均点が70点以上のセル数を調べたいので、検索対象の範囲は平均点が記載されているG3:G7を入力します。
ちなみにCOUNTIFの第1引数に指定する範囲は、連続するセルであれば複数の列を含んだ範囲を選択することも可能です。
一方で連続しないセルを飛び飛びで選択しても、エラーになってしまうのでご注意ください。
後ほどCOUNTIF関数の応用編パートで解説するね!
COUNTIF関数の第2引数の解説
COUNTIF関数の第2引数には、検索条件を指示していきます。
COUNTIF関数では以下の6つの論理式を基本的に使うことが多いです。
論理式 | 例 | 意味 |
= | A1=5 | A1と5が等しい |
<> | A1<>5 | A1と5が等しくない |
< | A1<5 | A1が5未満 |
<= | A1<=5 | A1が5以下 |
> | A1>5 | A1が5より大きい |
>= | A1>=5 | A1が5以上 |
70と等しいいセルの数を調べたい場合は、第2引数には“=70”という論理式を入力します。
70点以上のセルの数を調べたい場合は、第2引数には“>=70”という論理式を入力します。
70点未満のセルの数を調べたい場合は、第2引数には“<70”という論理式を入力します。
ちなみに論理式には“りんご”のように文字列を指定することもできるので、指定する文字が書かれたセルが何個あるかを数えるときにも役立ちます。
さらに後半の応用編で詳しく解説していきますが、上記6つの論理式以外にも「AかつB」や「AまたはB」などANDやORの概念や、「〇〇以上、△△未満」など複雑な条件を指定することも可能です。
エクセルのCOUNTIF関数についての注意事項
ここからはCOUNTIF関数の注意事項をご紹介します。
Microsoftの公式サイトにも掲載されていますが、以下の3点はCOUNTIF関数が正しく動作しないケースとなります。
- 256文字以上の文字列を検索
- 大文字と小文字が複合している
- フィルターがかけられている
256文字以上の文字列を検索している
COUNTIF関数で検索できる文字列は255字までとなっています。
そのため256文字以上の文字列を検索条件とした場合、#VALUE!などのエラーが表示されたり、間違った結果が表示されてしまいます。
200文字を超える文字列をCOUNTIF関数で調べる機会はあまりないと思いますが、長文を調べたい場合は255文字以下におさめるようにしておきましょう。
大文字と小文字が複合している
COUNTIF関数ではアルファベットの大文字と小文字を区別することができないので、大文字と小文字が混合している場合は両方をカウントするので注意が必要です。
例えば下記の表からCOUNTIF関数を使って「dog」のセル数を調べると、「dog」以外にも「DOG」や「Dog」もカウントされた値が表示されています
フィルターがかけられている
COUNTIF関数ではフィルターと連動して値を変動することはできないので注意が必要です。
下記の表の中で”りんご”と書かれたセルは2つあります。
エクセルの「フィルター機能」を使って、この表からりんごを非表示にしてみます。
フィルターでりんごを非表示にしていますが、COUNTIF関数はフィルターと連動できずに非表示のりんごをカウントしたままとなっています。
このようにCOUNTIF関数はフィルターと連動することは出来ないので、フィルターを使う際は注意が必要です。
エクセルのCOUNTIF関数の応用技
上記でご紹介したCOUNTIF関数は基本中の基本になるので、ここからはCOUNTIF関数の応用技をご紹介していきます。
エクセルのCOUNTIF関数で連続しないセルを検索範囲に設定する
COUNTIF関数の第1引数には検索する対象範囲を設定しますが、基本的には連続しない飛び飛びのセルを対象範囲に設定することはできません。
試しに連続しないセルを対象範囲に設定してみると、ご覧のようにCOUNTIF関数の引数が多いという理由でエラーとなってしまいます。
通常の手順だと上記のようにエラーになってしまうため、COUNTIF関数で連続しないセルを対象範囲にするには以下の手順で設定を行う必要があります。
今回は下記の表の中にある「B2~B4」と「C5~C7」のセル範囲の中から、「りんご」というセルが何個あるかを調べてみましょう。
上記のような条件でセル数を数えたい場合、結論から言うと=COUNTIF(B2:B4,”りんご”)+COUNTIF(C5:C7,”りんご”)という関数になります。
ご覧のようにCOUNTIF関数で連続しないセルを検索対象にするには、複数のCOUNTIF関数を足し合わせることで対応することが可能です。
1つめのCOUNTIF関数ではCOUNTIF(B2:B4,”りんご”)と入力し、B2~B4の連続するセルを検索範囲として指定します。
2つめのCOUNTIF関数ではCOUNTIF(C5:C7,”りんご”)と入力し、C5~C7の連続するセルを検索範囲として指定します。
上記2つのCOUNTIF関数の結果を+でつなぎ合わせることで、それぞれの集計結果を合計して表示することができます。
以上の手順で、COUNTIF関数で連続しないセルを検索範囲に設定することができました。
COUNTIF関数で「〇以上かつ△以下」の条件で検索する
ここではCOUNTIF関数で「〇以上かつ△以下」のように条件に幅を持って検索する方法をご紹介します。
今回は下記の表で平均点が70点以上かつ80点以下、つまり70~80点に当てはまるセルの数をCOUNTIF関数を使って数えてみましょう。
平均点が「〇以上かつ△以下」の条件を指示するためには、「〇以上のセル数から△以上のセル数を引く」ことで算出することができます。
今回のケースでは70点以上のセルが3つ、80点以上のセルが1つです。
計算式に当てはめると「3-1=2」となるので、70点~80点の間にあるセルの数は2つだと計算することができるのです。
上記の考え方にもとずいて関数を組むと、=COUNTIF(G3:G7,”>=70″)-COUNTIF(G3:G7,”>=80″)という式になります。
1つめのCOUNTIF関数では70点以上のセル数を調べています。
2つめのCOUNTIF関数では80点以上のセル数を調べています。
70点以上のセル数から80点以上のセル数を引くために、1つめのCOUNTIF関数と2つめのCOUNTIF関数の間にマイナスを挟みます。
以上の手順で、COUNTIF関数を使って〇以上△以下のセル数を数えることができます。
COUNTIF関数で「AまたはB」とORで検索する方法
ここではCOUNTIF関数で「AまたはB」のようにORを条件に使って検索する方法をご紹介します。
今回は下記の表の中から「”りんご”or”みかん”」という条件に合致するセルを数えてみましょう。
COUNTIF関数で「A or B」の条件で指示したい場合は、「Aという条件のCOUNTIF関数とBという条件のCOUNTIF関数を足し合わせる」ことで算出します。
今回のケースではりんごと書かれたセルが3つ、みかんと書かれたセルが1つです。
計算式に当てはめると「3+1=4」となるので、”りんご”or”みかん”の条件に合致するセルの数は4つと計算することができます。
上記の考え方にもとずいて関数を組むと、=COUNTIF(B2:B7,”りんご”)+COUNTIF(B2:B7,”みかん”)というなります。
1つめのCOUNTIF関数では“りんご”と書かれたセル数を調べています。
2つめのCOUNTIF関数では“みかん”のセル数を調べています。
1つめのCOUNTIF関数と2つめのCOUNTIF関数の間に+を挟みます。
以上の手順で、COUNTIF関数を使ってORの条件でセル数を数えることができました。
COUNTIF関数で「AかつB」とANDで検索する方法
ここではCOUNTIF関数で「AかつB」のようにANDを条件に使って検索する方法をご紹介します。
今回は下記の表の中から「”りんご”かつ”みかん”」という条件に合致するセルを数えてみましょう。
上記のように複数のAかつBのような複数の条件で検索したい場合は、COUNTIF関数ではなくCOUNTIFS関数を使う必要があります。
COUNTIFS関数とはCOUNTIF関数がさらに進化した関数で、複数の検索範囲や検索条件を指定することができます。
COUNTIFS関数の書式は以下の通りです。
このようにCOUNTIFS関数では複数の検索範囲や検索条件を指定することができ、それぞれの条件はAかつBのようにANDの関係でつながれます。
今回のケースではりんごとみかんの組み合わせのセルの数を調べたいので、関数にすると=COUNTIF(B2:B7,”りんご”)+COUNTIF(B2:B7,”みかん”)となります。
第1引数と第2引数ではB2~B7の間で”りんご”と書かれているセルを
第3引数と第4引数ではC3~C7の間で”みかん”と書かれているセルを
COUNTIFS関数では複数の条件をANDで結ぶので、以上の手順で”りんご”かつ”みかん”に合致するセルを数えることができます。
COUNTIF関数で特定の文字列以外を検索する方法
ここではCOUNTIF関数で特定の文字列以外のセルの数を検索する方法をご紹介します。
今回はCOUNTIF関数を使って、下記の表の中から「”りんご”以外のセル」という条件に合致するセルの数を調べてみましょう。
特定の文字列以外のセルの数を調べたい場合、COUNTIF関数の第2引数に“<>〇〇〇”という形で条件を記載します。
<>は≠を意味する論理式ですので、「<>〇〇〇」とすれば「〇〇〇以外」という条件を指示することができます。
今回のケースであればりんご以外のセルを数えたいので、関数にすると=COUNTIF(B2:B7,”<>りんご”)となります。
COUNTIF関数で空白のセルを検索する方法
ここではCOUNTIF関数で空白セルの数を検索する方法をご紹介します。
今回はCOUNTIF関数を使って、下記の表の中から「空白」という条件に合致するセルの数を調べてみましょう。
空白のセルの数を調べたい場合、COUNTIF関数の第2引数に“”と入力するだけです。
今回のケースであれば、=COUNTIF(B2:B7,””)という関数になります
COUNTIF関数で空白以外のセルを検索する方法
ここではCOUNTIF関数で空白以外のセルの数を検索する方法をご紹介します。
今回はCOUNTIF関数を使って、下記の表の中から「空白以外」という条件に合致するセルの数を調べてみましょう。
空白以外のセルの数を調べたい場合、COUNTIF関数の第2引数に“<>”と入力するだけです。
<>は≠を意味する論理式ですので、「<>」とすれば「空白以外」という条件を指示することができます。
今回のケースであれば、=COUNTIF(B2:B9,”<>”)という関数になります
COUNTIF関数でワイルドカードを使って検索する方法
ここではCOUNTIF関数でワイルドカードを使って検索する方法をご紹介します。
「“山”から始まる文字」や「“川”を含む文字」など、特定の文字列ではない曖昧な条件で検索したいときもあるはずです。
上記のような曖昧な条件で検索する場合、エクセルでは「ワイルドカード」という機能を活用します。
エクセルで使えるワイルドカードの一覧と使い方がこちらです。
ワイルドカード | 意味 | 例 |
*〇* | 〇を含む文字 | “山” (富士山・山口県・登山道) |
〇* | 〇から始まる文字 | 山* (山口県・山梨県・山登り) |
*〇 | 〇で終わる文字 | *山 (富士山・登山) |
?〇? | 〇が真ん中にある3文字 | ?山? (富山県・福山市・登山靴) |
例えば下記の表で「”ん”が含まれる文字列」という条件で調べたい場合は、COUNTIF関数の第2引数には“*ん*”と入力するのが正解になります。
エクセルのCOUNTIF関数の実践問題
ここからは実際の実務を想定して、COUNTIF関数について実践形式の練習問題を出していきたいと思います。
COUNTIF関数でアンケートの結果を集計する
仕事でアンケートをとる機会は業種を問わずあると思いますが、エクセルをベースとしたアンケート結果を集計するときにもCOUNTIF関数は役立ちます。
ここではCOUNTIF関数を使ってアンケート結果を集計するシーンを想定して、下記の練習問題に挑戦してみましょう。

今回のケースでは「年代」と「アンケート結果」という2つの要素をANDで組み合わせて指定したいため、複数の要素をANDで指定することができるCOUNTIFS関数を使うのがポイントです。
COUNTIFS関数の第1引数と第2引数では”年代”をカウントする指示を、第3引数と第4引数では”アンケート結果”をカウントする指示を設定しています。
ちなみにF3のセルに=COUNTIFS($B$3:$B$12,$E3,$C$3:$C$12,F$2)と入力すれば、あとはオートフィル機能で他のセルにもペーストすることが可能です。
検索対象とするセル範囲はすべて共通なので、オートフィルで指定範囲が変動しないように第1引数は$B$3:$B$12第3引数は$C$3:$C$12と列・行ともに$で固定しています。
第2引数は表側に書かれている年代を指定したいため、$E3と列のみ$で固定させています。
第4引数では表頭に書かれているアンケート結果を指定したいため、F$2と行のみ$で固定させています。