エクセルのSUMIF・COUNTIF完全ガイド|単一条件から複数条件まで、この1記事でマスター

どうも、くまおやぢです。

「この担当者の売上だけ合計したいんだけど、いちいちフィルターかけて電卓で足すしかないの?」

――わたしが以前の職場で後輩から受けた相談です。その後輩は、毎月の売上集計で「部署フィルター → 手計算 → フィルター解除 → 次の部署……」を繰り返していました。30分以上かけて。

ですが、ご安心を。

SUMIF関数COUNTIF関数を覚えれば、こうした「条件付きの集計」はセルに数式を1つ入れるだけで終わります。さらに、複数の条件を同時に指定できるSUMIFSCOUNTIFSを使えば、「営業部の、4月分の、売上合計」といった複雑な集計も一発です。

この記事では、SUMIF / COUNTIF の基本から、SUMIFS / COUNTIFS の複数条件指定、ワイルドカード、日付条件、OR条件の実現方法、よくあるエラーの対処法まで、この1記事で完全網羅します!


この記事でできること

対象者:Excel初心者〜中級者(SUM関数は使えるが、条件付き集計は未経験 or 苦手な方)

読み方ガイド

あなたの状態読むべき章
SUMIF / COUNTIF を触ったことがない→ 03章・04章から
単一条件はできるが複数条件が分からない→ 05章から
日付条件やOR条件で困っている→ 06章へ直行
エラーが出て原因が分からない→ 07章へ直行

急いでいる人へ|最短手順

条件付き合計(SUMIF)

=SUMIF(条件を調べる範囲, 条件, 合計する範囲)

例:=SUMIF(A2:A100,"佐藤",C2:C100) → A列が「佐藤」の行のC列を合計

条件付きカウント(COUNTIF)

=COUNTIF(範囲, 条件)

例:=COUNTIF(A2:A100,"佐藤") → A列に「佐藤」がいくつあるか

次の章では、4つの関数の関係性を整理してから、順番に解説していきます。


03. まず全体像をつかもう|4つの関数の関係マップ

SUMIF系・COUNTIF系の関数は全部で4つあります。まずは全体像を押さえましょう。

関数名条件の数何をする?構文
SUMIF1つ条件に合う数値を合計=SUMIF(範囲, 条件, 合計範囲)
SUMIFS複数複数条件に合う数値を合計=SUMIFS(合計範囲, 範囲1, 条件1, 範囲2, 条件2, …)
COUNTIF1つ条件に合うセルをカウント=COUNTIF(範囲, 条件)
COUNTIFS複数複数条件に合うセルをカウント=COUNTIFS(範囲1, 条件1, 範囲2, 条件2, …)

覚え方はシンプル:末尾に「S」がつくと複数条件対応。SはpluralのS(複数形)と覚えてください。

SUMIFとSUMIFSで引数の順番が違う!

  • SUMIF → =SUMIF(範囲, 条件, **合計範囲**) ← 合計範囲が最後
  • SUMIFS → =SUMIFS(**合計範囲**, 範囲1, 条件1, …) ← 合計範囲が最初

この違いは初心者がつまずく最大のポイントです。SUMIFSは「まず何を合計するか宣言してから、条件を並べる」と覚えるとスムーズです。

【ここに図を入れる】4つの関数の関係図 — 縦軸に「合計 / カウント」、横軸に「1条件 / 複数条件」の2×2マトリクス。左上にSUMIF、右上にSUMIFS、左下にCOUNTIF、右下にCOUNTIFS。矢印で「Sが付くと複数条件対応」を示す。

次の章では、まず基本のSUMIF・COUNTIFから解説します。


04. 基本編|SUMIF・COUNTIFで単一条件の集計をマスター

SUMIF関数:条件に合う数値を合計する

構文

=SUMIF(範囲, 条件, 合計範囲)
引数意味
範囲条件をチェックするセル範囲A2:A100(担当者名の列)
条件どのデータを対象にするか“佐藤”
合計範囲合計したい数値のセル範囲C2:C100(売上金額の列)

使用例:「担当者が佐藤の売上合計」を求める

=SUMIF(A2:A100, "佐藤", C2:C100)

A列が「佐藤」と一致する行のC列の数値を合計します。

セル参照で条件を指定する方法

条件を直接文字列で書く代わりに、セルの値を参照することもできます。

=SUMIF(A2:A100, E1, C2:C100)

E1セルに「佐藤」と入力しておけば、E1の値を変えるだけで集計対象を切り替えられます。ダッシュボード的な使い方に便利です。

比較演算子を使った条件指定

条件の書き方意味
">=100"100以上
"<500"500未満
"<>"空白でない
"<>完了"「完了」以外
=SUMIF(C2:C100, ">=10000", C2:C100)

