ExcelエクセルのCOUNTIF(カウントイフ)関数の使い方

今日は、Excel(エクセル)でのCOUNTIF関数の基本的な4つの使い方 を解説していきます。

COUNTIF関数の基本の使い方

  1. セル番号を指定してカウントする
  2. 文字列を指定してカウントする(文字列の完全一致)
  3. 文字列を部分一致で指定してカウントする(ワイルドカードを使う)
  4. 論理式を使った条件指定でカウントする

COUNTIF関数の使い方

まず、COUNTIFとはなんぞやという話から簡単に説明していきます。

COUNTIF関数とは

COUNTIF関数(カウントイフ関数)は、
指定した1つの条件に一致するセルの個数を数える関数です。

COUNT関数となにが違うの?
というと、

COUNT関数は数値を含むセルの個数を数える関数ですが、COUNTIF関数はそれに『 IF(もし○○ならば・・・)』という要素を加えて『 もし○○と一致するデータならばカウントする 』という処理をしてくれます。

COUNT関数は、検索範囲内で数値の入っているセルの個数を数える関数:COUNTIF関数は検索範囲内で指定した一つの条件に一致するセルの個数を数える関数:COUNTIFS関数は検索範囲内で指定した一つ以上の複数条件に一致するセルの個数を数える関数

例えば、COUNTIFではこんなシチュエーションで役立ちます。

  • 「合格」という文字に一致するデータの個数を数えたい
  • 「東京都」という文字を含むデータの個数を数えたい
  • 80点以上とっている人の人数を数えたい

公式はこんな感じ。

COUNTIF関数の公式

=COUNTIF( 範囲,検索条件)

範囲の中で条件に合うセルの個数を返してくれる関数


範囲:検索をかけたい範囲

検索条件:検索したい条件

※検索条件には、文字列・数値・数式・比較演算式を使用できるが文字列で記述する場合には「"」で囲む必要がある

この記事を見ている人におすすめ

ここからはCOUNTIF関数の具体的な使い方です。

セル番号で指定してカウントする

まずは、COUNTIFの検索条件を「セル番号で指定して一致するデータ個数を数える」パターンです。

セル番号で指定する

例:野球選手一覧からポジションのそれぞれの人数をカウントしたい(セルF4~F6に表示したい)
セル番号指定でCOUNTIFする例

セルF4にCOUNTIF関数を入力していく(F5:F6はあとで関数コピーする)

範囲:「$B$4:$B$11」
検索したい範囲はB4:B11 ですが関数コピーをしたときに範囲ずらしたくないので絶対参照にして「$B$4:$B$11」とする

検索条件:「E4」
セルE4に入力している文字で検索したいので「E4」とする

これらを公式にあてはめると
=COUNTIF($B$4:$B$11,E4) となる
公式に引数を入力する

セル番号の内容に一致するセルの個数がカウントされる
指定した条件のセル個数が算出された



ここからさらに、セルF5:F6も計算するにはセルF4の関数をオートフィルでコピーすればOK
関数をオートフィルコピー

F5:F6にも条件に一致するデータが入力されましたね
COUNTIF関数でデータの個数を数える方法(指定した条件ごとの人数がわかった)_

 セル番号指定のメリットは連動性
指定したセル内の内容を変更すれば関数式内の検索条件も自動的に変わり常に連動したデータに切り替わってくれるので便利です   しかし逆に言えば、うっかりセルをズラしたりしてしまうとデータも勝手に変わってしまうので注意が必要。

文字列を指定してカウントする(文字列の完全一致)

次はCOUNTIFの検索条件を「文字列で指定して一致(完全一致)するデータ個数を数える」パターンです。

文字列(完全一致)で指定する

例:野球選手一覧からポジションのそれぞれの人数をカウントしたい(セルF4~F6に表示したい)
COUNTIF関数で文字列に完全一致するデータの個数を数える方法(例のイメージ)_

セルF4にCOUNTIF関数を入力していく(検索条件にはセル番号ではなく文字列で「"投手"」と記述)

※関数式内で文字列を指定するときは両端を「"」で囲む
文字列で指定してCOUNTIFする例

指定した文字列に一致(完全一致)するセルの個数がカウントされる文字列に一致したセル個数を算出



F5:F6も算出したい場合はセルF4の関数式をオートフィルでコピーして検索条件だけ「"内野手"」「"外野手"」に変えればOK
関数式をコピーして検索条件のみ変更

