Excelの表で「合計」はすぐ出せるのに、「担当者がAさんの分だけ」「渋谷店の売上だけ」「商品名にコーヒーを含む行だけ」になると、急に手が止まってしまう――そんな経験はないでしょうか。フィルターで絞って足し算しても、行の抜け漏れや集計ミスが心配で、締め切り前ほど不安が増えていきます。
SUMIFは、たった1つの条件で“必要な数字だけ”を正確に合計できる便利な関数です。ところが、条件の書き方(”>=”の付け方、二重引用符、ワイルドカード)や、参照範囲のズレ、SUMIFSとの混同が原因で「式は合っているはずなのに数字が合わない」トラブルが起きやすいのも事実です。
本記事では、SUMIFの基本構文から、数値・文字列・日付・部分一致までの条件指定を「型」として整理し、迷いやすいポイントをチェックリストで確実に潰していきます。さらに、#VALUE!などのエラーを切り分けて直す手順まで解説しますので、集計作業に追われる場面でも“自分で原因を特定して修正できる”状態を目指せます。読み終えたときに、SUMIFの不安が消え、必要な合計を自信を持って出せるようになります。
※本コンテンツは「記事制作ポリシー」に基づき、正確かつ信頼性の高い情報提供を心がけております。万が一、内容に誤りや誤解を招く表現がございましたら、お手数ですが「お問い合わせ」よりご一報ください。速やかに確認・修正いたします。
SUMIFでできることと基本の考え方
Excelの集計でよくある悩みは、「合計は出せるが、特定の条件に当てはまるものだけを合計したい」というものです。たとえば、売上表から「Aさんの担当分だけ」「渋谷店だけ」「食品カテゴリだけ」、勤怠表から「遅刻回数がある日の合計だけ」、家計簿から「食費だけ」といった具合に、条件付きの合計は日常的に発生します。
このようなときに役立つのが SUMIF です。SUMIFは「条件に一致する行だけ」を拾って合計できるため、フィルターで絞って手で足すよりも速く、数字の再現性も高くなります。さらに、集計の仕組みを表に埋め込めるので、月次・週次の定型業務でも使い回しが効きます。
一方で、SUMIFは「条件の書き方」「参照範囲の設計」「SUMIFSとの混同」でつまずきが起きやすい関数でもあります。この記事では、式が合わない原因を事前に潰せるように、基本から応用、チェック方法までを丁寧に整理します。
SUMIFの構文と引数の意味
SUMIFの構文は次のとおりです。
=SUMIF(範囲, 条件, [合計範囲])
それぞれの引数を、実際の表でイメージできるように噛み砕きます。
範囲
「条件を探す場所」です。担当者名の列、店舗名の列、カテゴリの列、日付の列など、条件判定に使う列(または行)を指定します。
例:A列に担当者名があるならA:AまたはA2:A100など。条件
「どれを合計対象にするか」のルールです。完全一致(”渋谷店”)だけでなく、数値比較(”>=1000″)、部分一致(”コーヒー“)なども指定できます。
条件の書き方が最もつまずきやすいポイントなので、後の章で“型”として整理します。合計範囲(省略可)
実際に合計したい数値の場所です。
省略すると、範囲そのもの(条件判定に使った範囲)を合計します。
たとえば「A列を条件判定に使って、B列を合計したい」なら、合計範囲にB列を指定します。
ここで重要なのは、範囲と合計範囲は「同じ行を見ている」必要があるという点です。範囲がA2:A100で合計範囲がB3:B101のように1行ずれると、合計対象がズレます。結果が合わないときは、関数が悪いのではなく「対応する行のズレ」が原因であることが多いです。
また、業務でよく使うコツとしては、次の2つがあります。
列全体参照(A:A)よりも、データ範囲参照(A2:A1000)を優先する
表が小さいうちは列全体参照でも問題が起きにくいですが、別のデータが列の下の方に追加されたり、計算負荷が大きくなったりすると、思わぬ不具合の温床になります。集計表が定型なら、データ行の最大範囲を見込んで指定したほうが安定します。絶対参照($)の考え方を早めに入れる
SUMIFを横や下にコピーして使う場合、参照がずれて壊れやすいです。
例:A$2:A$1000のように固定する場所を意識すると、コピペでの事故が減ります。
最小例で動きをつかむ
最小例を、業務でよくある「担当者別売上」で確認します。
例:次の表があるとします。
A列:担当者(Aさん、Bさん…)
B列:売上金額
Aさんの売上合計を出す式は次のとおりです。
=SUMIF(A2:A1000,"Aさん",B2:B1000)
この式がやっていることはシンプルです。
A2:A1000を上から見ていく
「Aさん」と一致する行を見つける
その行のB列(B2:B1000)の金額を足し上げる
ここで、条件をセル参照にするとさらに便利になります。たとえば、E1セルに「Aさん」が入っているなら、
=SUMIF(A2:A1000,E1,B2:B1000)
こうしておけば、E1を書き換えるだけで「Bさん」「Cさん」の合計もすぐ出せます。集計表の“仕組み化”が一段進みます。
もう1つ、よくある最小例が「カテゴリ別合計」です。
A列:カテゴリ(食費、交通費、通信費…)
B列:金額
食費の合計:
=SUMIF(A2:A500,"食費",B2:B500)
このレベルの簡単な集計は、SUMIFが最も得意とする領域です。まずは「条件列と合計列が分かれている」表で、迷わず書けるようになることを目標にすると、その後の応用もスムーズです。
SUMとSUMIFSとの違いを押さえる
SUMIFを学ぶときに混乱が多いのが、SUM/SUMIF/SUMIFSの使い分けです。特に、似た名前のSUMIFSがあるため、引数の順序を取り違える事故が頻発します。まずは役割を明確に分けます。
| 関数 | 条件の数 | 得意な用途 | 迷いやすい点 |
|---|---|---|---|
| SUM | 0 | 範囲の合計 | 条件は付けられない |
| SUMIF | 1 | 条件が1つの合計 | 条件の書き方(文字列/比較/部分一致) |
| SUMIFS | 1以上 | 条件が複数の合計 | 引数順がSUMIFと違う |
最重要ポイントは次です。
SUMIF:合計範囲が最後
=SUMIF(条件範囲, 条件, 合計範囲)SUMIFS:合計範囲が最初
=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)
たとえば、「Aさん」かつ「渋谷店」の売上合計は、条件が2つなのでSUMIFSが自然です。
=SUMIFS(C2:C1000, A2:A1000, "Aさん", B2:B1000, "渋谷店")
(A列:担当者、B列:店舗、C列:金額)
SUMIFで無理にやろうとすると、補助列を作って条件を連結するなどの工夫が必要になります。結果として表が複雑になりやすいので、「条件が2つ以上ならSUMIFS」という判断基準を持つと迷いが減ります。
SUMIFの条件指定を型で覚える
SUMIFで結果が合わない原因の多くは「条件指定のミス」です。式そのものは合っているのに、条件の書き方が意図と違うために、対象行が拾えていないケースが多発します。
そこで、この章では条件を“型”で覚えられるように整理します。実務でよく出るのは、次の3種類です。
数値の比較(>、>=、<、<=)
文字列の一致(完全一致、セル参照)
日付の条件(同日、以前以後、期間)
この3つを押さえるだけで、SUMIFの大半は安定します。
数値の条件(>, >=, <, <=)の書き方
数値比較の条件は、演算子と数値を文字列として書くのが基本です。ここで重要なのは、「条件は文字列である」という感覚です。
たとえば、B列が金額で「1000より大きい金額だけ合計」したいなら、
=SUMIF(B2:B1000,">1000")
「1000以上」なら、
=SUMIF(B2:B1000,">=1000")
「1000未満」なら、
=SUMIF(B2:B1000,"<1000")
このとき、演算子と数値を別に書いてしまうと失敗します。たとえば次は誤りです。
=SUMIF(B2:B1000,">",1000)(こういう引数の分け方はしない)
条件は必ず ">=1000" のように一体にします。
次に、条件となる数値をセル参照にしたい場合です。たとえば、E1に閾値が入っていて「E1以上を合計」したいなら、条件の作り方が変わります。
=SUMIF(B2:B1000,">="&E1)
ここでのポイントは、">=" と E1 を &で結合することです。
条件は文字列である必要があるため、演算子だけでは意味を持ちません。">="&E1 で初めて ">=5000" のような条件文字列になります。
また、条件列と合計列が別の場合は、次の形になります。
A列:数量
B列:売上金額
「数量が10以上の売上金額合計」
=SUMIF(A2:A1000,">=10",B2:B1000)
数値条件は、書き方さえ覚えれば強力です。まずは以下の“型”を暗記するのが近道です。
固定値:
">=1000"セル参照:
">="&E1
文字列の条件(完全一致)と二重引用符
文字列条件の基本は「二重引用符で囲む」です。
=SUMIF(A2:A1000,"渋谷店",C2:C1000)
A列で「渋谷店」を探し、C列を合計しています。
ここでよくある失敗が、次の2つです。
見た目は同じでも実際は違う(余分な空白)
「渋谷店」と「渋谷店 」のように末尾にスペースが混ざっていると一致しません。
特に、外部データの貼り付けやCSV取り込みで発生しがちです。全角・半角の揺れ
「Aサン」と「Aさん」のような表記揺れ、全角半角の混在も一致を阻害します。
このようなときは、SUMIFを疑う前に「条件列のデータ品質」を疑うほうが早いです。実務では、次のような前処理が効果的です。
TRIMで余分なスペースを除去(別列で整形)
置換で全角半角を統一
入力規則(データ検証)で表記揺れを防ぐ
また、条件文字列をセルに入れて参照するのも定番の運用です。E1に「渋谷店」と書いておけば、
=SUMIF(A2:A1000,E1,C2:C1000)
これで、E1を差し替えるだけで店舗別集計を回せます。集計表の汎用性が上がります。
日付の条件(同日・以前以後・期間の考え方)
日付条件は、一見難しく感じますが、基本は数値条件と同じです。日付はExcel内部では数値として扱われるため、比較演算子が使えます。
たとえば、B列が日付、C列が金額の表があり、「2025/01/01以降の金額を合計」したい場合は次のとおりです。
=SUMIF(B2:B1000,">=2025/1/1",C2:C1000)
同じ日付だけ合計したい場合は完全一致もできます。
=SUMIF(B2:B1000,"2025/1/1",C2:C1000)
ただし、実務でよく起きる落とし穴があります。
日付が“文字列”として入っている
見た目が日付でも、実際は文字列のケースがあります。この場合、比較がうまく動かないことがあります。
対策として、日付列の表示形式の変更だけでなく、値自体を日付として認識させる(文字列→日付変換)必要があります。時刻が混ざっている(日時データ)
「2025/1/1 10:30」のように時刻を含むデータだと、「2025/1/1」と完全一致しません。
この場合は「>=2025/1/1」かつ「<2025/1/2」のように期間で扱うのが確実です。ただしこれは条件が2つになるため、基本的にはSUMIFSが向いています。
日付で「期間」を扱うときは、SUMIF単体では限界が来やすいです。たとえば「2025/1/1〜2025/1/31」のような範囲は、条件が2つ必要です。
開始日以上
終了日以下
この場合は、素直にSUMIFSへ切り替えるのが運用上安全です。SUMIFは“1条件のエース”、期間は“SUMIFSの得意領域”という住み分けを覚えておくと迷いません。
部分一致をSUMIFで集計する方法
完全一致だけでは拾えないデータは多いです。商品名の末尾に容量が付いていたり、摘要に補足が入っていたりするため、「含む」「で始まる」「で終わる」といった条件で集計したいことがよくあります。
SUMIFでは、ワイルドカードを使うことで部分一致を実現できます。ワイルドカードを使いこなせると、現場の集計効率が一気に上がります。
ワイルドカードの基本(含む・で始まる・で終わる)
SUMIFで主に使うワイルドカードは次の2つです。
*:任意の文字列(0文字以上)?:任意の1文字
代表的な使い方を整理します。
| やりたいこと | 条件の書き方 | 例 |
|---|---|---|
| 文字列を含む | "*文字*" | "*コーヒー*" |
| 文字列で始まる | "文字*" | "東京*" |
| 文字列で終わる | "*文字" | "*店" |
| 1文字だけ任意 | "A?C" | "A?C"(AとCの間が1文字ならOK) |
たとえば、A列に商品名、B列に金額があり、「商品名に“コーヒー”が含まれる金額合計」なら、
=SUMIF(A2:A1000,"*コーヒー*",B2:B1000)
「東京で始まる店舗名の合計」なら、
=SUMIF(A2:A1000,"東京*",B2:B1000)
「末尾が“店”のものだけ合計」なら、
=SUMIF(A2:A1000,"*店",B2:B1000)
この3つが実務で最頻出です。まずは “含む=前後に*” を身体で覚えるのが良いです。
なお、ワイルドカードをセル参照と組み合わせることもできます。E1にキーワードが入っている場合、
=SUMIF(A2:A1000,"*"&E1&"*",B2:B1000)
これで、E1を差し替えるだけで部分一致集計を自在に切り替えられます。
「含まない」条件を作るコツ
「含まない」条件は、否定(不等号)を使って作れます。
=SUMIF(A2:A1000,"<>*コーヒー*",B2:B1000)
意味は「A列が“コーヒー”を含む文字列ではない行」を合計です。
ここで注意したいのは、否定条件は結果の妥当性が見えにくいことです。「合っているつもり」で集計がズレても気づきにくいので、次のような検算をおすすめします。
「含む」の合計+「含まない」の合計 = 全体合計になるか
フィルターで実際に“含む”を絞り、数件だけ目視で一致するか
否定条件は強力ですが、使うほど検算の重要性が上がる、と覚えておくと事故が減ります。
ワイルドカードが効かないときの確認点
部分一致が効かないときは、次のチェックを上から順に行うと原因が見つかりやすいです。
条件を二重引用符で囲んでいるか
*は単体では意味がなく、文字列条件として扱われる必要があります。検索対象のセルに余計な空白がないか
「コーヒー」と「コーヒー 」のような末尾スペースで一致しない、あるいは想定外に一致するケースがあります。記号・全角半角が混在していないか
ハイフン、カッコ、スペース(全角/半角)などが混ざると、同じ文字列だと思っても一致しません。そもそも“範囲”が合っているか
部分一致の式は合っているのに、検索範囲が別列を見ていた、という単純ミスも多いです。合計範囲が数値として認識されているか
合計範囲が文字列だと、結果が0になったり期待より小さくなったりします。
問題が切り分けづらい場合は、まずフィルターで同条件を絞り込み、「本当に対象行が存在するか」を確認するのも有効です。対象が0行なら、関数の問題ではなく条件の解釈(表記揺れ)やデータの中身に原因があります。
SUMIFが合わないときのチェックリスト
SUMIFはシンプルな関数ですが、「結果が合わない」「数字が小さい/大きい」「特定の条件だけ拾えていない」など、違和感が出たときに原因が複数考えられます。ここでは、実務で多い原因を“上から潰す”ためのチェックリストとして整理します。
チェックのコツは、関数の書式より先に、参照範囲とデータの状態を疑うことです。式は合っていても、範囲がズレているだけで数字が大きく崩れます。
検索範囲と合計範囲のサイズ不一致を疑う
まず最優先で確認したいのが、検索範囲(範囲)と合計範囲が正しく対応しているかです。
検索範囲:A2:A1000
合計範囲:B2:B1000
このように、開始行も終了行もそろっている必要があります。ありがちな事故は次のとおりです。
A2:A1000 と B3:B1001(1行ズレ)
A2:A500 と B2:B1000(行数が違う)
A:A と B2:B1000(片方だけ列全体参照)
こうしたズレは、式を見ただけでは気づきにくいことがあります。確認の実践手順としては、次が有効です。
範囲の先頭セルをクリックして、数式バーで参照を目で追う
“A2”と“B2”が揃っているか確認します。範囲を一度、明示的な行数に揃えてみる
列全体参照をやめ、A2:A1000、B2:B1000に統一して計算が安定するかを見ると原因が絞れます。テーブル機能(Excelのテーブル)を使う
テーブル参照(構造化参照)を使うと、範囲のズレ事故が起きにくくなります。定型の業務集計では特に効果が大きいです。
範囲ズレは「SUMIFが壊れている」のではなく「参照がズレているだけ」なので、ここを直すと一気に解決することが多いです。
数値が文字列になっていないか確認する
次に多い原因が、合計範囲が数値ではなく 文字列 として入っているケースです。見た目は「1000」でも、Excelが数値として扱っていないと、合計結果が意図通りになりません。
よくある発生パターン:
CSVから取り込んだ金額列が文字列になっている
先頭にアポストロフィ(’)が付いている
末尾にスペースが混じっている
全角数字で入っている
「1,000円」のように単位が混ざっている
確認方法としては、次が簡単です。
セルを選択して、左寄せになっていないか(一般的に、数値は右寄せになりやすい)
合計範囲の一部に対して、VALUE関数で数値化できるか
空のセルに1を入れてコピーし、対象範囲に「形式を選択して貼り付け→乗算」する(数値化の定番手法)
ただし、最後の方法は元データを書き換えるため、共有データや監査がある表では注意が必要です。安全策としては、別列で数値化した列を作って合計に使うのが堅い運用です。
SUMIFとSUMIFSの引数順を見直す
範囲もデータも問題がなさそうなのに結果が合わない場合、SUMIFとSUMIFSの混同を疑います。特に次のミスが多いです。
SUMIFSで書くべき場面(条件が2つ以上)をSUMIFで無理に書いている
SUMIFのつもりでSUMIFSの引数順を当てはめてしまい、合計範囲と条件範囲が入れ替わっている
ここで、もう一度だけ引数順を整理します。
SUMIF:
=SUMIF(条件範囲, 条件, 合計範囲)SUMIFS:
=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)
点検のコツは次のとおりです。
「今の式は条件が1つか?」を最初に問う
条件が2つ以上なら、SUMIFSに寄せるだけで整理がつきます。合計したい列はどれか?
SUMIFSなら先頭、SUMIFなら最後。合計列が引数のどこに置かれているかで、混同がすぐ分かります。条件列と合計列が同じになっていないか
コピペの途中で参照がズレ、条件列を合計してしまっているケースもあります。
この段階で、式の骨格が整っていないことに気づくケースは多いです。見直す価値が高いチェックポイントです。
#VALUE!などのエラーを切り分けて直す
「結果が合わない」よりも緊急度が高いのが、#VALUE!などのエラーです。エラーが出ると集計が止まり、報告資料が作れない、という状況になりやすいからです。
SUMIFで起きやすい代表例が #VALUE! です。原因は複数あり得ますが、実務で特に多いものから順に切り分けるのが近道です。
閉じたブック参照で#VALUE!になるケース
別ファイル(別ブック)を参照してSUMIFを使っている場合、参照先のブックが閉じていると #VALUE! が出ることがあります。月次集計で「先月ファイル」「店舗別ファイル」などを参照している場合に起こりがちです。
典型例:
参照先ブックを閉じた途端に #VALUE!
PC再起動後、参照先を開いていない状態で集計シートを開いた
まず行うべきことは単純です。
参照先ブックを開く
再計算する(F9など)
参照先のパスやシート名が変わっていないか確認する
運用として、毎回参照先を開けるならこの方法が最速です。一方、参照先を開けない運用(共有制限、ファイルが巨大、権限問題など)がある場合は、後述の回避策を検討します。
範囲参照・データ型・条件式の結合を点検する
#VALUE!が出た場合の切り分けは、次の順番が効率的です。
参照が壊れていないか
シート名を変更した
列を削除した
名前定義の範囲が壊れた
このような変更で参照が無効になると、エラーにつながります。
範囲のサイズが不整合になっていないか
SUMIFは範囲の対応が重要です。条件範囲と合計範囲がズレていると、計算の過程でエラーになり得ます。条件式の結合が正しいか
数値比較や日付比較で、条件をセル参照で指定している場合は">="&E1のような結合が必要です。
ここを">="E1のように書いてしまうとエラーになります。合計範囲のデータ型が不適切でないか
合計対象が数値ではなく文字列、もしくはエラー値を含んでいる場合も、状況によってはエラーの原因になります。
エラーは「一発で全部直す」のではなく、「どこまでが正常で、どこから壊れているか」を段階的に探すのが現実的です。おすすめの実務手順は次のとおりです。
参照範囲を小さくする(例:A2:A20、B2:B20)
条件を単純化する(文字列完全一致など)
正常に動く最小形まで戻してから、要素を1つずつ足す
こうすると、壊れるポイントが明確になります。
回避策(開く/別式で代替)を選ぶ
閉じたブック参照が原因の場合、回避策は大きく2つに分かれます。
参照先ブックを開く運用に寄せる
月次作業の開始時に「参照先を必ず開く」ルールにする。
手間は増えますが、仕組みを変えずに最短で復旧できます。参照先を開かなくても集計できる仕組みに変える
例:データを1つのブックに取り込む、Power Queryで統合する、集計専用のマスタに蓄積する。
初期整備は必要ですが、長期的には事故が減り、更新も楽になります。
「今日の締め切りを乗り切る」なら前者、「毎月同じ事故が起きている」なら後者、という判断が分かりやすいです。
よくある質問
SUMIFで複数条件はできる?
SUMIFは基本的に「条件は1つ」です。複数条件で合計したい場合は、SUMIFSを使うのが正攻法です。
ただし、どうしてもSUMIFで近いことをしたい場合、次のような代替策があります。
補助列を作り、条件を連結して1条件に見せる
例:担当者列(A列)と店舗列(B列)を連結して、D列に=A2&"_"&B2のようなキーを作る。
その上で=SUMIF(D:D,"Aさん_渋谷店",金額列)のように集計する。
ただし、この方法は表の列が増え、運用ルールも必要になります。条件が2つ以上あるなら、基本はSUMIFSへ切り替えるほうが保守性が高いです。
空白や0はどう扱われる?
空白や0は、集計に大きく影響します。意図に合っているかを確認しておくと、後から数字の説明で困りません。
空白セル
条件列の空白は、条件指定によっては拾われたり拾われなかったりします。
たとえば「空白だけ合計したい」「空白を除外したい」など目的によって条件が変わります。
また、空白に見えてもスペースが入っているケースが多く、ここが原因で条件がズレることがあります。0
0は数値です。条件を付けない限り合計に含まれます。
「0は実績なしなので除外したい」場合は、条件側で">0"のように除外する必要があります(ただしこれは条件が数値列に対するものになるため、集計設計を見直すほうが早い場合もあります)。
実務では「空白=未入力」「0=入力はあるがゼロ」という意味を持つことが多いので、どちらをどう扱うかを決めてから集計式を設計すると、後工程の説明が楽になります。
部分一致と正規表現は使える?
SUMIFは正規表現そのものには対応していません。しかし、ワイルドカード(*、?)を使うことで、実務で必要な“部分一致”の多くはカバーできます。
含む:
"*文字*"始まる:
"文字*"終わる:
"*文字"1文字だけ任意:
"A?C"
より複雑なパターン(「AまたはB」「数字3桁で終わる」など)が必要な場合は、補助列で判定結果(TRUE/FALSEやキー)を作ってからSUMIF/SUMIFSで合計する、という設計が現実的です。判定と合計を分離すると、式の可読性も上がり、保守がしやすくなります。