1. はじめに|SUM関数だけで満足していませんか?
Excelを使っていて、「合計」を出すときにとりあえずSUM関数を使っていませんか?
もちろん、それは間違いじゃありません。むしろ基本中の基本です。でも、こんな経験はありませんか?
「フィルターで一部のデータだけ表示してるのに、合計が全然合ってない…」
「複数の条件で合計を出したいけど、どうやればいいのか分からない…」
実はこれ、Excelあるあるなんです!
Excelには、SUM関数だけではカバーしきれない“上級者向け”の便利な関数がいくつかあります。特に、フィルターをかけたときでも正しい合計を出してくれる「SUBTOTAL関数」や、複数の条件で合計を求められる「SUMIFS関数」は、知っておくだけで作業効率がグンとアップします。
このページでは、そんな「ちょっと先を行く」関数の使い方を、初心者の方でも迷わずマネできるように、やさしく解説していきます!
「もうSUM関数だけに頼るのは卒業したい!」
そんなあなたにぴったりの内容です。
2. SUBTOTAL関数とは?|フィルターに対応できる理由と使い方
Excelで「合計を出す」といえば、やっぱり=SUM(...)ですよね。でもこのSUM関数、フィルターをかけても非表示のデータまで全部計算に入れてしまうという落とし穴があります。
たとえば、売上データを月ごとにフィルターして、1月分だけの合計を出したいとします。でも、SUM関数だと裏で非表示になっている2月や3月のデータまで計算してしまうんです。
そんなときに登場するのが「SUBTOTAL関数」!
SUBTOTAL関数は、「表示されているデータだけ」を対象に合計や平均などを出してくれる超便利な関数なんです。
SUBTOTAL関数の基本的な使い方
使い方はとてもシンプルです。
=SUBTOTAL(9, B2:B100)
この「9」は“合計”を意味します。そして、B2:B100が合計したい範囲です。
ポイントはここ!
SUBTOTAL関数は、最初の数字で計算の種類を選べるようになっていて、たとえば:
| 関数番号 | 計算の種類 |
|---|---|
| 9 | 合計 |
| 1 | 平均 |
| 2 | カウント(数える) |
手動で非表示にした行も除外したいときは?
フィルターじゃなくて、自分で行を非表示にしたとき…実はSUBTOTAL関数はその非表示データも計算してしまうんです。
そこで使うのが 「109」!
=SUBTOTAL(109, B2:B100)
この「109」は、「9(合計)」に「100(手動で非表示の行を除外する設定)」を足したものです。
表をテーブルにしているときの注意点
SUBTOTAL関数はテーブル形式でも使えますが、合計行を含めてテーブルにすると、うまく動かない場合があります。
そのため、合計のセルはテーブルの外に配置するのがベストです!
ここまでのおさらい!
✅ フィルターで表示されているデータだけ合計したい → SUBTOTAL(9, ...)
✅ 手動で非表示にした行を除外したい → SUBTOTAL(109, ...)

次は「複数の条件で合計を出したいとき」に使える SUMIFS関数 についてご紹介していきます!
3. SUMIFS関数とは?|複数の条件を同時に扱う最強関数
「特定の人だけ」「特定の条件を満たすデータだけ」を合計したい、そんなときに大活躍するのが SUMIFS関数 です!
SUM関数では単純に全部の合計しか出せませんが、SUMIFSなら「この条件とこの条件を満たすものだけ合計して!」ということができちゃうんです。
たとえばこんなケース
- 「男性だけの合計時間が知りたい」
- 「20代の女性だけ」
- 「30代以上の男性」
このように**“複数の条件”**で集計したいときに、SUMIFSは超便利!
SUMIFS関数の基本の形
=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)
順番がちょっとややこしいので注意です!
一番最初に合計したい範囲を書いて、そのあとに条件のペアをどんどん追加していきます。
具体例で見てみましょう!
例1:20代男性の合計時間
- 合計したいのは「時間」 →
時間の範囲 - 条件は「性別が男性」「年代が20」
=SUMIFS(C2:C100, A2:A100, "男性", B2:B100, "20")
C2:C100:合計したい時間のセル範囲A2:A100:性別のセル範囲"男性":性別の条件B2:B100:年代のセル範囲"20":年代の条件
例2:30代以上の女性の合計時間
「30以上」というように“数値の範囲指定”もできます!
=SUMIFS(C2:C100, A2:A100, "女性", B2:B100, ">=30")
“>=30” のように、ダブルクォーテーションの中に比較演算子と数値を入れるのがポイントです!
条件は何個でも追加OK!
SUMIFSは、条件を何個でも追加できるので、「営業部の30代以上の男性」とか、「東京都に住む40代女性」など、より細かい集計もできます。
ただし、**AND条件(すべて満たす)**になる点には注意してくださいね。
まとめ:SUMIFSでできること
✅ 条件を複数指定して、ピンポイントで合計できる
✅ 年齢・性別・部署など、自由に組み合わせ可能
✅ 数値条件(>=、<=、<>など)も使える

