Excel COUNTIF関数で複数条件を効率集計!中堅社員のための実務活用術

ExcelのCOUNTIF関数は、特定の条件に合致するデータの数を数える際に非常に役立ちます。しかし、「〇〇かつ△△」や「〇〇または△△」といった複数条件での集計が必要な場面で、手作業でフィルタリングして数えるのは非効率的ですよね。この記事を読めば、複数条件でのカウント集計が劇的に時短でき、日々のデータ分析やレポート作成の業務効率が格段に向上します。

COUNTIF関数とは?複数条件での考え方

COUNTIF関数は「指定した範囲内で、特定の条件を満たすセルの数を数える」ための関数です。例えば、「特定の商品の売上数」や「特定のステータスのタスク数」などを数える際に重宝します。

しかし、COUNTIF関数自体は一つの条件しか指定できません。実務では「東京支店のA商品で、売上100万円以上」といった複数の条件を同時に満たすデータを数えることが多々あります。このような複数条件でのカウントには、COUNTIFS関数やSUMPRODUCT関数を組み合わせて使うのが一般的です。

  • COUNTIFS関数:複数の条件を同時に指定してカウントできる関数です。Excel 2007以降のバージョンで利用可能です。
  • SUMPRODUCT関数:配列の対応する要素を乗算し、その積の合計を返す関数です。論理式と組み合わせることで、COUNTIFS関数が使えない古いバージョンや、より複雑な条件設定でも複数条件でのカウントを実現できます。

AND条件でカウントする具体的な使い方

「〇〇かつ△△」というAND条件でデータをカウントする方法を解説します。

COUNTIFS関数を使う

複数の条件を同時に満たすセルをカウントする最も簡単な方法がCOUNTIFS関数です。条件ごとに範囲と条件式を指定するだけで、直感的に利用できます。

  1. 数式を入力するセルを選択します。
  2. =COUNTIFS(と入力します。
  3. 1つ目の条件範囲(例:A2:A100)を指定し、カンマで区切ります。
  4. 1つ目の条件(例:"東京支店")を指定し、カンマで区切ります。
  5. 2つ目の条件範囲(例:B2:B100)を指定し、カンマで区切ります。
  6. 2つ目の条件(例:">=1000000")を指定し、必要に応じてさらに条件を追加します。
  7. )で閉じ、Enterキーを押します。

実務例:「営業データから『担当部署が『営業一課』』かつ『契約ステータスが『完了』』の案件数をカウントしたい」といった場合に非常に有効です。

SUMPRODUCT関数と論理式を組み合わせる

COUNTIFS関数が導入される前のExcelバージョンを使用している場合や、より複雑な条件設定が必要な場合は、SUMPRODUCT関数を活用します。SUMPRODUCT関数は、条件式の結果を数値(TRUE=1, FALSE=0)として扱い、その合計を算出することで、複数条件でのカウントを実現します。

  1. 数式を入力するセルを選択します。
  2. =SUMPRODUCT(と入力します。
  3. 1つ目の条件式(例:(A2:A100="東京支店"))を入力します。
  4. *(アスタリスク)で条件式を繋ぎます。
  5. 2つ目の条件式(例:(B2:B100>=1000000))を入力し、必要に応じてさらに条件を追加します。
  6. )で閉じ、Enterキーを押します。

ポイント:各条件式がTRUE(真)であれば1、FALSE(偽)であれば0を返します。AND条件の場合、すべての条件式がTRUE(1)のときのみ、その積が1となり、SUMPRODUCT関数で合計される仕組みです。論理値を数値に変換するために、*1--を各条件式の前につけることもありますが、*で繋ぐことで自動的に数値に変換されます。

OR条件でカウントする具体的な使い方

「〇〇または△△」というOR条件でデータをカウントする方法を解説します。OR条件の場合、COUNTIFS関数だけでは直接実現できないため、SUMPRODUCT関数や複数のCOUNTIFS関数の組み合わせが必要になります。

SUMPRODUCT関数と論理式を組み合わせる

SUMPRODUCT関数はOR条件のカウントにも応用できます。AND条件で*(積)を用いたのに対し、OR条件では+(和)を使用します。

  1. 数式を入力するセルを選択します。
  2. =SUMPRODUCT(と入力します。
  3. 1つ目の条件式(例:(A2:A100="東京支店"))を入力します。
  4. +(プラス)で条件式を繋ぎます。
  5. 2つ目の条件式(例:(B2:B100>=1000000))を入力し、必要に応じてさらに条件を追加します。
  6. )で閉じ、Enterキーを押します。

ポイント:いずれかの条件式がTRUE(1)であれば、その和が1以上となり、合計されます。ただし、複数の条件に同時に合致するデータ(例:「東京支店」かつ「売上100万円以上」のデータ)があった場合、そのデータは複数回カウントされてしまう可能性があります。重複を考慮しない単純なOR条件をカウントしたい場合に利用します。

複数のCOUNTIFS関数を足し合わせる(重複なしの場合)

重複が許されない、あるいは重複を排除してOR条件をカウントしたい場合、複数のCOUNTIFS関数(またはCOUNTIF関数)を組み合わせて利用します。

  1. 1つ目の条件でのCOUNTIFS関数を入力します(例:COUNTIFS(A2:A100,"東京支店"))。
  2. +で繋ぎます。
  3. 2つ目の条件でのCOUNTIFS関数を入力します(例:COUNTIFS(A2:A100,"大阪支店"))。
  4. もし複数の条件に同時に合致するデータが存在し、それを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関数を組み合わせるのが一般的です(重複排除に注意)。
  • これらの関数を使いこなすことで、複雑なデータ集計作業が劇的に効率化され、業務の質を高めることができます。

コメント

タイトルとURLをコピーしました