SUMIF関数やSUMIFS関数を使っているのに、思ったとおりの合計にならないときはないでしょうか。
けど、そんな中で悩むことは、
・条件に合うはずのデータが集計されない
・エラーは出ないのに金額が合わない
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
完成イメージ
SUMIF/SUMIFS関数が思ったとおりに集計できないときは、数式の書き方ではなく「データ側のクセ」が原因であることがほとんどです。
今回は
・支店別売上表で、SUMIFとSUMIFSを正しく使い分けて集計する方法
をゴールにします。
実際に「うまくいかない5つの場面」を再現し、それぞれの原因と対処法を表で確認できるようにしました。
なお、原因を1つずつつぶす考え方に加えて、VBAで数式を一括設定する方法と、うまくいかないときのトラブルシュートもあわせてご紹介します。
早速実装して試してみましょう!

上の画像が完成形です。F24に東京の合計、F25に東京×ノートPCの合計が入り、条件を変えれば数字がすぐ切り替わります。
もくじ
STEP1. サンプルの売上表を用意する
まずは集計したい支店別の売上表を用意します。
1行目が見出し、2行目から21行目までがデータです。
金額列(F列)は手入力ではなく =D2*E2 の数式にしておきましょう。
数式にしておくと、数量や単価を変えても金額が自動で計算されるのでおすすめです。

STEP2. まずは正しい数式を入れてみる
表の下に集計エリアを作ります。
F24セルに =SUMIF(A2:A21,”東京”,F2:F21) を入力します。
続けてF25セルに =SUMIFS(F2:F21,A2:A21,”東京”,C2:C21,”ノートPC”) を入力します。
東京の合計は 1,647,800、東京×ノートPCの合計は 1,024,000 になりました。
この2つが基準になる正解値です。

数式はどのセルに入れる?
セルを選んで、数式バーに直接入力するだけです。
実際の入力画面がこちらです。
入力中は引数のヒントが表示されるので、順番を確認しながら進められます。
カンタンですね。

SUMIFSは引数の順番に注意
SUMIFSは 合計範囲が最初 に来ます。
SUMIFと逆なので、ここで迷う方がとても多いです。
条件は「条件範囲, 条件」のセットで、後ろに増やしていきます。

