くまおやぢの雑記帳

人生は、やろうと思った瞬間がスタートライン。Excel・Access・ガジェット・スマホ関係のネタを綴っています。あなたの「できる」を応援します。

COUNTIFS・SUMIFS関数の使い方:複数条件でデータを集計する方法

 

 

 

01.なぜCOUNTIFS/SUMIFSが必要か?

日々の業務で、売上データの集計や出勤状況の確認など「特定の条件に合うデータを数えたり合計したい」場面は多くあります。しかし、複数の条件が絡むケースでは手作業でフィルターをかけて数えたり計算したりするのは非常に手間で、ミスも起こりがちです。

例えば、「東京支店のうち文房具カテゴリーの売上件数を数えたい」場合、フィルターを二重にかけて手集計するのは効率が悪いでしょう。

そこで活躍するのがExcelのCOUNTIFS関数とSUMIFS関数です。これらの関数を使えば、複数の条件を一度に指定してデータをカウント・合計できます。

COUNTIFS関数は複数条件に一致するセルの「個数」を数え、SUMIFS関数は複数条件に一致するセルに対応する数値の「合計」を求める関数です。いずれもExcel 2007以降で利用可能な強力な集計機能で、業務の効率化に貢献します。

本記事では、COUNTIFSとSUMIFSの基本的な使い方から具体的な実務例、よくあるエラーや応用テクニック、さらにはピボットテーブルとの使い分けまで詳しく解説します。複数条件の集計に悩んでいるExcel初〜中級者の方は、ぜひ参考にしてみてください。

02.COUNTIFS関数の基本構文と使い方(単一条件・複数条件)

