関数 EXCEL&VBA

COUNTIFで複数条件を満たすデータをカウントする方法

任意の条件に合致するセルをカウントする COUNTIF関数

では、この条件が「複数条件」の場合、つまり「A and B」「A or B」のようなときはどのように処理すればいいでしょうか?
(例:男性 かつ 25歳以上かつ35歳未満)

今回は「複数条件」を満たすデータをカウントする方法について、COUNTIF関数COUNTIFS関数 を使って解説します。



COUNTIFで複数条件の集計はできるのか?

できます。
ただ「複数条件」といっても AND なのか OR なのかで方法は違ってきます。

AND条件でデータをカウントする場合と、OR条件でデータをカウントする場合、それぞれに解説していきます。

複数条件 (AND)のCOUNTIF

複数条件「かつ(=AND)」を処理するという点で言うと、メジャーな COUNTIF関数 は条件をひとつしか指定できません。

複数条件を満たすデータの数を集計するためには COUNTIFS関数 を使います。

COUNTIFS関数

COUNTIFS関数 とは、特定の(複数)条件に一致するセルの個数を返す関数で、書式は;

=COUNTIFS検索範囲1条件1,  [検索範囲2],  [条件2],  ... )

のように表されます。

サンプルとして下のような表を用意しました。

上の例、E列からG列に設定された条件「男性 かつ 25歳以上 かつ 35歳未満」の場合、条件は3つなので [検索範囲] と [条件] をそれぞれ3つ設定します。

セルE6に入る数式は;

=COUNTIFS(B2:B11,  E3C2:C11, ">=" & F3C2:C11,  "<" & G3)

となります。

▲3つの条件を満たすデータがカウントされた


複数条件「以上」「未満」の設定方法

「25歳以上、35歳未満」のような「以上」「未満」といった条件の設定方法を補足します。

COUNTIF関数COUNTIFS関数 で扱う場合は、不等号や等号をダブルクォーテーション(")で挟みます

上のセルE6の数式でいうと;

=COUNTIFS(B2:B11, E3, C2:C11, ">=" & F3, C2:C11, "<" & G3)

赤字部分がそれに相当します。

不等号の右には、不等号と条件が入ったセル位置とを「&」でつなぐ のを忘れないように。

複数条件(OR)のCOUNTIF

複数条件「または(=OR)」を処理する場合は、元祖 COUNTIF関数 を使います。

今度は、下のような表をサンプルとして用意しました。


顧客の都道府県情報が「東京都」または「神奈川県」のデータをカウントします。

セルD5に入る数式の正解は2種類あります。
まずひとつめは;

=COUNTIF(B2:B11, D2)+ COUNTIF(B2:B11, E2)

この数式は、単純に COUNTIF関数 の2種類の答えを足し算したものです。

条件が少なければこの数式でいいです。
しかし、条件が増えれば増えるほど数式が長くなってしまうのが短所です。

そこで、もう一つの正解がこちら;

=SUM(COUNTIF(B2:B11, "東京都", "神奈川県" } ))

こちらは「配列数式」を使用した数式です。
(赤字の { } で囲まれた部分)

こうすることで数式を短く効率的にすることができます。

お気づきの方もいらしゃると思いますが、配列数式を使った方法は「東京都」「神奈川県」の条件を数式に直接入力しているため、セルD2およびE2の値を全く使っていません。

以上で、『COUNTIF複数条件を満たすデータをカウントする方法』は終了です。

他の関連記事とあわせて仕事や趣味に役立ててください。

関連記事・広告






-関数, EXCEL&VBA
-,