この例では、C列の値が10,000以上のセルだけを合計します。範囲と合計範囲が同じ列になっている点に注目してください。「この列の中で○○以上だけ合計」というパターンです。

COUNTIF関数:条件に合うセルの個数を数える

構文

=COUNTIF(範囲, 条件)

SUMIFと違い、引数は2つだけ。合計範囲が不要です(数えるだけなので)。

使用例:「佐藤という名前が何件あるか」を数える

=COUNTIF(A2:A100, "佐藤")

ワイルドカードで部分一致

ワイルドカード意味
*(アスタリスク)任意の文字列(0文字以上)"佐藤*" → 佐藤で始まる
?(クエスチョン)任意の1文字"佐??" → 佐+2文字
=COUNTIF(A2:A100, "*株式会社*")

この例では、「株式会社」という文字を含むセルをすべてカウントします。前後にアスタリスクを付けることで、位置を問わない部分一致になります。

ワイルドカードはSUMIFでも使えます=SUMIF(A2:A100,"佐藤*",C2:C100) とすれば、「佐藤一郎」「佐藤美咲」など佐藤で始まる全員の売上を合計できます。

よくあるミス:範囲と合計範囲のサイズが違う

SUMIFで最も多い失敗が、範囲と合計範囲の行数が一致していないケースです。

❌ =SUMIF(A2:A100, "佐藤", C2:C50)  ← 範囲は100行なのに合計範囲は50行
⭕ =SUMIF(A2:A100, "佐藤", C2:C100) ← 両方100行で一致

関数は「1行目は1行目同士、2行目は2行目同士」で照合しています。サイズがズレていると、意図しない結果になるか、エラーにはならないまま間違った数値が返ってくるため発見が遅れます。

やってはいけないこと:範囲を A:A のように列全体で指定すると、空白セルも含めて100万行以上を走査するため、動作が重くなります。データがある範囲に絞って指定しましょう。

次の章では、複数条件に対応したSUMIFS・COUNTIFSを解説します。ここからが実務で本当に役立つパートです!


05. 応用編|SUMIFS・COUNTIFSで複数条件を同時に指定する

SUMIFS関数:複数条件で合計する

構文

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

重要:SUMIFと引数の順番が違います。合計範囲が最初に来ます。

引数意味
合計範囲合計したい数値のセル範囲
条件範囲11つ目の条件をチェックする範囲
条件11つ目の条件
条件範囲22つ目の条件をチェックする範囲
条件22つ目の条件

条件のペアは最大127組まで追加できます(実務では2〜3組で十分です)。

使用例:「営業部の、4月の売上合計」を求める

以下のようなデータを想定します。

A列:日付B列:部署C列:売上金額
2025/4/1営業部150,000
2025/4/5総務部30,000
2025/4/10営業部200,000
2025/5/1営業部180,000
=SUMIFS(C2:C100, B2:B100, "営業部", A2:A100, ">=2025/4/1", A2:A100, "<=2025/4/30")

この数式では3つの条件を同時に指定しています。

  1. B列が「営業部」
  2. A列が2025/4/1以降
  3. A列が2025/4/30以下

すべてをAND条件(すべて満たす)で判定し、該当する行のC列を合計します。

セル参照を使って条件を柔軟にする

=SUMIFS(C2:C100, B2:B100, E1, A2:A100, ">="&F1, A2:A100, "<="&G1)

E1に部署名、F1に開始日、G1に終了日を入れておけば、セルを変えるだけで集計条件を切り替えられます。

ポイント:日付や数値を演算子と組み合わせるときは、">="&F1 のように演算子を文字列で書いてからセル参照を & で結合します。

COUNTIFS関数:複数条件でカウントする

構文

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

SUMIFSと同じ考え方で、条件のペアを並べるだけ。合計範囲が不要な分、さらにシンプルです。

使用例:「東京で、文房具カテゴリの売上が何件あるか」

=COUNTIFS(D2:D100, "東京", B2:B100, "文房具")

D列が「東京」かつB列が「文房具」の行をカウントします。

SUMIFSとCOUNTIFSの使い分け早見表

やりたいこと使う関数
佐藤の売上合計SUMIF=SUMIF(A:A,"佐藤",C:C)
営業部の4月の売上合計SUMIFS=SUMIFS(C:C,B:B,"営業部",A:A,">=2025/4/1",A:A,"<=2025/4/30")
佐藤の件数COUNTIF=COUNTIF(A:A,"佐藤")
東京の文房具の件数COUNTIFS=COUNTIFS(D:D,"東京",B:B,"文房具")

次の章では、実務でつまずきやすい「日付条件」「OR条件」「SUMPRODUCT」を解説します。


