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

2018/11/23






エクセルで "カウントイフ" と言えば、条件に合致するセルをカウントする COUNTIF関数

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

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

コレ、マーケティングには必須のテクニックです。

カウントイフ( COUNTIF )で複数条件の集計はできるの?

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

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


AND条件でデータをカウントする

複数条件「かつ」でカウント

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

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

COUNTIFS関数

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

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

のように表されます。

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


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

セルE6に入る数式は;

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

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


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

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

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

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

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

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

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

OR条件でデータをカウントする

複数条件「または」でカウント

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

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


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

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

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

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

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

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

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

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

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


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

以上で、COUNTIF関数 や COUNTIFS関数 を使った複数条件を満たすデータをカウントする方法についての解説は終了です。

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

関連記事



併せて読んでおくとさらに便利

COUNTIF で「を含む」データをカウントする|Excel 関数
COUNTIF関数・ワイルドカード
COUNTIF関数を使い「~を含む」データをカウントする方法を解説。ExcelのCOUNTIF関数で任意の文字列を含むセルをカウントする にはちょっとした工夫が必要なのです。ヒントは「ワイルドカード」。

EXCELの SUMIFS関数 で複数条件を満たす値の合計を求める
SUMIFS関数
ExcelのSUMIFS関数の使い方を解説。SUMIFS関数て複数条件を満たす値の合計を求めたり、SUMIFS関数と不等号のを組合せ「〇以上△以下」などの条件パターンへの対応方法についても解説しています。

日次の売上げを月別に集計する|SUMIF関数
集計・SUMIF関数
エクセルで月別に集計する方法です。SUMIF関数を使って、1年間の日次(日別)売上げが羅列されたデータから、月別に集計した売上表を作成してみました。

エクセルの関数で掛け算する|演算子「*」を使わず まとめて掛け算
PRODUCT関数
エクセルの関数を使って掛け算をする方法を解説します。エクセルで掛け算をするとき、おそらくは演算子「*」(アスタリスク) を使うことが多いのでは? 掛け合わせる対象が多いときにどうします?

エクセル 切り捨て・切り上げ・四捨五入の関数の使い分け
INT関数・ROUND関数・TRUNC関数
切り捨て・切り上げ・四捨五入を自在に使い分けるための 便利な関数 について解説。エクセルで 小数点以下の数値 をあつかうときに必要なのが、切り捨て・切り上げ・四捨五入 の処理です。

※その他関連記事は、このページの下の方にもあります。

-EXCEL&VBA
-, , ,

シェアしていただけると助かります。