【Excel】
データの個数を
調べたい時はこれ!
COUNTIF関数の紹介
BtoC, Excel, PC, Windows, ツール, 紹介
以前のブログで、まとめたデータを整理する方法や、多くのデータの中から必要なものを探して表示する機能などを紹介してきました。
そのようにして、特定のデータを見つけることができるようになりましたが、特定の条件を満たしたデータが表の中にどれくらい存在しているのか?という “データの個数” を調べたいということもあると思います。
そんな時に便利な機能が「COUNTIF関数」になります。
今回はその「COUNTIF関数」について詳しく説明していきたいと思います。
目次
COUNTIF関数とは
「COUNTIF関数」とは “COUNT” と “IF” という言葉が組み合わさっている通り、条件に合ったデータの個数を数えることができる関数になります。
COUNTIF関数の使い方
COUNTIF関数の構文
COUNTIF関数を使う際は、データの個数を入力したいセルを選択して
「=COUNTIF(範囲, 検索条件)」
と入力します。
「範囲」は言葉通り、データの個数を調べたい範囲を設定する項目です。
「検索条件」は以前 IF関数でも紹介した “論理式” と同じで、そこに入力された条件を満たすか満たさないかで、カウントするか判断されます。
「検索条件」に文字列を使う場合は、その文字列と一致するかという条件になります。
また、「検索条件」に 60以上 (>=60) のような式を用いる場合は「””」で囲む必要がありますので注意してください
COUNTIF関数を使う手順
では実際に、COUNTIF関数の使い方を例を用いて紹介します。
今回は、「番号」「名前」「点数」「判定」のデータを入力した表と、「合格者数」「合格率」を入力する欄を用意しました。
「判定」の項目はIF関数を使ってすでに入力してあります。

こちらの表から「COUNTIF関数」を使って合格者が何人いるのか、加えて合格率が何%なのか?を調べたいと思います。
実際の手順は以下の通りです。
- 1. 合格者を入力するセル(G2)を選択し、「=COUNTIF()」と入力
- 2. データの個数を調べる範囲(D2:D21)を選択し入力
- 3. 検索条件として合格と入力されているセル(G5)を選択し入力




これで合格者数が求められます。
また、今回は「判定」の項目に “合格” と入力されているかを条件にしましたが、IF関数で使っているように「範囲」を点数の列に設定して “70点以上” かどうかで調べることも可能です。
それでは、続いて合格率も調べます。
合格率は、入力するセルに「=合格者数 / 人数」の式を入力することで求められますが、人数に関しては「COUNTA関数」という関数を使います。
こちらは、COUNTIF関数と同様にデータの個数を調べることができますが、条件などは設定せずに選択した範囲のデータの個数を表示してくれます。
使い方も、「範囲」を選択するだけなので覚えやすいと思います。
- 4. 合格率を入力するセルに「=合格者数(G2)」を入力
- 5. 続けて “合格” “不合格” 含めた数「COUNTA(D2:D21)」で合格者数を割る
- 6. そのままだと少数で表示されるため、セルの書式設定からパーセンテージを選択する。





以上で合格率も求めることができました。
今回、人数を調べる範囲として「判定」列を使用しましたが、データの個数が同じであれば他の列を使用したり、直接数値を入力しても問題はありません。
重複しているかどうかの判定
今説明した例では「合格者」にあたるデータの個数を求めましたが、重複している内容がないかを調べるということもできます。
どのようにそれを求めるのかは先ほどの表を使って説明します。

まず先ほどの表に「重複数」という項目を新たに追加しました。その表の中にデータがいくつあるのかを表示する欄になるので、重複していた場合は、2以上の数値が表示されます。
手順は以下の通りです。
- 1. 重複数を表示するセル(E2)を選択してCOUNTIF関数を入力
- 2. 名前が重複していないか調べるため、名前の列($B$2:$B$21)を範囲に設定
- 3. 検索条件にCOUNTIF関数を入力した行の名前(B2)を選択
- 4. 設定したCOUNTIF関数をほかのセルにも適用


これで、名前が同じものがあった場合、重複数に2以上の数値が表示されます。
用意した表では、2回名前が登録されている方が2人いるということが分かりました。
データを手入力した場合は、誤って同じ内容を入力してしまうということもあると思いますが、このようにCOUNTIF関数を使えば重複しているかどうかも調べることができます。
まとめ
いかがでしたでしょうか。そのデータがいくつあるのか?という情報も、データを分析する際には重要な要素になってくると思います。データが当てはまっているのか一つずつ数えていくのは大変ですし、数が増えてくるほどさらに困難になっていくと思います。
そんな時にCOUNTIF関数を使うととても便利なので、ぜひ使って調べてみてください。