06. 実務で差がつく応用テクニック|日付条件・OR条件・SUMPRODUCT

日付を条件にする3つのパターン

日付条件はSUMIFS/COUNTIFSで最も使用頻度が高く、かつ最もミスが起きやすい部分です。

パターン①:特定の期間を指定する

=SUMIFS(C2:C100, A2:A100, ">=2025/4/1", A2:A100, "<=2025/4/30")

開始日と終了日の2つの条件で範囲を挟みます。同じ列(A列)に対して2つの条件を指定している点がポイント。

パターン②:TODAY関数で「今月分」を自動集計する

=SUMIFS(C2:C100, A2:A100, ">="&DATE(YEAR(TODAY()),MONTH(TODAY()),1), A2:A100, "<="&TODAY())
  • DATE(YEAR(TODAY()),MONTH(TODAY()),1) → 今月1日
  • TODAY() → 今日の日付

この数式なら、月が変わっても自動で集計期間が更新されます。

パターン③:年や月だけで集計する

「2025年の売上合計」のように年単位で集計したい場合は、YEAR関数と組み合わせる方法もありますが、SUMIFS単体では関数を条件に使えません。この場合はSUMPRODUCTが便利です(後述)。

シンプルに対応するなら、日付範囲で指定する方法が確実です。

=SUMIFS(C2:C100, A2:A100, ">=2025/1/1", A2:A100, "<=2025/12/31")

OR条件(「AまたはB」)を実現する方法

SUMIFS/COUNTIFSはすべてAND条件(すべて満たす)です。「営業部または企画部」のようなOR条件には直接対応していません。

方法①:複数のSUMIFSを足す(最もシンプル)

=SUMIFS(C2:C100, B2:B100, "営業部") + SUMIFS(C2:C100, B2:B100, "企画部")

条件が2〜3個ならこの方法で十分。ただし、条件が増えると数式が長くなります。

方法②:SUMPRODUCTを使う(柔軟性◎)

=SUMPRODUCT((B2:B100="営業部")+(B2:B100="企画部"), C2:C100)

SUMPRODUCT内で + を使うとOR条件、* を使うとAND条件になります。

注意:SUMPRODUCT内のOR条件では、両方の条件を同時に満たすデータがあると二重カウントされる場合があります。二重カウントを防ぐには、以下のように書きます。

=SUMPRODUCT(((B2:B100="営業部")+(B2:B100="企画部")>0)*1, C2:C100)

>0 で「1つ以上の条件を満たす」をTRUE/FALSEに変換し、*1 で数値化しています。

AVERAGEIFS:条件付き平均も同じ考え方

SUMIFS/COUNTIFSと同じ構文で、条件付きの平均値を求める関数もあります。

=AVERAGEIFS(C2:C100, B2:B100, "営業部", A2:A100, ">=2025/4/1", A2:A100, "<=2025/4/30")

「営業部の4月の売上平均」を1行で求められます。構文はSUMIFSとまったく同じです。

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

「条件付き集計」という意味ではピボットテーブルも強力なツールです。どちらを使うべきかの判断基準を整理します。

比較項目SUMIFS / COUNTIFSピボットテーブル
向いている場面特定の条件の集計を定位置に表示したいデータ全体を多角的に分析したい
更新の手間数式なので自動更新データ変更後に「更新」ボタンが必要
柔軟性条件を変えるにはセル参照の変更が必要ドラッグ&ドロップで自由に切り口を変更
学習コスト関数の構文を覚えればOK操作方法の理解が必要
他の数式との連携そのまま数式で参照可能GETPIVOTDATA関数が必要

おすすめの使い分け

  • 「この数字をこのセルに常に表示したい」 → SUMIFS / COUNTIFS
  • 「データを自由に切り替えながら傾向を見たい」 → ピボットテーブル

両方を使えると、集計の幅がグッと広がります。

次の章では、「数式を入れたのに正しい結果にならない」ときの原因と対処法を整理していきましょう。


07. よくあるエラーと対処法|5つのトラブルパターン

SUMIF系/COUNTIF系の関数は構文がシンプルな反面、エラーが出ないまま間違った結果を返すケースがあるため厄介です。ここでは実務で遭遇しやすい5つのパターンを「症状→原因→対処」の形で整理します。

パターン①:結果が0になる(本当は0じゃないはず)

症状条件に合うデータがあるのに、結果が0になる
原因A条件のセルに余分なスペースが入っている
対処TRIM関数でスペースを除去する → =SUMIF(A2:A100, TRIM(E1), C2:C100)
原因B数値が「文字列として入力された数値」になっている
対処セルの左上に緑の三角マークが出ていないか確認。出ていたら「数値に変換」を実行

パターン②:#VALUE! エラーが出る

