オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【Excel】COUNTIF関数の使い方 ~検索条件に一致するデータの件数を数える。データの存在確認、重複確認をする~

本記事ではExcelCOUNTIF関数の使用方法を説明します。

COUNTIF関数とは。COUNTIF関数の書式

COUNTIF関数とは、指定した範囲の中で検索条件に一致するデータの件数を数える関数です。(検索条件に一致するデータがなければ0を返します)
検索条件には、比較演算子やワイルドカードを使うことができます。
COUNTIF関数の書式は以下の通りです。

COUNTIF関数の書式
=COUNTIF(範囲, 検索条件)


以下画像では、COUNTIF関数を使って顧客名簿で男性の件数、女性の件数を求めています。
f:id:auroralights:20211204213613p:plain
男性の件数は「=COUNTIF($D$3:$D$11,"男")」、女性の件数は「=COUNTIF($D$3:$D$11,"女")」で求めています。
COUNTIF関数で、範囲「$D$3:$D$11」検索条件「男」もしくは「女」が何件あるかを求めています。


データの存在を確認する方法

COUNTIF関数でデータ群の中に検索対象のデータが存在するかどうかを確認することができます。

f:id:auroralights:20211204232654p:plain
上記画像では、D列の検索対象のデータが、範囲「B3:B33」の中に何件存在するかどうか確認しています。

以下数式はB3:B33のセル範囲の中にセルD3の『A100』が何件あるか存在るかを求めています。
=COUNTIF($B$3:$B$33,D3)


データの重複を確認する方法

COUNTIF関数でデータ群の中で重複しているデータを探すことができます。
f:id:auroralights:20211204233459p:plain
上記画像では、B3:B33の管理番号が何件あるかを調べて2件以上の値が返っていれば、データが重複していることを表しています。
範囲を絶対参照で固定し、検索対象を相対参照とすることで、固定した範囲「$B$3:$B$33」の中に検索対象が何件あるかを調べています。

以下数式は、B3の検索対象『A100』がセル範囲『B3:B33』の中で何件存在しているかを求めています。
=COUNTIF($B$3:$B$33,B3)
検索対象をB3、B4、B5・・・とすることで、セル範囲の中にそれぞれのデータが何件あるかを調べることができます。


ポイントは、数式をコピーして利用するので検索範囲を絶対参照、検索対象を相対参照とすることです。

COUNTIF関数の検索条件に『比較演算子』を使って件数を求める

COUNTIF関数の引数の『検索条件』には、以下の比較演算子を使うことができます。比較演算子を使用する場合は検索条件とあわせて『"(ダブルクォーテーション)』で囲みます。

比較演算子 説明 使用例
= 等しい "=10"
<> 等しくない "<>男"
より大きい ">19"
< より小さい "<20"
>= 以上 ">=20"
<= 以下 ”<=19"


以下画像ではCOUNTIF関数検索条件に『比較演算子』を使い件数を求めています。
f:id:auroralights:20211204221604p:plain

COUNTIF関数の検索条件に『=』を使った使用例

住所が兵庫県神戸市の顧客件数を以下数式で求めています。
=COUNTIF($F$3:$F$11,"=兵庫県神戸市")
※=を省略した「=COUNTIF($F$3:$F$11,"兵庫県神戸市")」でも結果は同じです。

COUNTIF関数の検索条件に『<>』を使った使用例

性別が男以外の顧客件数を以下数式で求めています。
=COUNTIF($D$3:$D$11,"<>男")

COUNTIF関数の検索条件に『>』を使った使用例

年齢が19歳より大きい顧客件数を以下数式で求めています。
=COUNTIF($E$3:$E$11,">19")

COUNTIF関数の検索条件に『<』を使った使用例

年齢が20歳より小さい顧客件数を以下数式で求めています。
=COUNTIF($E$3:$E$11,"<20")

COUNTIF関数の検索条件に『>=』を使った使用例

年齢が20歳以上の顧客件数を以下数式で求めています。
=COUNTIF($E$3:$E$11,">=20")

COUNTIF関数の検索条件に『<=』を使った使用例

年齢が19歳以下の顧客件数を以下数式で求めています。
=COUNTIF($E$3:$E$11,"<=19")


COUNTIF関数の検索条件に『ワイルドカード』を使って件数を求める

COUNTIF関数の引数の『検索条件』に以下のワイルドカードを使うことができます。ワイルドカードを使用する場合は検索条件とあわせて『"(ダブルクォーテーション)』で囲みます。


演算子 説明 検索条件の使用例
* 任意の文字列 "A*"
? 任意の1文字 "?田"


以下画像ではCOUNTIF関数検索条件に『ワイルドカード』を使い件数を求めています。
f:id:auroralights:20211204225804p:plain

COUNTIF関数の検索条件に『*』を使った使用例

顧客IDがAから始まる件数、顧客IDがBから始まる件数を以下数式で求めています。
=COUNTIF($C$3:$C$11,"A*")
=COUNTIF($C$3:$C$11,"B*")

Mailにdocomoを含む件数を以下数式で求めています。
=COUNTIF($G$3:$G$11,"*docomo*")
※上記の条件だとdocomo@ezweb.ne.jpも含まれるので、キャリアがdocomoのメールアドレスの件数を調べるためには、条件を「*@docomo*」や「*@docomo.ne.jp」とした方がいいですね。記事を書いているときには気が付きませんでした。

COUNTIF関数の検索条件に『?』を使った使用例

顧客名が「○田」のデータ件数を調べています。※○は任意の1文字のことです。
=COUNTIF($B$3:$B$11,"?田")


COUNTIF関数の使用方法について、紹介しました。
私はデータの存在確認、重複確認でよく使います。ぜひいろいろな使い方をマスターしてみてください。
お読みいただきありがとうございました。