うまくいかない原因と対処法5選
ここからは、実際につまずきやすい5つの場面を順に見ていきます。
どれも数式そのものは合っているのに、結果が合わないケースです。
原因と対処をセットで覚えてしまいましょう。
原因1. 条件範囲と合計範囲の行数・向きがちがう
SUMIF関数は、条件範囲と合計範囲の行数・向きをそろえる必要があります。
合計範囲を1行ずらしてしまうと、Excelは範囲の左上を起点に伸ばすため、意図せず1行分ずれた集計になります。
下の画像では、F3:F22と1行ずらした例が 1,054,600 になり、正しい 1,647,800 と差が出ています。
| 原因 | 対処 |
|---|---|
| 条件範囲(A2:A21)と合計範囲(F3:F22)の行数がちがう | 2つの範囲を同じ行数にそろえる(F2:F21) |
| 縦の表に横の範囲を指定している | 範囲の向きを表に合わせる |
原因2. 検索値の全角半角や余分な空白で一致しない
見た目は同じ「東京」でも、前後に空白があると別の文字列と判定されます。
下の画像では、検索値に余分な空白を付けた例が 0 になっています。
キーボードから入力した検索値に、知らないうちに半角スペースが入っていることがよくあります。
| 原因 | 対処 |
|---|---|
| 検索値の前後に余分な空白がある | TRIMで前後の空白を除去する |
| 全角スペースが混ざっている | SUBSTITUTEで全角スペースを除去する |
| データが全角、検索値が半角(または逆) | ASC関数で半角に統一する |
原因3. 数値条件の指定ミス
「50,000以上」のような条件は、比較演算子ごと文字列として指定します。
正しくは “>=50000” のように、不等号もダブルクォーテーションで囲みます。
不等号をそのまま書いてしまうと #NAME? エラーになります。
下の画像では、正しい書き方の結果が 3,142,800 になっています。
| 原因 | 対処 |
|---|---|
| 条件を数値のまま書いている(>=50000) | 比較演算子ごと文字列で指定する(”>=50000″) |
| 「以上」など日本語で条件を書いている | “>=50000” のように記号で書く |
| セル参照と組み合わせたい | “>”&E1 のように連結する |
原因4. ワイルドカードの扱い
「〜を含む」で検索したいときは、前後に * を付けます。
「PCを含む商品」なら “*PC*” です。
一方で、* や ? という記号そのものを検索したいときは、前に ~ を付けて打ち消します。
なお、数値や日付にはワイルドカードは効きません。
下の画像では「*PC*」の合計が 1,920,000 になっています。
| 原因 | 対処 |
|---|---|
| 「〜を含む」で検索したいのに完全一致になっている | 前後に * を付ける(”*PC*”) |
| 「*」という記号そのものを検索したい | 前に ~ を付けてエスケープする(”~*”) |
| 数値や日付にワイルドカードを使っている | 数値・日付には効かないため条件を書き直す |
原因5. 金額が文字列になっていて合計が0になる
金額が 文字列として入力されていると、SUMIFやSUMはそのセルを無視して0になります。
文字列の数値は左寄せになり、セルの左上に緑の三角が出ることが多いです。
下の画像では、文字列をそのまま合計した例が 0、VALUEで数値化した例が 384000 になっています。
| 原因 | 対処 |
|---|---|
| 金額が文字列として入力されている | =VALUE() で数値に変換する |
| CSV取込などで数値が文字列になっている | 区切り位置で「文字列」から「標準」に変換する |
| 全角数字が混ざっている | ASC関数で半角にしてからVALUEを使う |
SUMIFとSUMIFSの使い分け
条件が1つならSUMIF、2つ以上ならSUMIFSを使います。
引数の順番が逆なので、そこだけは必ず確認しましょう。
| SUMIF | SUMIFS | |
|---|---|---|
| 条件の数 | 1つ | 複数(最大127個) |
| 引数の順番 | (条件範囲, 条件, 合計範囲) | (合計範囲, 条件範囲1, 条件1, …) |
| 使いどころ | 「東京だけ」など条件が1つ | 「東京かつノートPC」など条件が2つ以上 |
| 注意 | 合計範囲は第3引数 | 合計範囲は第1引数でSUMIFと逆 |
条件範囲と合計範囲は同じ行数・同じ向きにそろえる。
数値条件は“>=50000”のように比較演算子ごと文字列で指定する。
この2つを押さえるだけで、SUMIFのつまずきの多くは防げます。
VBAでSUMIF・SUMIFSを一括設定する
毎回セルに数式を書くのが手間なときは、VBAでまとめて設定するのもおすすめです。
ボタン1つで集計エリアを作れます。
Sub SetSumIf()
Dim ws As Worksheet
Set ws = Worksheets("売上データ")
ws.Range("F24").Formula = "=SUMIF(A2:A21,""東京"",F2:F21)"
ws.Range("F25").Formula = "=SUMIFS(F2:F21,A2:A21,""東京"",C2:C21,""ノートPC"")"
ws.Range("A24").Value = "東京の合計(SUMIF)"
ws.Range("A25").Value = "東京×ノートPC(SUMIFS)"
End Sub
迷ったら「合計範囲は最初か最後か」を思い出すと整理しやすいですよ。
うまくいかないときのトラブルシュート
それでも合わないときは、次の表で症状を確認してみてください。
| 症状 | 原因 | 対処 |
|---|---|---|
| 合計が0になる | 金額が文字列/検索値が一致していない | VALUEで数値化、TRIMで空白除去 |
| #NAME? になる | 比較演算子の引用符が抜けている | “>=50000” のように文字列で指定 |
| 金額が少しずれる | 条件範囲と合計範囲の行数・向きがちがう | 2つの範囲をそろえ直す |
| 「東京」で拾えない行がある | 全角半角やスペースの違い | ASC・TRIM・SUBSTITUTEでそろえる |
| 記号を検索したのに0件 | ワイルドカードとして解釈されている | 「~」でエスケープする |
関数の説明
最後に、今回使う2つの関数の基本を確認しておきましょう。
SUMIF関数(サムイフ)
| 書式 | =SUMIF(条件範囲, 検索条件, [合計範囲]) |
|---|---|
| できること | 1つの条件に一致する行の数値を合計します。 |
| 戻り値 | 条件に一致した合計値(数値) |
| こんなときに | 「東京だけ」のように条件が1つのとき。 |
| 注意 | 合計範囲は第3引数。条件範囲と同じ行数・向きにそろえます。 |
=SUMIF(A2:A21, "東京", F2:F21)
SUMIFS関数(サムイフズ)
| 書式 | =SUMIFS(合計範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], …) |
|---|---|
| できること | 複数の条件すべてに一致する行の数値を合計します。 |
| 戻り値 | 条件すべてに一致した合計値(数値) |
| こんなときに | 「東京かつノートPC」など条件が2つ以上のとき。 |
| 注意 | 合計範囲は第1引数で、SUMIFと順番が逆です。 |
=SUMIFS(F2:F21, A2:A21, "東京", C2:C21, "ノートPC")
完成
条件を変えるだけで、集計結果がすぐに切り替わるようになりました。
F24には東京の合計 1,647,800、F25には東京×ノートPCの合計 1,024,000 が入っています。
5つの原因をつぶしたことで、同じ数式でも安心して使えるようになりました。
思ったとおりに動きましたか?

さいごに
いかがでしょうか。
今回は、
についてまとめました。
条件範囲と合計範囲をそろえること、数値条件を文字列で指定すること。
この2つを押さえておくと、多くのつまずきは防げます。
まずは今回のサンプル表で、ぜひ一度試してみてください。
原因が1つずつ消えていく感覚がつかめるはずですよ。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。
ぜひ試してみてください。









コメントを残す