症状数式を入れると #VALUE! エラーが表示される
原因条件範囲と合計範囲(または他の条件範囲)の行数が一致していない
対処すべての範囲の行数を揃える。A2:A100C2:C100 のように開始行・終了行を統一する

SUMIF では #VALUE! が出にくいのに対し、SUMIFS / COUNTIFS では範囲サイズ不一致で即エラーになります。実はSUMIFは範囲がズレていてもエラーにならず、間違った結果を返すだけなので、かえって発見が遅れることがあります。SUMIFSのほうがエラーで教えてくれる分、むしろ安全とも言えます。

パターン③:日付条件が効かない

症状日付で期間を指定しているのに、結果が0または全件になる
原因A日付が文字列として入力されている(セルの表示形式が「文字列」)
対処該当セルの表示形式を「日付」に変更し、データを再入力する
原因B演算子とセル参照の結合が間違っている
対処">="&F1 のように、演算子を "" で囲み、& でセルを結合する

パターン④:ワイルドカードが効かない

症状"*佐藤*" と書いているのに、ヒットしない
原因数値データに対してワイルドカードを使っている
対処ワイルドカード(*, ?)は文字列にしか使えません。数値の範囲指定は比較演算子(">=100")を使ってください

パターン⑤:OR条件ができない

症状「営業部または企画部」の合計を1つの式で出したい
原因SUMIFS / COUNTIFS はAND条件専用。OR条件には対応していない
対処06章で解説した「複数のSUMIFSを足す方法」または「SUMPRODUCT」を使う

08. 実務での活用例3選

活用例①:売上管理表(担当者×月×商品の集計)

場面:月次の売上レポートで、「担当者ごと・商品カテゴリごと・月ごと」の売上を集計したい。

=SUMIFS(売上金額, 担当者列, "佐藤", 商品列, "文房具", 日付列, ">=2025/4/1", 日付列, "<=2025/4/30")

ダッシュボードシートにこの数式を並べれば、元データが更新されるたびに集計が自動で更新されます。

活用例②:出勤簿(特定の勤務形態の回数を集計)

場面:月間の出勤簿で、「遅刻」「早退」「有休」の回数をそれぞれカウントしたい。

=COUNTIF(B2:B32, "遅刻")
=COUNTIF(B2:B32, "早退")
=COUNTIF(B2:B32, "有休")

COUNTIFなら1行で完了。フィルターをかけて手で数える必要はありません。

さらに「4月の遅刻回数」のように月を絞りたい場合は、COUNTIFSを使います。

=COUNTIFS(A2:A32, ">=2025/4/1", A2:A32, "<=2025/4/30", B2:B32, "遅刻")

活用例③:アンケート集計(特定の回答の割合を算出)

場面:社内アンケートで「満足」「やや満足」「不満」の回答数と割合を出したい。

=COUNTIF(C2:C200, "満足")
=COUNTIF(C2:C200, "やや満足")
=COUNTIF(C2:C200, "不満")

割合を出すには、COUNTIFの結果をCOUNTA(回答総数)で割ります。

=COUNTIF(C2:C200, "満足") / COUNTA(C2:C200)

セルの書式をパーセント表示にすれば、そのまま報告書に使える数値になります。


09. まとめ|振り返りチェックリスト+今日の一歩

おつかれさまでした!この記事で解説した内容を振り返ります。

振り返りチェックリスト

  • [ ] SUMIF / COUNTIF の構文を理解し、単一条件の集計ができる
  • [ ] SUMIFS / COUNTIFS で複数条件(AND条件)を指定できる
  • [ ] SUMIFとSUMIFSの引数の順番の違いを把握している
  • [ ] 日付条件の書き方(">="&セル参照)が分かった
  • [ ] OR条件はSUMIFS単体ではできないこと、代替方法を理解した
  • [ ] よくあるエラー(範囲ズレ・文字列数値・スペース混入)の対処ができる

今日やるべき最小アクション

まずは、今日使っている集計表に SUMIF を1つだけ入れてみてください。

「この列のこの値だけ合計したい」――そんな場面があれば、=SUMIF(範囲, 条件, 合計範囲) を試すチャンス。フィルターをかけて電卓を叩く時間が、数式1つでゼロになります。

関連記事

あせらず、くさらず、あきらめず。SUMIF → SUMIFS → SUMPRODUCT と、段階を踏んで覚えていけば大丈夫です。一度にすべてを覚える必要はありません。まずは今日1つ、明日もう1つ。そうやって「できる」を少しずつ増やしていきましょう。

あなたのフィードバックが次の記事のヒントになります。「ここが分からなかった」「こういう条件の集計はどうやるの?」があれば、ぜひコメントで教えてください。

コメント

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