COUNTIF関数でOR(または)の複数条件でカウントする方法

midSun31midSun31
IT・デジタル

COUNTIF関数で複数の項目をOR(または)の条件でカウントしようとする場合、悩みますよね。第二引数の設定で手が止まってしまうと思います。

COUNTIF関数の条件設定は単一の条件が前提となっているので、ORの複数条件を利用するにはやや工夫が必要です。今回は、Excel・スプレッドシートのCOUNTIF関数でOR条件でカウントする方法について解説していきます。

方法1:COUNTIFを足す

例えば以下の表で商品分類が「Tシャツ」または「セーター」である商品をカウントする方法を考えます。

条件が一つの列の中にある場合、または重複する可能性がない場合は複数のCOUNTIF関数結果を合計する方法でカウントできます。

「COUNTIF(C5:C13,”Tシャツ”) 」(C5~C13セルから「Tシャツ」に一致する件数)と「COUNTIF(C5:C13,”セーター”)」(C5~C13セルから「セーター」に一致する件数)を足す以下の式を設定します。

=COUNTIF(C5:C13,"Tシャツ") + COUNTIF(C5:C13,"セーター")

「Tシャツ」または「セーター」の条件でカウントし「7」を出力することができました。

方法2:COUNTIFS関数を使う

方法1は条件が重複するレコードがある場合には利用できません。

例えばこの表で商品分類が「Tシャツ」またはサイズが「S」である商品をカウントしたい場合、方法1の式「COUNTIF(C5:C13,”Tシャツ”) + COUNTIF(E5:E13,”S”)」では「8」と出力されます。

理由としては、A001とA002が二重にカウントされてしまっているためです。

条件が複数列に存在するなど重複する可能性がある場合にはCOUNTIFS関数を利用して重複件数をマイナスする必要があります。

COUNTIFS関数の引数や基本的な使い方は、次の記事を参照してください。

商品分類が「Tシャツ」かつサイズが「S」であるレコードはCOUNTIFS関数を用いて以下の式でカウントできます。

COUNTIFS(C5:C13,"Tシャツ",E5:E13,"S")

したがって、商品分類が「Tシャツ」またはサイズが「S」である商品をカウントしたい場合は重複を排除して以下のように設定します。

=COUNTIF(C5:C13,"Tシャツ") + COUNTIF(E5:E13,"S") - COUNTIFS(C5:C13,"Tシャツ",E5:E13,"S")

「Tシャツ」またはサイズ「S」をカウントし「6」を出力することができました。

方法3:OR関数を使う

3つめの方法は、OR(または)に該当する部分をOR関数を用いてチェック列を作成し、結果が「TRUE」である件数をカウントするやり方です。

OR関数とは、引数である式のうちいずれか1つでもTRUEである場合にTRUEを返す関数です。COUNTIF関数をOR関数の引数として利用することで、複数の列の整合性をチェックなどができます。

例では、OR関数を用いて商品分類が「Tシャツ」またはサイズが「S」であるかどうか判定する列を作成します。

=OR(C5="Tシャツ", E5="S")

条件判定列(G列)がTRUEである件数をCOUNTIFで設定します。

=COUNTIF(G5:G13,TRUE)

「Tシャツ」またはサイズ「S」をカウントし「6」を出力することができました。

以上、COUNTIF関数でORの複数条件でカウントする方法でした。

IT・デジタル
Howpon[ハウポン]

コメント