- 公開日:
- 更新日:
ExcelのCOUNTIFS関数で複数条件をOR(または)条件で指定する方法
COUNTIFS関数は複数条件に一致したセルの個数を求めます。すべての条件を満たすセルを対象としていますので条件の種類としてはAND(かつ)条件に分類されます。
では、COUNTIFS関数を使ってOR(または)条件を指定したい場合はどうすればいいのでしょうか?Aという条件とBの条件のいずれかを満たす場合のセルの個数を求める場合などです。
COUNTIFS関数同士を足すことでOR条件で指定することができます。
COUNTIFS関数の書式
COUNTIFS関数の基本的な使い方を知りたい方は下記の記事で詳しくご紹介しています。
ExcelのCOUNTIFS関数の使い方|複数条件に一致するデータを数える
OR条件とAND条件の違い
複数条件を指定する際、OR(または)条件とAND(かつ)条件に分けられます。両者の違いを確認してみましょう。

OR条件とAND条件の違いをベン図にしました。OR条件は条件1、条件2のいずれかを満たしていればいいですが、AND条件は条件1、条件2ともに満たしている必要があります。
- OR条件:条件1または条件2
- AND条件:条件1かつ条件2
COUNTIFS関数は特定の条件をすべて満たすセルの個数を求めるのでAND条件になります。
同じ列にある複数条件をOR条件で指定する方法
COUNTIFS関数を使って同じ列にある複数条件を指定するときにOR条件でセルの個数を求める方法をご紹介します。

性別、年齢、出身が載っている表があります。この中から「20歳以下または40歳以上」の人数を求めます。COUNTIFS関数を入力したい【セル(例ではF3セル)】を選択し、『=COUNTIFS(』と入力します。

COUNTIFS関数の引数「条件範囲」として年齢の列を指定します。「=COUNTIFS(」に続いて『C3:C12,』と入力します。マウスでドラッグして選択することも可能です。
COUNTIFS関数の引数「検索条件」として20歳以下という条件を指定します。「=COUNTIFS(C3:C12,」に続いて『"<=20")』と入力します。比較演算子「<=(以下)」を使用します。

20歳以下の条件を指定したら次に40歳以下の条件を指定します。同じようにCOUNTIFS関数を作成し、「+」で加算します。『+COUNTIFS(C3:C12,">=40")』と入力します。今度は比較演算子「>=(以上)」を使用しています。

「20歳以下または40歳以上」の人数がF3セルに「4」と表示されました。COUNTIFS関数同士を足し合わせると複数条件をOR条件で指定することができます。
複数の列にある複数条件をOR条件で指定する方法
COUNTIFS関数を使って複数の列にある複数条件を指定するときにOR条件でセルの個数を求める方法をご紹介します。
同じ列の場合と同様、COUNTIFS関数を足しますが、複数列の場合はOR条件が重複することがあります。COUNTIFS関数を足した後に重複した分を引きましょう。

性別、年齢、出身が載っている表があります。この中から「30歳以下または男性」の人数を求めます。まずは30歳以下のセルの個数をCOUNTIFS関数で求めます。
COUNTIFS関数を入力したい【セル(例ではF3セル)】を選択し、『=COUNTIFS(C3:C12,"<=30")』と入力します。

次に性別の列から「男」に一致するセルの個数を求めてCOUNTIFS関数同士を足します。「=COUNTIFS(C3:C12,"<=30")」に続けて『+COUNTIFS(B3:B12,"男")』と入力します。

2つのCOUNTIFS関数を足した結果がF3セルに「10」と表示されました。条件に合っているセルに赤字で1から10まで番号を付けました。
結果を見てみると1と5、3と7が重複しています。これでは「30歳以下または男性」という条件を満たせていません。重複分を取り除く必要があります。

重複分を取り除くためには、「30歳以下」と「男性」を足し合わせたものから「30歳以下かつ男性」という条件を引くと重複した分を取り除くことができます。
「30歳以下かつ男性」という条件に当てはまるのは上図の赤枠の2つになります。

「=COUNTIFS(C3:C12,"<=30")+COUNTIFS(B3:B12,"男)」に続けて『-COUNTIFS(C3:C12,"<=30",B3:B12,"男")』と入力します。
COUNTIFS関数で「30歳以下かつ男性」という条件に一致するセルの個数(2)を求めて引いています。F3セルに「30歳以下または男性」の結果として「8」が表示されました。

上図はOR条件の重なりをベン図に表したものです。条件1が「A、B、D、E」、条件2が「C、B、F、G」というデータがあります。
条件1または条件2を満たすのは「A、B、C、D、E、F、G」となり7つになります。「B」が条件1と条件2で共通している要素になります。
OR条件で対象の要素数を求めるには、条件ごとに一致する数を求めてそこから共通部分を引きます。