ExcelのCOUNTIF関数で複数条件を指定する方法をお探しですね。
広告
ExcelのCOUNTIFS関数で複数条件の個数を数える方法
Excelで売上表や名簿、アンケート結果を集計していると、「担当者が田中さんで、売上が10万円以上のデータって何件あるんだろう?」とか「4月中に完了した案件だけ数えたいな」といった場面、よくありますよね。
そんなときに使えるのが**COUNTIFS関数**です。
この記事では、COUNTIFS関数を使って複数の条件を満たすデータの個数を数える方法を、基本から実務でつまずきやすいポイントまで、わかりやすく解説していきます。
COUNTIFS関数の基本的な使い方
COUNTIFS関数は、複数の条件をすべて満たすデータの個数を数えてくれる関数です。
似たような関数に「COUNTIF関数」がありますが、こちらは条件を1つしか指定できません。
それに対してCOUNTIFS関数は、「条件1も満たして、条件2も満たして……」というように、条件をいくつでも追加できるんです。
基本の書き方はこんな感じです。
“`
=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, …)
“`
例えば、A列に担当者名、B列に商品名が入っていて、「担当者が田中さん、かつ商品がA」という件数を数えたいときは、こう書きます。
“`
=COUNTIFS(A2:A100,”田中”,B2:B100,”A”)
“`
COUNTIFS関数の大事なポイントは、**指定した条件がすべて「かつ」で処理される**ことです。
つまり「条件1も条件2も両方満たすデータ」だけがカウントされます。
営業データなら、「東京支店」**かつ**「売上10万円以上」**かつ**「ステータスが完了」みたいな絞り込みができるわけです。
フィルターをかけて目で数えていた作業が、数式1つで終わるので、毎月のレポート作成がグッと楽になりますよ。
注意点としては、**条件範囲の行数や列数は必ずそろえる**必要があります。
例えば「A2:A100」と「B2:B99」みたいに範囲がズレていると、正しく計算できなかったりエラーになったりすることがあります。
また、COUNTIFSは同じ行のデータを横に見ながら判定するので、表形式のデータととても相性がいい関数です。
まずは「1行が1件のデータになっているか」「条件に使う列がちゃんと整理されているか」を確認してから数式を作ると、ミスを減らせます。
「以上・以下・未満・より大きい」の指定方法
COUNTIFS関数で数値の条件を指定するときは、**比較演算子**を使います。
比較演算子というのは、「>=」「<=」「>」「<」みたいに大小関係を表す記号のことです。
例えば、C列の売上金額が10万円以上の件数を数えるなら、こう書きます。
```
=COUNTIFS(C2:C100,">=100000″)
“`
ここで大切なのは、**「>=100000」のように比較演算子を含む条件全体をダブルクォーテーション(“”)で囲む**ことです。
よく使う条件の書き方をまとめておきますね。
– **100以上**:`”>=100″`
– **100以下**:`”<=100"`
- **100より大きい**:`">100″`
– **100未満**:`”<100"`
「以上」と「より大きい」、「以下」と「未満」は似ているようで違います。
違いは**基準値を含むかどうか**です。
例えば「80点以上」は80点も含みますが、「80点より大きい」は80点を含みません。
合格基準や金額区分、在庫数の判定では、この違いが集計結果に直接影響します。
なので、業務のルールが「基準値を含む」のか「超えた場合だけ」なのかを確認してから数式に落とし込むことが大事です。
上限と下限を同時に指定したいときも、COUNTIFS関数なら簡単にできます。
例えば、C列の売上金額が10万円以上30万円以下の件数を数えるなら、こう書きます。
```
=COUNTIFS(C2:C100,">=100000″,C2:C100,”<=300000")
```
同じC列を2回指定していますが、これは「C列が10万円以上」**かつ**「C列が30万円以下」という2つの条件を同時に満たすデータを数えているからです。
点数帯、年齢層、価格帯、在庫数の範囲など、実務でとてもよく使う形ですよ。
基準値をセルに入力しておいて、そのセルを参照する方法も覚えておくと便利です。
例えば、E1セルに下限、F1セルに上限を入力している場合は、こう書きます。
```
=COUNTIFS(C2:C100,">=”&E1,C2:C100,”<="&F1)
```
この場合、比較演算子だけをダブルクォーテーションで囲んで、セル番地とは**「&」でつなぎます**。
セル参照にしておけば、基準値を変更するだけで集計結果が自動で更新されるので、分析用のシートやダッシュボードにも使いやすくなります。
AND条件とOR条件の使い分け
COUNTIFS関数は、複数の条件を指定すると自動的に**AND条件(すべての条件を満たす)**になります。
例えば、こんな数式を書いたとします。
“`
=COUNTIFS(A2:A100,”東京”,B2:B100,”完了”)
“`
これは、A列が東京で、**かつ**B列が完了の件数を数えます。
さらに売上金額が10万円以上という条件を加えるなら、こんな感じで条件範囲と条件を追加します。
“`
=COUNTIFS(A2:A100,”東京”,B2:B100,”完了”,C2:C100,”>=100000″)
“`
このように、すべての条件を満たすデータだけを数えたい場合は、COUNTIFS関数をそのまま使えばOKです。
一方で、「東京**または**大阪」「商品A**または**商品B」のような**OR条件(どれか1つを満たす)**を数えたいときは、**COUNTIFS関数を足し合わせる**のが基本です。
例えば、A列が東京または大阪の件数を数えるなら、こう書きます。
“`
=COUNTIFS(A2:A100,”東京”)+COUNTIFS(A2:A100,”大阪”)
“`
さらに「東京で完了、または大阪で完了」のように、OR条件の中にAND条件が含まれる場合は、こう書けます。
“`
=COUNTIFS(A2:A100,”東京”,B2:B100,”完了”)+COUNTIFS(A2:A100,”大阪”,B2:B100,”完了”)
“`
ちょっと長くなりますが、考え方は「条件のまとまりごとにCOUNTIFSを作って、最後に足す」と理解するとわかりやすいです。
ただし、OR条件でCOUNTIFSを足すときは、**重複カウントに注意**が必要です。
例えば「男性で総務部」または「男性で東京都出身」を数える場合、両方に当てはまる人がいると、その人は2回カウントされてしまいます。
こういうときは、足し合わせた結果から「両方に当てはまる件数」を引く必要があります。
数式で表すとこんな感じです。
“`
=COUNTIFS(性別範囲,”男”,部署範囲,”総務部”)
+COUNTIFS(性別範囲,”男”,出身範囲,”東京都”)
-COUNTIFS(性別範囲,”男”,部署範囲,”総務部”,出身範囲,”東京都”)
“`
条件が多くて、COUNTIFSを何度も足すと数式が読みにくくなる場合は、**集計用の条件表を作る**方法もあります。
例えば、別のセル範囲に「東京」「大阪」「名古屋」と条件を並べて、それぞれのCOUNTIFS結果を出してSUM関数で合計すると、後から条件を変更しやすくなります。
Microsoft 365や新しいExcelを使っている場合は、配列数式やSUMPRODUCT関数を組み合わせる選択肢もありますが、初心者の方はまずCOUNTIFSを足す方法から覚えるのが安全です。
数式の見通しをよくすることは、集計ミスを防ぐうえでもとても大切ですよ。
日付条件・空白以外・エラーを防ぐ実務のコツ
COUNTIFS関数は、**日付の期間指定**にもよく使われます。
例えば、A列に日付があって、2025年4月1日から2025年4月30日までの件数を数えるなら、こう書きます。
“`
=COUNTIFS(A2:A100,”>=2025/4/1″,A2:A100,”<=2025/4/30")
```
ただし、日付を直接数式に書く場合は、Excelの地域設定や入力形式によって意図どおりに認識されないことがあります。
より安全にするなら、開始日をE1、終了日をF1に入力して、こんな感じでセル参照で指定する方法がおすすめです。
```
=COUNTIFS(A2:A100,">=”&E1,A2:A100,”<="&F1)
```
日付条件で特に注意したいのが、**セルに時刻情報が含まれているケース**です。
見た目は「2025/4/30」と表示されていても、実際には「2025/4/30 15:30」のような時刻を持っていることがあります。
この場合、「<=2025/4/30」は「2025/4/30 00:00:00以下」と解釈されて、4月30日の日中データが除外される可能性があります。
時刻を含むデータで4月中を数えたいなら、こんな感じで「終了日の翌日未満」で指定すると、実務上のズレを防ぎやすくなります。
```
=COUNTIFS(A2:A100,">=”&E1,A2:A100,”<"&F1+1)
```
**空白以外のセル**を条件に含めたい場合は、「<>」を使います。
例えば、A列が東京で、B列のメモ欄が空白ではない件数を数えるなら、こう書きます。
“`
=COUNTIFS(A2:A100,”東京”,B2:B100,”<>“)
“`
逆に空白を数えたい場合は、条件に空文字を指定して、こう書きます。
“`
=COUNTIFS(B2:B100,””)
“`
入力済みデータだけを対象にしたいときや、未対応・未入力の件数を管理したいときに役立つ指定方法です。
COUNTIFS関数がうまく動かないときは、数式そのものよりも**データ側に原因がある**ことも少なくありません。
数値に見えるデータが文字列として保存されていると、以上・以下の判定が期待どおりにならない場合があります。
また、比較演算子を「=>」のように逆に書いたり、全角記号で入力したり、条件範囲のサイズがズレていたりすると、エラーや誤集計につながります。
以下のポイントを確認すると、原因を見つけやすくなりますよ。
– 比較演算子は**半角**で「>=」「<=」「>」「<」と入力する
- セル参照を使う条件は「">=”&E1」のように**「&」でつなぐ**
– COUNTIFSの各条件範囲は**同じ行数・列数にそろえる**
– 数値や日付が**文字列になっていないか**確認する
– OR条件では**同じデータを二重に数えていないか**確認する
まとめ
COUNTIFS関数は、単に個数を数えるだけの関数ではなく、表の中から必要な条件に合うデータを正確に拾い出すための集計ツールです。
AND条件はCOUNTIFSの標準機能で処理して、OR条件はCOUNTIFS同士を足す。
範囲指定は「以上・以下」を比較演算子で表す。
この基本を押さえれば、多くの業務集計に対応できます。
さらに日付の時刻情報や重複カウントまで意識できるようになると、集計結果の信頼性が大きく高まります。
まずは自分の表で「担当者別」「期間別」「金額帯別」などの条件を作って、COUNTIFSで自動集計するところから試してみてください。
慣れてくると、毎月の集計作業がびっくりするほど楽になりますよ!
広告