次は、SUBTOTALとSUMIFSを組み合わせたいときに気をつけるポイントをご紹介していきます!
「フィルターも使ってるし、条件もあるし…どうすればいいの?」という複雑なパターンも、ちゃんと解決できる方法があるんです!
4. SUBTOTAL×SUMIFSの併用はできるの?
ここまでで「SUBTOTAL関数はフィルターに対応できる」「SUMIFS関数は複数の条件で合計できる」と紹介してきました。
じゃあ、**「フィルターもかかってて、さらに条件付きで合計したい」**ってとき、どうすればいいの?
残念ながら、SUBTOTALとSUMIFSをそのまま組み合わせて使うことはできません。
というのも、SUMIFSは非表示の行も全部計算してしまうんです…。
解決策①:AGGREGATE関数で代用する(応用テク)
実はSUBTOTAL関数の上位版とも言える「AGGREGATE関数」を使えば、フィルターを考慮しつつ条件付き合計をすることもできます。
ただし、AGGREGATEではSUMIFSのような「複数条件指定」が直接できないため、フィルターに任せて可視セルだけの合計という方法で使います。
=AGGREGATE(9, 5, C2:C100)
9:合計を意味する番号5:フィルターされた行と手動非表示行を除外C2:C100:合計したい範囲
これはSUBTOTAL(109,…)と同じように動作しつつ、より柔軟なオプションが選べるのが特徴です。
解決策②:ヘルパー列(補助列)を使って工夫する
「どうしてもフィルター+条件付き合計をしたい…!」というときは、ヘルパー列を使うのが現実的な方法です。
手順例:
- 新しい列を1つ追加(例:「判定」列)
- 各行に「この行は条件を満たすか?」の式を入れる(例:
=IF(AND(A2="男性", B2>=30), C2, "")) - 最後に
SUBTOTAL(9, 判定列)で合計する
この方法なら、SUMIFSで絞った結果だけをSUBTOTALで合計するようなイメージで処理ができます。
実はVBAやPower Queryという選択肢も…
Excelの標準関数では限界があるので、より高度な集計をしたい場合は:
- Power Query(Excel標準のデータ変換ツール)
- VBA(マクロによる自動処理)
なども選択肢になりますが、この記事では初心者でも扱いやすい関数ベースでの方法をメインにご紹介しています。
まとめ:併用はできるけど「工夫が必要」
✅ SUBTOTALとSUMIFSを直接合体はできない
✅ フィルターを使うならAGGREGATE関数も視野に
✅ 条件付きの処理はヘルパー列で対応可能
5. よくあるミスとその解決法
Excelの関数って、入力は簡単に見えても、「あれ?思った通りの結果が出ない…」ってこと、よくありますよね。
ここでは、SUBTOTAL関数やSUMIFS関数でありがちなミスと、その対処法をわかりやすく解説します!
❌ ミス①:SUBTOTALでフィルターが効いてない!
原因:SUBTOTAL関数の引数が「9」になっている
対処法:=SUBTOTAL(109, 範囲) に変更しましょう!
「9」は合計を表す引数ですが、手動で非表示にした行を無視できません。
非表示も除外したいなら「109」を使うのが正解です。
❌ ミス②:SUMIFSの条件の順番が逆!
原因:条件範囲と条件の順番が合っていない
対処法:必ず「合計範囲 → 条件範囲 → 条件」のセットで!
間違った例:
=SUMIFS("女性", A2:A100, C2:C100)
正しい例:
=SUMIFS(C2:C100, A2:A100, "女性")
合計したいのは「C列(時間)」であって、”女性”じゃないですよね?
落ち着いて順番を確認しましょう。
❌ ミス③:数値条件を””で囲み忘れた!
原因:>=30 などの比較条件をクオーテーションで囲んでない
対処法:">=30" のように ダブルクォーテーションで囲むのを忘れずに!
これは意外と見落としがち。Excelは "文字列" として渡さないと理解してくれません。
❌ ミス④:SUMIFSでOR条件を使ってしまう
原因:SUMIFSではOR(または)条件を1式では書けません
対処法:複数のSUMIFSを足し合わせる!
たとえば「女性または20代の合計時間」を出したい場合:
=SUMIFS(C2:C100, A2:A100, "女性") + SUMIFS(C2:C100, B2:B100, "20")
このように、条件ごとに分けて計算し、それを「+」でつなげるのがコツです。
❌ ミス⑤:セルの値が空欄または文字になっている
原因:合計範囲に空欄や文字列が混ざっていると、結果が意図しないものに
対処法:データ型をチェック&不要な文字を削除!
特にコピー&貼り付け後などは、見た目は数字でも中身が文字列だったりします。=ISNUMBER(セル) でチェックするのもおすすめです。
✅ トラブルを防ぐコツまとめ
- 引数は正しく指定する(9 と 109の違いなど)
- 範囲や条件の順番はしっかり確認
- 条件の記述は「”>=30″」のように文字列として書く
- OR条件は別々に書いて足す
- 合計範囲には数値データだけを入れるように!
6. まとめ|使いこなせばExcelの神になれる!
ここまで、合計の“その先”を目指すExcel関数の使い方を紹介してきました。
普段なんとなく使っていたSUM関数。
でも、そのままじゃフィルターにも条件にも対応できないってこと、改めて気づかされた方も多いんじゃないでしょうか?
💡今日のポイントをおさらい!
📌 SUBTOTAL関数
→ フィルターで表示された行だけ合計したいときに最適!
→ 手動で非表示の行も除きたいなら「109」を使おう!
📌 SUMIFS関数
→ 条件をいくつも組み合わせて「必要なデータだけ」を合計できる!
→ 「>=30」などの数値条件や、「AND」条件の絞り込みに最強!
📌 SUBTOTALとSUMIFSを組み合わせたいとき
→ AGGREGATE関数やヘルパー列を使って工夫すれば実現できる!
📌 よくあるミス
→ 関数の順番や書き方に気をつけるだけで、ミスをグッと減らせます!
Excelはただの表計算ソフトじゃありません。
こうした“プロっぽい関数”を知ってるだけで、見える世界も効率も一変します。
最初はちょっと難しそうに見えても、実際に触ってみれば「こんなに便利だったんだ!」と感じるはずです。
あなたもぜひ、明日からの集計作業にこのテクニックを取り入れてみてくださいね!
よくある質問(FAQ)
- QSUM関数とSUBTOTAL関数はどう違うの?
- A
SUM関数はすべての値をそのまま合計しますが、SUBTOTAL関数はフィルターで非表示になっている行を除外して合計できます。特に一覧表などでフィルターを多用する場合は、SUBTOTALが便利です。
- QSUBTOTAL関数の「109」と「9」の違いは何ですか?
- A
「9」はフィルターで非表示の行は除外しますが、手動で非表示にした行は含めてしまいます。
「109」にすると、フィルター行+手動で非表示にした行も除外して合計することができます。
- QSUMIFSで「20代の男性または女性」のようなOR条件はどう書きますか?
- A
SUMIFS関数ではOR条件を1式で書けません。
そのため、条件ごとにSUMIFSを書いて加算する必要があります。=SUMIFS(C2:C100, A2:A100, "男性", B2:B100, "20") + SUMIFS(C2:C100, A2:A100, "女性", B2:B100, "20")







※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。
※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。