ソニック事務職の集計力を劇的に変える3関数
「店舗別の売上合計を、フィルターで絞って毎回SUMで計算している」「特定の条件に当てはまる件数を、いちいち目で数えている」
そんな経験、事務職なら毎日のようにあるはずです。
私自身、学校事務員時代、生徒の出欠日数や得点データを「条件付きで集計」する作業に毎日30分以上かけていました。フィルターをかけて、SUMでコピペして、また別の条件で集計し直して……
そんな業務を変えたのが、SUMIF・COUNTIF・AVERAGEIFという3つの集計関数でした。条件を指定するだけで、瞬時に集計結果が出ます。
この記事では、3つの集計関数の使い方から実務テクニックまで、コピペで使えるサンプル付きで完全解説します。
こんな方におすすめ
- 店舗別・商品別・部署別など「条件付き集計」をよくやる事務職の方
- フィルター+SUMの繰り返し作業に疲れたバックオフィスの方
- Excelの「次の一歩」を学びたい初級〜中級者の方
第1章|なぜSUMIF・COUNTIF・AVERAGEIFが事務職の必修なのか
3関数が解決する業務
この3関数は、「条件に合うデータだけを集計したい」というニーズに完璧に応えてくれます。
- **SUMIF**:条件に合うものの「合計」を出す(例:A店の売上合計)
- **COUNTIF**:条件に合うものの「件数」を数える(例:未完了の件数)
- **AVERAGEIF**:条件に合うものの「平均」を出す(例:男子生徒の平均点)
実務でこの3関数が活躍するシーン
- 店舗別・部署別の売上集計
- 商品別の販売数・在庫数の集計
- ステータス別(完了・未完了など)の件数集計
- カテゴリ別の平均値算出
- 月別・年別のレポート作成
Before/After|3関数の威力
| 業務 | Before(手作業) | After(3関数活用) |
|---|---|---|
| 5店舗の売上集計 | フィルター+SUMを5回 | 関数1つで完結 |
| ステータス別件数 | 目視で数える | 自動カウント |
| カテゴリ別平均 | 計算機で再計算 | 関数1つで完結 |
| 月次レポート作成 | 半日 | 30分 |
第2章|SUMIF|条件に合うものの「合計」を出す
SUMIFの基本構文
=SUMIF(範囲, 検索条件, 合計範囲)3つの引数の意味
| 引数 | 意味 | 例 |
|---|---|---|
| 範囲 | 条件を判定する列 | A:A(店舗名の列) |
| 検索条件 | どんな条件か | “東京店” |
| 合計範囲 | 合計する数値の列 | C:C(売上の列) |
実例|店舗別の売上合計
| 店舗名 | 商品 | 売上 |
|---|---|---|
| 東京店 | りんご | 1,000 |
| 東京店 | もも | 4,000 |
| 神奈川店 | りんご | 2,000 |
売上データに「店舗名」「商品」「売上」の3列があるとします。「東京店」の売上合計を出すには:
=SUMIF(A:A, "東京店", C:C)これだけで、東京店の売上合計が瞬時に出ます。フィルター+SUMの2ステップが、関数1つで完結。