文字列指定のメリットはスマートな見た目
直接、関数式内に文字列を組み込んで指定することでセル番号指定のように条件入力されたセルを設けなくても計算ができる点  セル1つさえあれば対応できる方法なので見た目がスマートです

話題のExcelベストセラー本(Amazonレビュー:

文字列を部分一致で指定してカウントする(ワイルドカードを使った方法)

今度はCOUNTIFの検索条件を「文字列の部分一致指定でデータ個数を数える」パターンです。

部分一致で指定するにはワイルドカード(※ワイルドカードとは?)と使っていきます。

文字列(部分一致)で指定する

例:関東の市区町村一覧でセルC4に入力している都県のデータをカウントしたい
文字列の部分一致指定でCOUNTIFする例

セルD4にCOUNTIF関数を入力していく(C4に入力された文字の部分一致で指定する)

範囲:「$B$4:$B$11」
関数をコピーしたときに範囲をずらしたくないので絶対参照にする

検索条件:「C4&"*"」もしくは「"神奈川県*"」
セルC4に入力されている市区町村の前方(県名部分)だけを一致条件として指定したいので、ワイルドカードを使って「C4&"*"」とする

ワイルドカードの使い方はこちら

それらを公式にあてはめると
=COUNTIF(A4:A14,C4&"*") 
検索条件にワイルドカードを使って関数式を入力

セルD4に指定条件に部分一致したセルの個数がカウントされる
指定した検索条件に部分一致したデータの個数を算出

ワイルドカードを使わずに検索条件を「C4」とすると「神奈川県」に完全一致するセル(=神奈川県とのみ入力されているセル)は存在しないため戻り値は「0」となってしまいます。

ここでは「神奈川県○○」というデータをカウントしたいのでワイルドカードを使って部分一致させる記述をしているわけですね。

論理式を使って指定してカウントする方法

最後に、COUNTIFS関数の検索条件を「論理式で指定して一致するデータの個数を数える」パターンです。

例えば、以下のように「○○以上」「○○以下」「○○より大きい」「○○より小さい」など条件付きの数値データのセル個数をカウントしたいときは、論理式を使います。

例)点数が60点以上の人数を数えたい
例)金額が1000円未満の商品数を数えたい

論理式には、比較演算子である等号「=」と不等号「>」「<」を使います。これらの等号不等号を組み合わせることで主に6つのパターンの意味合いを示すことができます。

式パターン示す意味合い
> 1010を超える(より大きい)
< 1010未満(より小さい)
>=1010以上
<=1010以下
=1010と等しい
<>1010ではない
記述の順番と「"」付けに注意
  • 記述するときの等号不等号の位置に注意
    数字より等号不等号を先に記述するのがルールで、順番を間違うときちんと関数計算ができません

    ✕「60=<」  〇「>=60」

  • 論理式を「"」で囲み忘れない
    関数式内で論理式を記述するときは、文字列扱いになるので両端を「"」で囲みましょう

それでは、論理式を使った方法の手順です。

論理式を使ってCOUNTIFする

例:点数を60点以上をとっている人の人数をカウントしたい
論理式でCOUNTIFする例

セルD4にCOUNTIF関数を入力していく

範囲:「B4:B10」
検索条件:「">=60"」
" 60点以上"という条件にしたいので「>=60」→ さらに論理式は文字列扱いになるため「”」で囲んで「">=60"」とする

それらを公式にあてはめると
=COUNTIF(B4:B10,">=60")
検索条件に論理式を指定する

これで指定した論理式に一致するセルの個数が算出される
論理式に一致するデータ個数が算出

等号不等号の位置と論理式を「”」で囲むことさえ気をつければ難しいことはありません!論理式はCOUNTIFでけではなく、VLOOKUPやSUMIFなどにも使うことができます。

話題のExcelベストセラー本(Amazonレビュー:

以上、今日はCOUNTIF関数の使い方を解説しました。

条件付きでデータの個数を数えたい場面で役立つので、状況に応じて今日紹介したパターンに合うものを使ってみてくださいね。


2つ以上の条件に一致するデータの個数をカウントしたいなら
➔ 「COUNTIFS関数」を使いましょう

「○○以上かつ○○以下」などのように2つ以上の論理式で条件づけることもできます。