ExcelのCOUNTIF関数は、特定の条件に合致するデータの数を数える際に非常に役立ちます。しかし、「〇〇かつ△△」や「〇〇または△△」といった複数条件での集計が必要な場面で、手作業でフィルタリングして数えるのは非効率的ですよね。この記事を読めば、複数条件でのカウント集計が劇的に時短でき、日々のデータ分析やレポート作成の業務効率が格段に向上します。
COUNTIF関数とは?複数条件での考え方
COUNTIF関数は「指定した範囲内で、特定の条件を満たすセルの数を数える」ための関数です。例えば、「特定の商品の売上数」や「特定のステータスのタスク数」などを数える際に重宝します。
しかし、COUNTIF関数自体は一つの条件しか指定できません。実務では「東京支店のA商品で、売上100万円以上」といった複数の条件を同時に満たすデータを数えることが多々あります。このような複数条件でのカウントには、COUNTIFS関数やSUMPRODUCT関数を組み合わせて使うのが一般的です。
- COUNTIFS関数:複数の条件を同時に指定してカウントできる関数です。Excel 2007以降のバージョンで利用可能です。
- SUMPRODUCT関数:配列の対応する要素を乗算し、その積の合計を返す関数です。論理式と組み合わせることで、COUNTIFS関数が使えない古いバージョンや、より複雑な条件設定でも複数条件でのカウントを実現できます。
AND条件でカウントする具体的な使い方
「〇〇かつ△△」というAND条件でデータをカウントする方法を解説します。
COUNTIFS関数を使う
複数の条件を同時に満たすセルをカウントする最も簡単な方法がCOUNTIFS関数です。条件ごとに範囲と条件式を指定するだけで、直感的に利用できます。
- 数式を入力するセルを選択します。
=COUNTIFS(と入力します。- 1つ目の条件範囲(例:
A2:A100)を指定し、カンマで区切ります。 - 1つ目の条件(例:
"東京支店")を指定し、カンマで区切ります。 - 2つ目の条件範囲(例:
B2:B100)を指定し、カンマで区切ります。 - 2つ目の条件(例:
">=1000000")を指定し、必要に応じてさらに条件を追加します。 )で閉じ、Enterキーを押します。
実務例:「営業データから『担当部署が『営業一課』』かつ『契約ステータスが『完了』』の案件数をカウントしたい」といった場合に非常に有効です。
SUMPRODUCT関数と論理式を組み合わせる
COUNTIFS関数が導入される前のExcelバージョンを使用している場合や、より複雑な条件設定が必要な場合は、SUMPRODUCT関数を活用します。SUMPRODUCT関数は、条件式の結果を数値(TRUE=1, FALSE=0)として扱い、その合計を算出することで、複数条件でのカウントを実現します。
- 数式を入力するセルを選択します。
=SUMPRODUCT(と入力します。- 1つ目の条件式(例:
(A2:A100="東京支店"))を入力します。 *(アスタリスク)で条件式を繋ぎます。- 2つ目の条件式(例:
(B2:B100>=1000000))を入力し、必要に応じてさらに条件を追加します。 )で閉じ、Enterキーを押します。
ポイント:各条件式がTRUE(真)であれば1、FALSE(偽)であれば0を返します。AND条件の場合、すべての条件式がTRUE(1)のときのみ、その積が1となり、SUMPRODUCT関数で合計される仕組みです。論理値を数値に変換するために、*1や--を各条件式の前につけることもありますが、*で繋ぐことで自動的に数値に変換されます。
OR条件でカウントする具体的な使い方
「〇〇または△△」というOR条件でデータをカウントする方法を解説します。OR条件の場合、COUNTIFS関数だけでは直接実現できないため、SUMPRODUCT関数や複数のCOUNTIFS関数の組み合わせが必要になります。
SUMPRODUCT関数と論理式を組み合わせる
SUMPRODUCT関数はOR条件のカウントにも応用できます。AND条件で*(積)を用いたのに対し、OR条件では+(和)を使用します。
- 数式を入力するセルを選択します。
=SUMPRODUCT(と入力します。- 1つ目の条件式(例:
(A2:A100="東京支店"))を入力します。 +(プラス)で条件式を繋ぎます。- 2つ目の条件式(例:
(B2:B100>=1000000))を入力し、必要に応じてさらに条件を追加します。 )で閉じ、Enterキーを押します。
ポイント:いずれかの条件式がTRUE(1)であれば、その和が1以上となり、合計されます。ただし、複数の条件に同時に合致するデータ(例:「東京支店」かつ「売上100万円以上」のデータ)があった場合、そのデータは複数回カウントされてしまう可能性があります。重複を考慮しない単純なOR条件をカウントしたい場合に利用します。
複数のCOUNTIFS関数を足し合わせる(重複なしの場合)
重複が許されない、あるいは重複を排除してOR条件をカウントしたい場合、複数のCOUNTIFS関数(またはCOUNTIF関数)を組み合わせて利用します。
- 1つ目の条件でのCOUNTIFS関数を入力します(例:
COUNTIFS(A2:A100,"東京支店"))。 +で繋ぎます。- 2つ目の条件でのCOUNTIFS関数を入力します(例:
COUNTIFS(A2:A100,"大阪支店"))。 - もし複数の条件に同時に合致するデータが存在し、それを1回としてカウントしたい場合は、重複する部分をCOUNTIFS関数で減算します(例:
-COUNTIFS(A2:A100,"東京支店",B2:B100,"大阪支店"))。
実務例:「顧客リストから『VIP会員』または『購入履歴5回以上』の顧客をカウントしたい」といった場合、VIP会員かつ購入履歴5回以上の顧客が重複してカウントされないよう、適切に調整する必要があります。
実務で役立つ具体的な数式例
以下に、実務でよく使う具体的な数式例をご紹介します。
AND条件(COUNTIFS関数)
「商品カテゴリが『家電』かつ販売単価が『50000円以上』の商品の数を数える」
=COUNTIFS(A2:A100,"家電",B2:B100,">=50000")
AND条件(SUMPRODUCT関数)
「地域が『関東』かつ『受注済』ステータスの案件数を数える」
=SUMPRODUCT((C2:C100="関東")*(D2:D100="受注済"))
OR条件(SUMPRODUCT関数、重複カウント含む)
「担当部署が『営業A』または『営業B』の案件数を数える」
=SUMPRODUCT((E2:E100="営業A")+(E2:E100="営業B"))
OR条件(COUNTIFSの足し算と重複減算)
「商品カテゴリが『家電』または『家具』の商品の総数を数える(重複は1回と数える)」
※同じ範囲内で複数の条件をORで指定する場合、この数式が有用です。
=COUNTIFS(A2:A100,"家電") + COUNTIFS(A2:A100,"家具")
※もし「商品カテゴリAかつ地域B」または「商品カテゴリCかつ地域D」のような複雑なOR条件の場合
=COUNTIFS(カテゴリ範囲,"A", 地域範囲,"B") + COUNTIFS(カテゴリ範囲,"C", 地域範囲,"D") - COUNTIFS(カテゴリ範囲,"A", 地域範囲,"B", カテゴリ範囲,"C", 地域範囲,"D")
最後の減算は、もし「カテゴリAかつ地域B」と「カテゴリCかつ地域D」が同時に成り立つデータがある場合の重複排除ですが、この例では通常発生しにくいので、実務では最初の2つの足し算で十分なことが多いでしょう。ただし、より複雑な条件設定では重複減算が必要になります。
注意点と補足
バージョン差異
COUNTIFS関数はExcel 2007以降のバージョンで利用可能です。それ以前のExcelを使っている場合は、SUMPRODUCT関数を代替として利用してください。
OR条件での重複カウント
SUMPRODUCT関数でOR条件を+で表現した場合や、単純に複数のCOUNTIFS関数を足し合わせた場合、複数の条件に同時に合致するデータは複数回カウントされてしまいます。例えば、「VIP会員または購入履歴5回以上」の顧客を数える際に、VIP会員かつ購入履歴5回以上の顧客がいた場合、その顧客は2回カウントされてしまいます。
重複を1回としてカウントしたい場合は、「〇〇の数 + △△の数 – (〇〇かつ△△の数)」という包除原理に基づいた数式を用いる必要があります。具体的には、=COUNTIFS(範囲,条件1) + COUNTIFS(範囲,条件2) - COUNTIFS(範囲,条件1,範囲,条件2)のように記述します。
ワイルドカードの活用
COUNTIF/COUNTIFS関数では、条件にワイルドカード(あいまい検索)を使用できます。
*(アスタリスク):任意の文字列に一致します。(例:"営業*"で「営業部」「営業一課」など「営業」から始まる全て)?(クエスチョンマーク):任意の一文字に一致します。(例:"A?B"で「AXB」「AYB」などAとBの間の任意の一文字)
これにより、「商品名に『セール』と含まれるもの」や「顧客名が『山田』で始まるもの」といった柔軟な条件設定が可能になります。
よくある質問(FAQ)
- Q1: COUNTIF関数では複数条件を扱えないのですか?
- A1: はい、COUNTIF関数は単一の条件のみを対象とします。複数条件でカウントしたい場合は、COUNTIFS関数かSUMPRODUCT関数を使用する必要があります。COUNTIFS関数が最も直接的で簡単な方法として推奨されます。
- Q2: COUNTIFS関数とSUMPRODUCT関数、どちらを使うべきですか?
- A2: 基本的には、Excel 2007以降のバージョンをお使いであれば、シンプルで直感的に分かりやすいCOUNTIFS関数を使用することをおすすめします。SUMPRODUCT関数は、COUNTIFSでは対応できないようなより複雑な条件(例えば、計算結果に基づいた条件や配列数式的なアプローチ)が必要な場合や、古いExcelバージョンでの互換性を保ちたい場合に有効な選択肢となります。
まとめ
- COUNTIF関数は単一条件ですが、COUNTIFS関数やSUMPRODUCT関数で複数条件に対応できます。
- 「AND条件」にはCOUNTIFS関数が最もシンプルで、SUMPRODUCT関数も使えます。
- 「OR条件」にはSUMPRODUCT関数または複数のCOUNTIFS関数を組み合わせるのが一般的です(重複排除に注意)。
- これらの関数を使いこなすことで、複雑なデータ集計作業が劇的に効率化され、業務の質を高めることができます。

コメント