- 作成日 : 2025年8月12日
エクセルのCOUNTIFS関数とは?使い方や複数条件の指定方法、応用例を解説
複数条件でデータを集計したい場合は、ExcelのCOUNTIFS関数(カウントイフス関数)が最適です。たとえば「営業部かつ女性」「80点以上かつ出席率90%以上」など、AND条件での集計を簡単に実現できます。
これまでフィルターや手作業で対応していた集計作業も、COUNTIFS関数を使えばあっという間に処理でき、業務の効率が大幅に向上します。この記事では、COUNTIFS関数の基本構文から実務での活用例、応用パターン、よくあるミスまで、初心者にもわかりやすく解説します。
目次
COUNTIFS関数とは?
COUNTIFS関数は、指定した複数の条件をすべて満たすセルの数を数えるためのエクセル関数です。複数の条件範囲にある複数の検索条件に該当するものを調べたり、期間指定など範囲の上限と下限といった複数条件を指定したりする場合に役立ちます。
たとえば、「商品Aの売上が100個以上」というように、複数の条件を同時に指定して、その条件に合致するデータの件数を簡単に把握できます。
この関数を使いこなせば、複雑な条件の中から必要な情報を見つけ出し、業務の効率化に貢献できます。
COUNTIFS関数の基本的な使い方
COUNTIFS関数の書式は以下の通りです。
=COUNTIFS(条件範囲1, 検索条件1, [条件範囲2, 検索条件2], …)
- 条件範囲1:1つ目の条件を適用する範囲を指定します(必須)。
- 検索条件1: 範囲1に適用する条件を指定します(必須)。
- 条件範囲2, 検索条件2, …: 必要に応じて、2つ目以降の範囲と条件を複数追加できます。
たとえば、「売上データの中から、製品が『A』で、かつ、地域が『東京』の数を数える」といった場合は、以下のように記述します。
=COUNTIFS(製品列の範囲, “A”, 地域列の範囲, “東京”)
ここで重要なのは、「検索条件」の指定方法です。
- 数値の場合:100 や >=50 のように直接数値を入力します。比較演算子(=, >, <, >=, <=, <>) を使う場合は、文字列として「”」で囲む必要があります。
- 文字列の場合:”〇〇” のようにダブルクォーテーションで囲みます。
- セル参照の場合:条件が入力されているセルを直接指定します(例:A1)。この場合、比較演算子と組み合わせる際は “>”&A1 のように指定します。
- ワイルドカード:*(半角アスタリスク)を使って任意の文字列や 、?(半角疑問符)を使って任意の一文字を表し、あいまいな条件を指定することも可能です。たとえば、「”〇〇*”」とすると「〇〇」で始まるすべての文字列にマッチします。
COUNTIFS関数の具体的な利用シーン
COUNTIFS関数は、数値を数えるだけでなく、さまざまな場面でデータの状況を把握し、意思決定に役立てるために活用できます。ここでは、いくつかの具体的な利用例を詳しく見ていきましょう。
営業データの詳細な分析に
営業部門では、日々の活動や売上データの集計が欠かせません。COUNTIFS関数を活用することで、より詳細な分析が可能になります。たとえば、膨大な顧客データの中から「特定の期間内に、特定の製品を、一定数以上購入した顧客」の数を把握したい場合を考えてみましょう。
データには「顧客名」「製品名」「購入日」「購入数」といった項目が並んでいるとします。この時、もし「2025年4月1日から4月30日までの間に、『ノートPC』を『5台以上』購入した顧客の数」を知りたいのであれば、COUNTIFS関数はまさに最適なツールです。
具体的な式としては、=COUNTIFS(購入日列の範囲, “>=2025/04/01”, 購入日列の範囲, “<=2025/04/30”, 製品名列の範囲, “ノートPC”, 購入数列の範囲, “>=5”) のように記述することで、瞬時に該当する顧客の数を割り出せます。
そのため、ターゲット顧客を絞り込んだキャンペーンの企画や、製品ごとの売上傾向の分析に役立てられます。
さらに、「特定の営業担当者が、特定の地域で獲得した新規契約の数」を把握したい場合も同様です。「担当者名」「地域」「契約の種類」といったデータがあれば、=COUNTIFS(担当者列の範囲, “田中”, 地域列の範囲, “関東”, 契約の種類列の範囲, “新規”) と記述すれば、担当者ごとの成果を詳細に分析することが可能になります。
これにより、営業戦略の立案や個々の営業成績の評価にもつながるでしょう。
人事データの効率的な集計と分析に
人事部門においても、従業員データの管理と分析は重要な業務です。COUNTIFS関数は、特定の条件を満たす従業員の数を迅速に把握するのに役立ちます。たとえば、「特定の部署に所属し、かつ勤続年数が一定期間を超えている従業員」の数を把握したい場合、人事データに「部署」「勤続年数」といった項目があれば、簡単に集計できます。
具体的には、「営業部に所属し、勤続年数が5年以上の社員数」を知りたいのであれば、=COUNTIFS(部署列の範囲, “営業部”, 勤続年数列の範囲, “>=5”) のように記述することで、該当する社員の数を即座に把握できます。
COUNTIFS関数による集計結果は、人事異動の検討や、特定の属性を持つ社員への研修案内など、さまざまな人事施策の検討に活用できるでしょう。
また、「特定の役職で、かつ特定のスキルを持っている従業員」の数をカウントする際にも有効です。「役職」「スキル」というデータがあれば、=COUNTIFS(役職列の範囲, “主任”, スキル列の範囲, “TOEIC800点以上”) のように、採用基準や昇進要件を満たす人材を把握することで、人材育成計画の策定に役立てることもできます。
在庫管理や品質管理における状況把握に
在庫管理や品質管理においても、COUNTIFS関数は実用的な場面が多くあります。「特定の倉庫に保管されており、かつ在庫数が基準値を下回っている商品」の数を把握することで、発注の優先順位を判断できます。
たとえば、「倉庫Aにあり、在庫数が10個以下の商品」の数を数えるには、=COUNTIFS(倉庫名列の範囲, “倉庫A”, 在庫数列の範囲, “<=10”) と入力します。これにより、欠品のリスクがある商品を素早く特定し、適切な在庫補充計画を立てることが可能になるのです。
さらに、製造業における品質管理においては、「特定の製造ラインで生産され、かつ不良品と判定された製品」の数を追跡する際にも役立ちます。
「製造ライン」「品質判定」といった項目があれば、=COUNTIFS(製造ライン列の範囲, “ライン3”, 品質判定列の範囲, “不良”) のように、問題のある製造ラインの特定や製品品質の傾向を把握するなど、改善策を検討するための貴重なデータが得られます。
COUNTIFS関数の応用
COUNTIFS関数のより高度な条件指定や、他の関数との組み合わせについて解説します。
日付の条件指定
日付を条件に指定する場合、少し工夫が必要です。たとえば、「特定の日付以降」や「特定期間内」のデータを数えたい場合、比較演算子と日付を組み合わせます。
- 特定の日付以降:=COUNTIFS(日付列の範囲, “>=2025/01/01”)
- 特定期間内(例:2025年1月1日〜2025年1月31日):=COUNTIFS(日付列の範囲, “>=2025/01/01”, 日付列の範囲, “<=2025/01/31”)
同じ日付列の「範囲」を複数回指定し、それぞれに異なる条件を適用することで、特定期間の指定が可能です。
ワイルドカードを使ったあいまい検索
ワイルドカードを活用することで、あいまいな条件でカウントができます。
ワイルドカード | 検索対象 | 使用例 | 結果 |
---|---|---|---|
*(アスタリスク) | 任意の文字列(1文字以上) | “*東京*” | 「東京」を含むすべての文字列にマッチする |
?(疑問符) | 任意の1文字 | “?川市” | 任意の1文字と「川市」を含む文字列にマッチする |
~(チルダ) | ワイルドカード文字そのもの | “商品~*” または “商品~?”または”商品~~” | 「商品*」または「商品?」または「商品~」という文字列にマッチする |
例:=COUNTIFS(商品名列の範囲, “東京*店”) とすると、「東京」で始まり「店」で終わる商品名の数を数えられます。
別のセルを参照して条件を指定する
条件を直接関数に入力するのではなく、別のセルに条件を入力しておき、そのセルを参照することもできます。セル参照により、条件を変更する際にいちいち関数を編集する必要がなくなり、柔軟性が高まります。
例:セルA1に「東京」、セルB1に「男性」と入力されている場合
=COUNTIFS(地域列の範囲, A1, 性別列の範囲, B1)
比較演算子と組み合わせる場合は、”>”&A1 のようにアンパサンド(&)で結合します。
COUNTIFS関数と他の関数の組み合わせ
COUNTIFS関数は単独でも強力ですが、他の関数と組み合わせることでさらに高度な分析が可能です。
SUM関数との連携
COUNTIFS関数とSUM関数を連携すれば、条件を満たすセルの合計を計算できます。より複雑な条件で「カウント」や「集計」を行いたい場合に検討できます。
OFFSET関数などとの動的な範囲指定
データが日々追加されるような場合、COUNTIFS関数の範囲をOFFSET関数やINDIRECT関数などを使って動的に指定することで、常に最新のデータを対象にできます。
ただし、これらの関数はデータ量が多い場合に計算が重くなる可能性があるため、状況によってはExcelのテーブル機能や名前定義、あるいはINDEX関数とMATCH関数の組み合わせなども有効です。
COUNTIFS関数のよくあるエラーと対策
COUNTIFS関数を使っていると、思い通りの結果が得られないことがあります。ここでは、よくあるエラーとその対策について解説します。
エラー1:結果が0になる
条件を満たすデータがあるはずなのに、結果が0になる場合、以下の原因が考えられます。
- スペルミスや表記ゆれ:条件の文字列が、実際のデータと完全に一致していない可能性があります。全角・半角の違い、スペースの有無なども確認しましょう。
- データ型が異なる:数値を文字列として認識している、日付の形式が異なるといったケースです。たとえば、数値の「100」が文字列として保存されていると、=COUNTIFS(範囲, 100) ではカウントされません。セルの書式設定を確認し、データ型を統一しましょう。
- 範囲と条件のペアが間違っている:指定した範囲と条件が正しく対応しているか確認しましょう。
- 条件の文字列は、実際のデータからコピー&ペーストして間違いを防ぎましょう。
- TEXT関数などを使って、数値を一時的にテキストに変換して試すのも有効です。
- F2キーを押してセルを編集状態にし、条件のセルと範囲のセルをよく確認してください。
エラー2:#VALUE! エラーが表示される
#VALUE! エラーは、数式に問題があったり、引数に無効な値が指定されたりした場合に発生します。
- 範囲の指定が正しくない:範囲が参照できない、または存在しないシートを参照している可能性があります。
- 比較演算子の記述ミス:たとえば、”>100″ と記述すべきところを >100 のようにダブルクォーテーションを忘れているとエラーになります。
- 範囲の指定が正しいか、シート名を含めて再度確認してください。
- 比較演算子を使用する場合は、必ずダブルクォーテーションで囲むようにしましょう。
エラー3:#NAME? エラーが表示される
#NAME? エラーは、関数名が間違っている場合に発生します。
- 関数名のスペルミス:COUNTIFS を COUNTIF や COUNTFS のように誤って入力している可能性があります。
- 関数名を正確に入力しているか確認してください。エクセルには数式のウィザード機能や関数ウィザードがあるので、それらを活用するとスペルミスを防げます。
エラー4:複雑な条件で想定と異なる結果になる
複数の条件を組み合わせる際、論理的なミスが生じることがあります。
- OR条件の表現:COUNTIFS関数は基本的にAND条件(すべての条件を満たす)で動作します。「AまたはB」といったOR条件を表現したい場合は、COUNTIFS関数を複数使い、その結果を足し合わせる必要があります。 例「地域が東京または大阪の商品の数」 =COUNTIFS(地域列の範囲, “東京”) + COUNTIFS(地域列の範囲, “大阪”)
- 「〜ではない」条件の指定:<> 演算子を使って、「〜ではない(等しくない、条件に一致しない)」という条件を指定できます。 例:「担当者が鈴木さんではない取引の数」 =COUNTIFS(担当者列の範囲, “<>鈴木”)
- 複数の条件を組み合わせる際は、それぞれの条件が正しく機能しているか、一つずつ確認しながら進めましょう。
- OR条件やNOT条件など、COUNTIFS関数だけでは表現しにくい条件の場合は、別の関数との組み合わせや、複数のCOUNTIFS関数を足し合わせる方法を検討しましょう。
COUNTIFS関数でデータ集計を効率化しよう
COUNTIFS関数は、エクセルでのデータ集計において非常に強力なツールです。複数の条件を柔軟に指定し、必要なデータの数を瞬時に把握できるため、日々の業務効率を大幅に向上させられます。
この記事で解説した基本的な使い方から、日付やワイルドカードを使った応用、そしてよくあるエラーとその対策までを理解し、実際に手を動かして試してみてください。最初は戸惑うかもしれませんが、繰り返し練習することで、きっとデータ分析スキルは飛躍的に向上するはずです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
エクセルのIRR関数とは?XIRR関数との違いや投資の収益性の評価方法を解説
IRR関数(読み方:アイ・アール・アール関数)は、Excelで投資の収益性を評価する際に役立つ関数です。 「この投資は本当に利益を生むのか?」という疑問に対し、感覚ではなく数値に基づいた判断が可能になります。資金回収のスピードや効率を見える…
詳しくみるエクセルで時間を計算する方法まとめ!目的別にやり方を解説
エクセルは、時間の計算を行う上で非常に便利なツールです。ビジネスシーンや日常生活において、勤務時間の集計やタスクごとの経過時間の把握など、さまざまな場面で役立ちます。本記事では、エクセルを使用して時間を計算する方法を詳しく解説します。合計時…
詳しくみる日付をシリアル値に変換するDATEVALUE関数の使い方
DATEVALUE関数は、日付をシリアル値(Excelが日付や時刻を数値として扱うための値)に変換するための非常に便利な関数です。この関数を使用することで、テキスト形式の日付を数値として扱うことができ、日付の計算や分析が容易になります。特に…
詳しくみるVLOOKUP関数とは?初心者向けにわかりやすく解説
VLOOKUP関数とは、Excelの強力な機能の一つで、指定した値を元にデータを探し出すために使用される関数です。この関数を用いることで、大量のデータの中から必要な情報を迅速に抽出することが可能になります。特に、表形式のデータを扱う際に便利…
詳しくみるTRANSPOSE関数の使い方や他の関数との組み合わせを解説
TRANSPOSE関数は、データの行と列を入れ替えるために使用される強力なツールです。この関数を適切に活用することで、データの可視化や分析が効率的に行えます。本記事では、TRANSPOSE関数の基本的な使い方に加え、実際の利用シーンや他の関…
詳しくみるLOOKUP関数とは?VLOOKUP関数との違いや使い方をわかりやすく解説
LOOKUP関数は、ExcelやGoogleスプレッドシートでデータを検索するための強力なツールです。この関数を使用すると、指定した値をもとに、他の値を簡単に取得できます。本記事では、LOOKUP関数の基本的な使い方や、代表的なVLOOKU…
詳しくみる