COUNTIFS(カウントイフス)関数は、複数の条件を全て満たすセルの個数を数える関数です。指定できる条件は1つ以上で、最大127組まで指定可能です。実は条件が1つの場合でもCOUNTIFS関数は利用でき(COUNTIF関数の拡張版といえます、複数条件のAND集計を行う際に特に便利です。

COUNTIFS関数の基本構文は以下の通りです:

=COUNTIFS(範囲1, 条件1, 範囲2, 条件2, …)

構文中、範囲Nには条件を適用するセル範囲、条件Nにはその範囲に対して一致させたい条件を指定します。範囲と条件はペアで指定し、2組目以降は任意です。例えば1つの条件でカウントしたい場合は=COUNTIFS(A1:A100, "基準値")のように範囲と条件を1組だけ指定します。複数条件の場合は、さらに範囲・条件の組を追加していきます。

複数の条件はAND条件(論理積)として扱われます。つまり、指定したすべての条件に一致する行だけがカウントの対象です。文字列の条件を指定する場合はダブルクオーテーション (") で囲み、数値の大小比較や不等号を用いる場合も同様に">=100""<>0"のようにクオーテーション付きの文字列として指定します。

なお、ワイルドカード(*?)を使った部分一致も可能です。では、実際の使用例を見てみましょう。以下のような売上データの一覧表を考えます(担当者別に商品カテゴリと売上金額、地域が記録されています)。

 

【売上データ表の例】
担当者 商品カテゴリ 売上金額 地域
田中 文房具 1200 東京
鈴木 家電 5800 大阪
佐藤 文房具 900 東京
高橋 書籍 1500 名古屋
伊藤 家電 7600 東京
渡辺 書籍 1700 大阪
中村 文房具 1100 東京

 

この表から、「地域が『東京』」かつ「商品カテゴリが『文房具』」に該当する売上件数を数えてみます。COUNTIFS関数を使えば、1つの式で両条件に合う行の数を抽出可能です。例えば、上記データに対して次のような数式を入力します。

=COUNTIFS(D2:D8, "東京", B2:B8, "文房具")

ここでは、D2:D8が「地域」列(東京かどうか)の範囲、B2:B8が「商品カテゴリ」列(文房具かどうか)の範囲です。上記の式は、範囲D2:D8で「東京」に一致し、かつ範囲B2:B8で「文房具」に一致する行をすべてカウントします。その結果、この条件に合致するのは3件となります(田中・佐藤・中村の3行が該当)。

単一条件の場合もCOUNTIFSは同様に使えます。例えば「地域が東京の件数」を数えるだけなら=COUNTIFS(D2:D8, "東京")と1条件で書いてもOKです(もちろん従来通りCOUNTIF(D2:D8,"東京")と書いても同じ結果が得られます)。このように、COUNTIFS関数は柔軟に複数条件のデータ件数を算出できる便利な関数です。

03.SUMIFS関数の基本構文と使い方(単一条件・複数条件)

SUMIFS(サムイフス)関数は、複数の条件を満たすデータの合計値を計算する関数です。SUMIFSも条件は1つから指定でき、複数条件に対応します(最大127組まで指定可能)。SUMIF関数(単一条件の合計)と名前が似ていますが、構文上の順序が異なる点に注意してください。SUMIFSではまず「合計対象範囲」を指定し、その後に条件範囲と条件を列挙していきます。

SUMIFS関数の基本構文は以下の通りです:

=SUMIFS(合計対象範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)

合計対象範囲には集計したい数値データの範囲を指定します。続く条件範囲N条件Nには、それぞれ絞り込みの条件を指定します(COUNTIFSと同様にAND条件として扱われます。SUMIFSでは、指定したすべての条件を満たす行についてのみ、合計対象範囲のセルの値を合計します。

先ほどの売上データの例で、SUMIFS関数を使ってみましょう。例えば「東京地域かつ文房具カテゴリーの売上金額の合計」を求めることができます。

使用する数式は以下のようになります。

=SUMIFS(C2:C8, D2:D8, "東京", B2:B8, "文房具")

ここではC2:C8が「売上金額」の範囲(これが合計対象範囲)、D2:D8が「地域」の範囲、B2:B8が「商品カテゴリ」の範囲です。式の意味は、「D列で『東京』に一致し、B列で『文房具』に一致する行について、C列の値を合計せよ」という指示になります。先の表では該当する3行(田中・佐藤・中村)の売上金額1200 + 900 + 1100 = 3200となるため、結果は3200となります。

条件が1つだけの場合もSUMIFSは活用できます。例えば「家電カテゴリーの売上合計」を求めるなら=SUMIFS(C2:C8, B2:B8, "家電")と書けば、B列が「家電」に一致する行のC列数値をすべて合計できます。これはSUMIF(B2:B8, "家電", C2:C8)と同じ意味になります。複数条件の場合にはSUMIFSを使うことで、一度に条件を指定して合計できるため非常に効率的です。

なお、COUNTIFS/SUMIFS共通ですが、条件範囲(検索範囲)と合計対象範囲は、それぞれ行数・列数を一致させる必要があります。範囲の大きさが異なると正しく計算できませんので注意しましょう。

 

 

 

04.具体的な業務での利用シナリオ

COUNTIFS関数とSUMIFS関数は、さまざまな実務シーンで活用できます。ここでは具体的なシナリオをいくつか紹介します。

営業日報の集計

営業担当者の日報データから、条件に合う件数や金額を瞬時に集計できます。例えば、「本日◯◯さんが訪問した件数」を集計する場合、日報シートに記録された「担当者」と「日付」の両方を条件にしてCOUNTIFSを使えば、その担当者・その日の訪問件数を自動算出できます。また、SUMIFSを使えば「◯月◯日の売上合計」「特定の商品カテゴリーの商談金額合計」なども一式で計算可能です。

売上管理・営業成績の分析

売上データから、期間や担当、商品カテゴリ別の集計を行う際に役立ちます。例えば、「四半期ごとの地域別売上額」を知りたいときには、SUMIFS関数で「日付が該当四半期内」「地域が○○」の条件を指定して合計を出せます。同様にCOUNTIFSを使えば「一定期間内に◯◯商品を販売した件数」などを数えることができます。これにより、複数の条件軸で売上を分析し、傾向を把握することが容易になります。

出勤簿・勤怠集計

社員の出勤記録から勤怠状況を集計する場合にも活躍します。例えば、「特定社員の特定月の出勤日数」を数えるには、COUNTIFSで「氏名が◯◯」「日付が〇月内」「出勤ステータスが『出勤』」という3つの条件を与えてカウントすれば求められます。複数社員のデータが混在していても、一度の数式コピーで各人の出勤日数や欠勤日数を算出でき、勤怠管理の効率が格段に上がります。

このように、COUNTIFS/SUMIFSは営業や経理、人事など様々な部門での日々の集計業務にすぐに応用できます。関数を使った自動集計を活用することで、手作業による集計ミスを防ぎつつ大幅な時間短縮が期待できるでしょう。

05.よくあるエラー・つまずきポイントとその対処法

COUNTIFSやSUMIFSを使い始めたとき、初心者が陥りやすいミスやエラーがあります。ここでは代表的なつまずきポイントと対処法をまとめます。

#VALUE! エラー(範囲の大きさ不一致)

最も多いのが、指定した条件範囲どうし、あるいは条件範囲と合計範囲のセル数が合っていない場合のエラーです。COUNTIFS/SUMIFSではすべての範囲は同じ行数(または列数)でなければなりません。対策として、各範囲がきちんと対応するようにセル範囲を指定しなおしてください(例:A2:A50B2:B50のように開始・終了行を揃える)。

条件指定の書式ミス

条件の書き方を誤ると意図した結果が得られません。例えば数値の不等号条件(「以上」「以下」など)を指定する際、=COUNTIFS(A:A, ">=10")のように">=10"と文字列で書かないと正しく認識されません。また、他のセルの値を条件に使う場合も">=" & $X$1のようにアンパサンドで繋いで文字列化する必要があります。日付を条件にする際も注意が必要で、">="&DATE(2025,6,1) のように関数を使うか、条件セルを参照する方法がおすすめです(日付を直接文字列にすると認識されない場合があるため)。

絶対参照の漏れによる範囲ズレ

複数の行や列に渡ってCOUNTIFS/SUMIFSをコピーして使う場合、範囲指定に絶対参照($マーク)を付け忘れると、コピー先で範囲がずれて誤計算の原因になります。たとえば集計表で行方向にコピーする場合、=COUNTIFS($A$2:$A$100, $E2, ...)のように固定すべき参照は$で固定しましょう。こうすることで、ドラッグコピーしても条件範囲が変動せず、安定した結果が得られます。

COUNTIFS関数でOR条件を扱えない

COUNTIFS/SUMIFSはいずれもすべての条件を満たすAND条件の集計ですが、「いずれかの条件を満たす(OR条件)の件数・合計」を一度に出したいケースがあります。残念ながらこれら関数だけでORを直接指定することはできません。対処法として、条件を複数に分けて別々に計算し、その結果を足し合わせる方法があります(例えば「部署が総務部または人事部の件数」を求める際は=COUNTIFS(E:E,"総務部")+COUNTIFS(E:E,"人事部")のように2回に分けて計算)。もしくは、Excel 365以降であればCOUNTIFSに配列定数を渡すテクニックもありますが、中級者まではシンプルに分割計算+加算で対応すると良いでしょう。

データ型の不一致

条件範囲の値と指定する条件のデータ型(文字列か数値か日付か)が合っていないと、思ったように一致判定されません。例えば数値が入力された列に対し、数字を文字列("123"のようにクオート付き)で条件指定すると一致しないことがあります。基本的に数値条件はクオートで囲まなくても指定可能ですが(例:COUNTIFS(X:X, 123))、不等号を使う場合などは文字列にせざるを得ません。その場合、列の値が実際に数値として入力されているか(文字列になっていないか)も確認し、必要に応じてデータを修正しましょう。

以上のポイントに注意すれば、COUNTIFS・SUMIFSをよりスムーズに活用できます。エラーが出たときは慌てず、関数の引数ダイアログなどで範囲指定や条件を一つひとつ確認すると原因が見つかりやすいです。

06.応用テクニック(動的範囲・日付条件・他関数との組み合わせ)

ここでは、COUNTIFS/SUMIFSをさらに活用するためのテクニックを紹介します。慣れてきたらぜひ試してみてください。

範囲を動的にする方法

データが追加・変動するリストに対して集計を行う場合、関数の参照範囲を自動的に追従させると便利です。方法はいくつかありますが、代表的なものを2つ紹介します。

Excelテーブル機能を使う

集計対象のデータ範囲をExcelの「テーブル」(一覧表)に設定すると、そのテーブルに新しい行を追加してもCOUNTIFS/SUMIFSの参照範囲が自動で拡張されます。テーブルでは列名を使った構造化参照が可能なので、例:=SUMIFS(売上テーブル[売上金額], 売上テーブル[地域], "東京")のように書けば、新たに行が増えても常にテーブル全体を対象に計算してくれます。

OFFSET関数や名前付き範囲を使う

関数で範囲を可変にする方法です。OFFSET関数とCOUNTA関数を組み合わせて、データが何行あるかに応じて範囲を動的決定することができます。例えば、A列にデータが増えていく場合、OFFSET($A$1, 1, 0, COUNTA($A:$A)-1, 1)のような式で最終行までを可変範囲として取得できます。これをCOUNTIFS等の範囲指定に組み込めば、データ追加時に式を修正する必要がなくなります(ただし式が複雑になるため、中〜上級者向けの方法です)。

日付を条件に使う方法

日付を扱う集計では、特定の期間内のデータを数えたり合計したりするニーズがよくあります。COUNTIFS/SUMIFSで日付条件を指定するポイントは以下の通りです。

比較演算子と組み合わせる

例えば「2025年6月以降」のデータを対象にするには、">=" & DATE(2025,6,1)と指定します。先述の通り、比較演算子付きの条件は文字列として">="等を書く必要がありますが、DATE関数やセル参照と繋げることで正しく日付シリアル値を比較できます。

開始日と終了日の両条件を使う

一定期間の範囲に絞り込む場合、開始日以上かつ終了日以下という2つの条件を組み合わせます。例えば6月中(6/1〜6/30)の件数なら、=COUNTIFS(日付範囲, ">=&"&開始日セル, 日付範囲, "<=&"&終了日セル)のように書きます。このとき開始日・終了日はあらかじめセル(例:F1、G1)に設定しておくと式が読みやすくなります。

年や月での集計

特定の年だけ、月だけで集計したい場合、YEAR関数やTEXT関数と組み合わせる方法もあります。例えば日付列に対し=COUNTIFS( 日付範囲, "2025/6*" )のようにワイルドカードで月を指定するテクニックもありますが(「2025/6」で始まる日付)、確実なのは補助列で年や月を算出しておきCOUNTIFS条件に使うことです(またはSUMIFSの場合はSUMIFS(..., YEAR(日付範囲), 2025, MONTH(日付範囲), 6)という配列数式も可能ですが、こちらも高度な手法となります)。

他関数との組み合わせ活用

COUNTIFS/SUMIFSは単独でも便利ですが、他の関数と組み合わせることでさらに活用の幅が広がります。

IF関数や条件付き書式との併用

COUNTIFSをIF関数の中で使い、集計結果によって表示を切り替えるような使い方も可能です(例:=IF(COUNTIFS(...)=0, "該当なし", "あり"))。また、COUNTIFSの結果を条件付き書式のルールに使用し、一定件数以上ならセルを色付けするといった応用もできます。

AVERAGEIFS関数・比率計算

Excelには平均を求めるAVERAGEIFS関数もありますが、SUMIFSとCOUNTIFSを組み合わせれば条件付き平均を自分で計算できます。例えば「東京&文房具の平均売上金額」は=SUMIFS(...)/COUNTIFS(...)で算出できます。COUNTIFSが0の場合のエラー対策としてIFERRORで囲む(=IFERROR(計算, 0))などすれば、データがない条件でもエラーを表示せずに済みます。

OR条件をSUMPRODUCTで実現

先にOR条件は直接指定できないと述べましたが、上級者向けテクニックとしてSUMPRODUCT関数でOR条件を計算する方法もあります。例えば「部署が総務または人事の人数」は=SUMPRODUCT((部署範囲="総務部")+(部署範囲="人事部"))のように配列計算で求めることが可能です。SUMPRODUCTは配列を扱えるため、条件式の加算によりORの論理和を実現できます。ただし計算の理解が必要なので、まずはシンプルな加算で対応し、余裕があれば挑戦してみると良いでしょう。

 

 

 

07.ピボットテーブルとの違いと使い分け

複数条件の集計といえば、Excelのピボットテーブル機能も強力です。COUNTIFS/SUMIFSとピボットテーブル、それぞれどのような特徴があり、どう使い分けると良いでしょうか。

基本的な違いとして、COUNTIFS/SUMIFSは特定の条件に合う値を「数式」で個別に算出するのに対し、ピボットテーブルはデータ全体を集計して「一覧表(レポート)」として表示する点が挙げられます。以下に両者の特徴をまとめます。

 

機能 特徴とメリット 適した用途
COUNTIFS/SUMIFS(関数)
  • 特定の条件に合う数値をセル上で即座に計算し表示できる。
  • 集計結果を他の計算に組み込んだり、自由なレイアウトの報告書に埋め込める。
  • データが更新されれば自動的に再計算される(リアルタイム性が高い)。
  • 一方、異なる条件パターンごとに別々の関数を用意する必要があり、項目が多い集計には数式管理が煩雑になる。
  • 特定の指標(値)をピンポイントで知りたいとき。
  • 計算結果をさらに他の計算に利用したいとき(例:比率算出や条件分岐)。
  • 既存の報告書フォーマットに値だけ埋め込みたい場合。
ピボットテーブル
  • データ全体をクロス集計し、複数の条件軸でグループ化した結果を表形式で出力できる:contentReference[oaicite:18]{index=18}:contentReference[oaicite:19]{index=19}。
  • ドラッグ&ドロップで集計項目やレイアウトを変更でき、集計の切り口を柔軟に変えられる。
  • 集計と同時に簡易なグラフ化(ピボットグラフ)も可能で、視覚的な分析に優れる:contentReference[oaicite:20]{index=20}:contentReference[oaicite:21]{index=21}。
  • ただし、関数と異なり集計結果が固定の表として出力されるため、個々の値を直接ほかのセル計算に参照させるには工夫が必要(GETPIVOTDATA関数の利用など)。
  • 大きなデータセットを多角的に集計・分析したいとき(例えば「地域×商品カテゴリ別の売上マトリクス」を一度に作成)。
  • 集計レポート自体を作成したい場合や、集計結果を視覚化(グラフ化)して傾向を掴みたい場合。
  • 条件を色々切り替えながらデータを試行的に分析する場合(ピボットテーブルのフィルターやフィールド配置替えで即座に結果を比較可能)。

 

まとめると、「特定の集計値を他の計算やレイアウトに組み込む必要があるときはCOUNTIFS/SUMIFS、データ全体を俯瞰してレポート化するときはピボットテーブル」と使い分けると良いでしょう。もちろんケースバイケースですが、それぞれの得意分野を活かすことで、Excelでの集計作業をより効率的に行うことができます。

08.まとめと実務への導入のすすめ

COUNTIFS関数およびSUMIFS関数は、複数条件に基づくデータ集計を手早く正確に行うための強力なツールです。手作業で集計していた作業をこれらの関数に置き換えることで、ヒューマンエラーを防止しつつ作業時間を大幅に短縮できます。

特に日々の報告業務や定期的な集計作業では、一度関数を設定すれば以降の更新時に自動再計算されるため、繰り返し業務の効率化に直結します。

この記事で紹介した基本から応用までの内容を踏まえ、ぜひ自社のデータでCOUNTIFS/SUMIFSを試してみてください。最初は小さな集計から始め、慣れてきたら複数の条件を組み合わせた分析へと発展させると良いでしょう。併せてピボットテーブルなど他の集計機能とも比較し、目的に応じて使い分けることでExcel集計作業の幅が広がります。

業務効率化の鍵は「手作業の自動化」と「正確性」です。COUNTIFS・SUMIFS関数をマスターし活用することで、煩雑な集計作業から解放され、浮いた時間をコア業務に充てることが可能になります。ぜひ今日から実務に取り入れて、その効果を実感してみてください。