実例|「100以上」の数値を集計したい
数値の条件指定では、比較演算子を使います。
=SUMIF(C:C, ">=100", C:C)
# 100以上の値だけ合計する
=SUMIF(C:C, "<=50", C:C)
# 50以下の値だけ合計する
=SUMIF(C:C, "<>0", C:C)
# 0以外の値を合計する実例|部分一致で集計(ワイルドカード)
「店舗名に「東京」が含まれる」のような部分一致は、ワイルドカード「*」を使います。
=SUMIF(A:A, "*東京*", C:C)
# 店舗名に「東京」を含む全店舗の売上合計
=SUMIF(A:A, "東京*", C:C)
# 「東京」で始まる店舗名(東京本店、東京支店など)SUMIFS|複数条件のSUM(応用編)
「複数の条件を同時に満たすデータ」を集計したい場合は、**SUMIFS**を使います。
=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)実例:東京店かつ商品Aの売上合計
=SUMIFS(C:C, A:A, "東京店", B:B, "商品A")SUMIFSは条件をいくつでも追加できる強力な関数。月別×店舗別×商品別など、複雑な集計が一発でできます。
※SUMIFの引数順は「範囲, 条件, 合計範囲」、SUMIFSは「合計範囲, 範囲1, 条件1, …」と順番が違うので注意。
第3章|COUNTIF|条件に合うものの「件数」を数える
COUNTIFの基本構文
=COUNTIF(範囲, 検索条件)SUMIFと違って、合計範囲が不要。シンプルです。
実例|ステータス別の件数
タスクリストで「未完了」の件数を数えたい場合:
=COUNTIF(D:D, "未完了")実例|数値条件のカウント
=COUNTIF(C:C, ">=100")
# 100以上の数のカウント
=COUNTIF(C:C, "<>")
# 空白以外のセル数(入力済みの数)
=COUNTIF(D:D, "")
# 空白セルの数実例|部分一致でカウント
=COUNTIF(B:B, "*Excel*")
# B列に「Excel」を含む件数
=COUNTIF(A:A, "田中*")
# 「田中」で始まる名前の件数COUNTIFS|複数条件のカウント
「東京店かつ完了済み」のような複数条件のカウントには**COUNTIFS**を使います。
=COUNTIFS(A:A, "東京店", D:D, "完了")
# 東京店かつ完了済みの件数実務での活用シーン
- 提出書類の進捗管理(提出済み/未提出の件数)
- 出欠記録(出席/欠席のカウント)
- アンケート集計(選択肢別の人数)
- 在庫管理(在庫切れの商品数)
- クレーム集計(カテゴリ別の件数)
第4章|AVERAGEIF|条件に合うものの「平均」を出す
AVERAGEIFの基本構文
=AVERAGEIF(範囲, 検索条件, 平均範囲)SUMIFと同じ引数構成。「合計範囲」が「平均範囲」になっただけ。
実例|部署別の平均給与
=AVERAGEIF(A:A, "営業部", C:C)
# 営業部の平均給与実例|男女別の平均点
=AVERAGEIF(B:B, "男", C:C)
# 男子生徒の平均点
=AVERAGEIF(B:B, "女", C:C)
# 女子生徒の平均点AVERAGEIFS|複数条件の平均
=AVERAGEIFS(平均範囲, 条件範囲1, 条件1, 条件範囲2, 条件2)
# 営業部かつ30歳以上の平均給与
=AVERAGEIFS(C:C, A:A, "営業部", D:D, ">=30")AVERAGEIFの注意点
空白セルは「0」として扱われず、平均計算から除外される。
この仕様は便利な一方、データに空白が混ざっていると意図と違う結果になることがあります。空白セルを「0として平均に含めたい」場合は、空白を0に置換してから計算しましょう。
第5章|3関数の使い分け|一目で分かる比較表
| 観点 | SUMIF | COUNTIF | AVERAGEIF |
|---|---|---|---|
| 出す結果 | 合計 | 件数 | 平均 |
| 引数の数 | 3つ | 2つ | 3つ |
| 使うとき | 売上合計など | 件数カウント | 平均点・平均給与 |
| 複数条件版 | SUMIFS | COUNTIFS | AVERAGEIFS |
どれを使うか迷ったら
- **「合計したい」→ SUMIF**
- **「数えたい」→ COUNTIF**
- **「平均を出したい」→ AVERAGEIF**
- **「複数条件」→ S付き(SUMIFS、COUNTIFS、AVERAGEIFS)**
第6章|実務で使える組み合わせテクニック
テクニック1|月次レポートの自動生成
月初に「先月の店舗別売上合計」を出す業務、毎月手作業ですか?
仕組み
- 売上データに「年月」の列を作る(=TEXT(日付, “yyyy-mm”))
- レポートシートに、店舗名と年月を入力する欄を作る
- SUMIFSで集計
# 売上明細の「年月」列がE列、「店舗」がA列、「売上」がC列の場合
=SUMIFS(C:C, A:A, "東京店", E:E, "2026-06")E列の年月とA列の店舗名を変えるだけで、どの月のどの店舗の集計も一発。
テクニック2|「達成率」の自動計算
予算と実績を比べる業務で大活躍。
# A列=店舗名、B列=予算、C列=実績
# 東京店の予算達成率
=SUMIF(A:A, "東京店", C:C) / SUMIF(A:A, "東京店", B:B)テクニック3|重複カウント
顧客名簿で「同じ顧客が何回登場しているか」を確認したい場合。
# A2セルから始まる顧客名リストで、A2の顧客が何回登場するか
=COUNTIF(A:A, A2)これをA列全体にドラッグすれば、各顧客の登場回数が一覧で出ます。1より大きい行は重複登録です。
テクニック4|カテゴリ別の構成比
「全体の売上のうち、各商品が占める割合」を出す。
# B列=商品、C列=売上
# 商品Aの構成比(パーセント)
=SUMIF(B:B, "商品A", C:C) / SUM(C:C)第7章|もっと先へ|Pythonでの実現方法
Excelの限界
SUMIF・COUNTIF・AVERAGEIFは強力ですが、以下のような場合はExcelでは厳しくなります:
- 数十万行以上のデータを集計したい
- 複数の集計を毎日繰り返す
- 集計結果を別ファイルに自動出力したい
- クロス集計(店舗×商品×月など)を一発で作りたい
Pythonのgroupbyで同じことを実現
Pythonのpandasライブラリには、SUMIFと同等以上の機能「groupby」があります。
# Excelの場合
# =SUMIF(A:A, "東京店", C:C)
# Pythonの場合
import pandas as pd
df = pd.read_excel("売上.xlsx")
# 店舗別の売上合計
result = df.groupby("店舗")["売上"].sum()
print(result)
# 店舗別の件数(COUNTIF相当)
count_result = df.groupby("店舗").size()
# 店舗別の平均(AVERAGEIF相当)
avg_result = df.groupby("店舗")["売上"].mean()3行のコードで、何百万行のデータでも一瞬で集計できます。SUMIFの限界を超えたら、Pythonへのステップアップを検討してください。
詳しくは別記事「【完全ガイド】pandasで売上データを自動集計する」をご覧ください。
第8章|つまずき対処&まとめ
よくあるトラブル
トラブル1:結果が「0」になる
原因:
検索条件が一致していない(半角全角の違い、末尾の空白など)。
対処:
元データを「データの区切り位置」機能でクリーニング、またはTRIM関数で余分な空白を除去します。
トラブル2:意図と違う集計結果になる
原因:
「範囲」と「合計範囲」が違うサイズになっている。
対処:
両方を「列全体(A:A)」または「同じ行数の範囲」で指定します。
トラブル3:SUMIFSの引数順を間違える
対処:
# SUMIF:範囲→条件→合計範囲
=SUMIF(A:A, "東京", C:C)
# SUMIFS:合計範囲→範囲1→条件1→範囲2→条件2
=SUMIFS(C:C, A:A, "東京", B:B, "商品A")引数順がSUMIFと逆になるので注意。
トラブル4:データを追加したら集計に反映されない
対処:
元データを「テーブル(Ctrl + T)」にしておくと、データを追加しても集計範囲が自動で拡張されます。
この記事のまとめ
- SUMIF・COUNTIF・AVERAGEIFは事務職の集計力を変える3関数
- 「合計」「件数」「平均」を、条件付きで一発計算
- S付き(SUMIFS等)で複数条件にも対応
- 月次レポート・達成率・構成比の自動化に最適
- Excelの限界を超えたらPythonのgroupbyへ
FAQ
次にやるべき3つの行動
- **今すぐ**:自分の業務で「フィルター+SUMで集計している」業務をリストアップ
- **今日中**:その中の1つを、SUMIFまたはSUMIFSで書き直してみる
- **今週中**:月次レポートのSUMIFS化を実装し、毎月の作業時間を計測
「フィルター+SUM」を卒業しましょう。一度仕組みを作れば、来月も再来月も自動で集計が完成します。
3関数で、事務職の集計力が変わる
SUMIF・COUNTIF・AVERAGEIFは、ピボットテーブルと並んで「事務職の集計の三種の神器」です。これらを使いこなせば、毎日の集計作業が劇的に変わります。
そして、Excel集計関数で対応が難しくなったら、Pythonでのgroupby集計(pandas)へのステップアップを検討してください。さらに広い世界が待っています。
最新の解説記事は、新着記事から順次公開しています。X(旧Twitter)でも更新情報を発信していますので、ぜひフォローしてください。
この記事を書いた人
ソニック|バックオフィス出身の業務効率化ブロガー。学校事務員時代に生徒の出欠データ・成績集計でSUMIF・COUNTIFを日常的に活用。現在のデータサイエンス業務ではpandas.groupbyに移行し、より大規模なデータを一瞬で集計中。リアルな実体験をもとにしたノウハウを発信中。


コメント