【エクセル】COUNTIFS関数を使ってOR条件でカウントする方法。複数条件を同じ行に設定

エクセルのCOUNTIFS関数をOR条件でカウントする方法を紹介

Excel(エクセル)のCOUNTIFS関数を使うことで、複数の条件に一致するセルの個数を数えることができます。

しかし、COUNTIFS関数を普通に利用すると、OR条件(または)では利用できません

それは、COUNTIFS関数はAND条件(なおかつ)で使用できる仕様になっているからです。

ただ、COUNTIFS関数をOR条件で利用する上級テクニックが存在します。

この記事では、COUNTIFS関数とSUM関数を使った『OR条件でセルの個数をカウントする』方法を紹介します。

また、DCOUNT関数というOR条件でセルの個数をカウントできる便利な関数も合わせて紹介します。

COUNTIFS関数の書式と引数(おさらい)

COUNTIFS関数の使い方をおさらいします。

COUNTIFS関数は複数の条件に一致するセルの個数を求める関数です。

COUNTIFS関数の構文は、(検索)範囲と検索条件を1セットとして、計127セット分の範囲と検索条件を設定することが出来ます。

=COUNTIFS(範囲1,検索条件1,範囲2,検索条件2,範囲3,検索条件3,・・・・

COUNTIFS関数を使ったAND条件の実例

COUNTIFS関数をAND条件(なおかつ) で使った実例を1つ紹介します。

下のCOUNTIFS関数をG3セルに挿入することで、表のC列が「B製品」で、かつ、D列が「南区」のセルの個数をカウントし、「2」という結果が得られます。

=COUNTIFS(C3:C10,"B製品",D3:D10,"南区")

COUNTIFS関数をAND条件で利用する方法(実例)
COUNTIFS関数をAND条件で利用する方法(実例)

こんなふうに、COUNTIFS関数はAND条件(なおかつ)で使うのが基本だよ。

COUNTIFS関数の使い方をさらに詳しく確認したい方は、以下の記事を参考にしてください。

COUNTIFS関数をOR条件で使おうとしても、結果は「0」になる

COUNTIFS関数を使って、同じ列から複数の条件を設定し、セルの数を集計しようとするとどうなるでしょうか。

下の表のC列から「A製品」と「B製品」のセルの個数を集計するために、下のCOUNTIFS関数を挿入しても、COUNTIFS関数はAND条件(なおかつ)でしか利用できない(一致するものが存在しない)ので、結果は「0」となります。

=COUNTIFS(C3:C10,"A製品",C3:C10,"B製品")

COUNTIFS関数の条件に一致するものが無いので、結果は「0」
COUNTIFS関数の条件に一致するものが無いので、結果は「0」

A製品とB製品のセルの個数をOR条件で求めるためには、COUNTIF関数を2つ利用することで、セルの個数を求めることが出来ます。

=COUNTIF(C3:C10,"A製品")+COUNTIF(C3:C10,"B製品")

COUNTIF関数を2つ用いることでOR条件でセルの個数を求めることが可能
COUNTIF関数を2つ用いることでOR条件でセルの個数を求めることが可能

しかし、この方法ではどうしても関数が長くなってしまいます。

このように、COUNTIFS関数はAND条件で利用するために作られている関数なので、OR条件は基本的に対応できません。

しかし、以下の2つのどちらかの手段を用いることで、OR条件に一致するセルの個数をカウントすることが可能となります。

OR条件でセルの個数を調べる方法

方法1.SUM関数COUNTIFS関数を組み合わせる

方法2.DCOUNT関数を利用する

COUNTIFS関数とSUM関数を組み合わせて、OR条件でセルの個数をカウント

それでは、今回の本題のテーマである、OR条件に当てはまるセルの個数をカウントする方法を紹介します。

まずは、COUNTIFS関数とSUM関数を使って、同じ列にOR条件の複数条件で条件に合うセルの個数を求めます。

説明用に、以下の表のC列が「A製品もしくはB製品」のセルの個数を求める方法を手順に沿って紹介します。

COUNTIFS関数とSUM関数を組み合わせて、OR条件でセルの個数を求める方法
COUNTIFS関数とSUM関数を組み合わせて、OR条件でセルの個数を求める方法

手順1.SUM関数の中にCOUNTIFS関数を挿入

まずは、数式を挿入したいD12セルにSUM関数を挿入し、「=SUM(」と入力します。

=SUM(

手順1‐1.COUNTIFS関数をOR条件で利用する方法
手順1‐1.COUNTIFS関数をOR条件で利用する方法

続いて、SUM関数の中にCOUNTIFS関数を挿入するために、続いて「SUMIFS(」と入力します。

=SUM(COUNTIFS(

手順1-2.COUNTIFS関数をOR条件で利用する方法
手順1-2.COUNTIFS関数をOR条件で利用する方法

このように、関数の中に関数を挿入するテクニックを入れ子(ネスト)といいます。

手順2.COUNTIFS関数の第1引数を指定

続いて、COUNTIFS関数の第1引数「範囲1」を指定します。

手順2の数式に続き、「C3:C10,」と入力し、C列のセル範囲を指定します。

=SUM(COUNTIFS(C3:C10,

手順2.COUNTIFS関数をOR条件で利用する方法
手順2.COUNTIFS関数をOR条件で利用する方法

手順3.COUNTIFS関数の第2引数を指定

続いて、COUNTIFS関数の第2引数「条件1」を指定します。

この手順4が最も重要です。

通常であれば、COUNTIFS関数の第2引数は条件を1つだけ設定します。

しかし、今回は、配列の形式を使って、『{"A製品","B製品"}』と入力して、2つの条件を一緒に指定します。

=SUM(COUNTIFS(C3:C10,{"A製品","B製品"}))

手順3.COUNTIFS関数をOR条件で利用する方法
手順3.COUNTIFS関数をOR条件で利用する方法

SUM関数とCOUNTIFS関数をそれぞれ『)』で閉じる必要があるので、数式の最後は、『)』が2つ必要です。

手順4.SUM関数とCOUNTIFS関数を組み合わせた結果

「Enter」キーを使ってSUM関数を確定させてください。

そうすると、C列がA製品とB製品のセルの個数「6」が、D12セルに表示されました。

手順4.SUM関数とCOUNTIFS関数を組み合わせた結果
手順4.SUM関数とCOUNTIFS関数を組み合わせた結果

COUNTIFS関数とSUM関数を組み合わせてOR条件でカウント(3つ以上の複数条件)

上記の例では、『A製品またはB製品』という2つのOR条件でセルの個数をカウントしました。

同じ方法を用いることで、3つや4つの複数条件でも合計することが可能です。

下の表のように、COUNTIFS関数の第2引数に「{"A製品","B製品","C製品"}」と入力することで、3つの条件のセルの個数を算出することができます。

=SUM(COUNTIFS(C3:C10,{"A製品","B製品","C製品"}))

SUM関数とCOUNTIFS関数を使って、3つのOR条件(複数条件)でカウントする方法
SUM関数とCOUNTIFS関数を使って、3つのOR条件(複数条件)でカウントする方法

SUM関数を除いてOR条件でカウントした結果

上で紹介した例では、SUM関数とCOUNTIFS関数を組み合わせる入れ子(ネスト)を利用しましたが、SUM関数を除くとどうなるか紹介します。

『A製品またはB製品』のセルの個数をカウントするために、以下の数式を挿入します。

=COUNTIFS(C3:C10,{"A製品","B製品"})

SUM関数を利用しないと、それぞれの合計が個別に表記
SUM関数を利用しないと、それぞれの合計が個別に表記

そうすると、A製品のセルの個数「2」がG3セルに表示され、B製品のセルの個数「4」は隣のセルのH3セルに表示されてしまいます。

そのために、SUM関数とCOUNTIFS関数は一緒に組み合わせて利用するようにしましょう。

DCOUNT関数を使うとOR条件でカウントするのが簡単

SUM関数とCOUNTIFS関数を使わなくても、DCOUNT関数(ディーカウント)を使うことでOR条件で一致するセルの個数をカウントすることができます。

DCOUNT関数は、OR条件でもAND条件でも、それらを組み合わせた複合条件でも条件にあったセル数をカウントすることができる関数です。

DCOUNT関数は、以下の構文となっていて、「データベース」「フィールド」「検索条件」の3つの引数を設定します。

=DCOUNT(データベース, フィールド, 検索条件)

表から「A製品もしくはB製品」の売上数量を合計する場合は、以下のように関数を作成することで、D12セルに2つの条件の合計を表示させることができます。

=DCOUNT(B2:E10,E2,G8:G10)

DCOUNT関数の使い方
DCOUNT関数の使い方

DCOUNT関数の特徴は、条件表(G8:G10)を表の枠外に作成するところだよ。

DCOUNT関数の使い方は、以下の記事で詳しく紹介していますので、興味のある方は参考にしてください。