エクセル迷子案内所
← 学習記事一覧

SUMIF / SUMIFS が動かない6つの原因と解決法【上から順に試せばOK】

公開: 2026-05-13更新: 2026-07-08
執筆: FMaker(エクセル迷子案内所 運営者)対応を想定: Microsoft 365 / Excel 2021最終事実確認: 2026-07-08

「SUMIFを書いたのに結果が 0 になる…」 「SUMIFSで #VALUE! が出る…」 「明らかに合計できそうなのに、なぜか合わない…」

💡 関連記事:


症状

SUMIFの結果が0になる、合計が明らかに合わない、#VALUE!や#NAME?が出る——そんな状態になっている。

即答

SUMIFの結果がゼロや期待と違うときの原因は「型不一致・余白・範囲サイズ・クォート・ワイルドカード・日付」の6つに絞られる。

なぜ起きるのか

SUMIFは条件範囲と条件が「型・値ともに完全一致」したセルの合計範囲だけを集計するため、見た目が同じでも型や余分なスペースが違うだけでゼロになる。

確認手順

エラーの症状から最初に確認すべき節へ進んでください。「あなたのケースはどれ?」で原因を絞れます。

  1. 結果が0 → 「① 型の不一致」か「② 余白・改行」を確認
  2. #VALUE!が出る → 「③ SUMIFSの範囲サイズ」を確認
  3. #NAME?が出る → 「④ 比較演算子のクォート」を確認
  4. 期待値と違う(0ではない) → 「⑤ ワイルドカード」か「⑥ 日付の扱い」を確認

SUMIFSの典型例。=SUMIFS(C2:C5,A2:A5,"商品A",B2:B5,"東京") で「商品A×東京」の売上だけを合計。合計範囲(C2:C5)が最初、その後に条件範囲と条件のペアが続く


まずはSUMIFとSUMIFSの基本(30秒で確認)

SUMIFは「条件範囲→条件→合計範囲」、SUMIFSは「合計範囲→条件範囲1→条件1→...」と引数の順番が逆になる。

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

SUMIF と SUMIFS の引数の順番が違う ので注意:

  • SUMIF条件範囲 → 条件 → 合計範囲
  • SUMIFS合計範囲 → 条件範囲1 → 条件1 → ...

SUMIFS は条件を 複数指定 できる代わりに、合計範囲が最初に来ます。

📌 ポイント: 条件1つなら SUMIF、複数なら SUMIFS。迷ったら最初から SUMIFS で書いておくと統一感が出て管理しやすいです。「合計」ではなく「件数」を数えたいときは COUNTIF / COUNTIFS を使います(つまずくパターンはほぼ同じです)。条件ごとの集計を手軽に一覧化したい場合は、数式ではなく ピボットテーブルで集計する方法 も選択肢になります。


まず疑うべき3つの原因(これで9割解決します)

「型不一致・余白・範囲サイズ不一致」の3パターンが原因の9割を占める。まずこの順で確認する。

SUMIF / SUMIFS が思い通りに動かない原因の 9割 はこの3つです。 上から順番に確認 してください。

① データ型の不一致(文字列⇔数値)

条件と条件範囲の型(文字列⇔数値)が違うと、見た目が同じでも合計が0になる。

一番多い原因がこれです。

症状

  • 検索条件(例:"1001")と、表の中の値(例:1001)が 見た目は同じなのに集計されない
  • 結果が 0 になる
  • 元データをCSVや別システムから貼り付けたときに発生しがち

確認方法

セルを選択して、画面下のステータスバーを見てください。

  • 数値なら「合計」が表示される
  • 文字列なら「合計」が出ない(「データの個数」だけ)

または、セルの中身が 左寄せ=文字列右寄せ=数値 が初期動作です。

解決方法

条件範囲側を数値に変換するのが王道。一括で直すには:

  1. 空のセルに 1 を入力してコピー
  2. 数値化したい範囲を選択
  3. 右クリック →「形式を選択して貼り付け」→「乗算」

これで文字列の数字が一気に数値になります。

📌 ポイント: 「条件範囲」と「条件として指定する値」の 両方が同じ型 になっている必要があります。片方が文字列、片方が数値だと一致しません。数値が文字列として保存されている原因(緑の三角・左寄せ)の詳細は 数式が計算されない・=SUMがそのまま表示される も参照してください。

なお、この不一致は 一方向とは限りません。文字列の条件(例: "1001")を数値の列に指定した場合はExcelが変換して一致することがある一方、下の画像のように 数値の条件を文字列の列に適用した場合は一致せず 0 になります。「型が違うと必ず0になる」と決めつけず、どちらが文字列でどちらが数値かを確認してください。

A列の商品コードが左寄せ(文字列)、D2の検索コードが右寄せ(数値)。見た目は同じ「1001」でも型が違うため一致せず、E2の合計が 0 になっている


② 見えない余白・改行が混じっている

末尾スペースや改行が混入すると完全一致に失敗し、合計が0またはおかしな値になる。

「目視では同じなのに集計されない」場合、スペースや改行が混入している 可能性が高いです。

症状

  • 条件が "商品A" なのに、表側が "商品A "(末尾に半角スペース)
  • 別システムからのコピペデータでよく発生
  • SUMIFの結果が「一部だけ集計される」など中途半端な値になる

確認方法

セルをダブルクリックして、カーソルキーで末尾まで移動してみる。 余分な余白があると気づけます。

解決方法

TRIM関数(前後の余分なスペースを除去)で範囲側をクリーンアップした作業列を作るのが鉄板です。

=TRIM(A2)

この作業列を作ってから SUMIF の条件範囲に指定します。 直接 SUMIF の中で TRIM することは できません(SUMIF / SUMIFS は配列を素直に扱えないため)。

📌 ポイント: TRIMは 半角スペース しか処理しません。全角スペース( )が混じっている場合は、先に SUBSTITUTE で除去してください。

=TRIM(SUBSTITUTE(A2," ",""))

③ SUMIFSの範囲サイズが揃っていない

合計範囲と条件範囲のサイズが揃っていないと#VALUE!になる。全範囲を同じ行数に揃える。

SUMIFS には 致命的な仕様 があります。

合計範囲と、すべての条件範囲は 同じサイズ(同じ行数・列数) でなければならない

症状

  • #VALUE! エラーが出る

⚠️ 条件が1つだけの無印 SUMIF は挙動が違います。合計範囲を条件範囲より短く書いても #VALUE! で止まらず、左上を起点に範囲が自動で補われてズレた集計になることがあります。無印 SUMIF でも合計範囲のサイズはきっちり合わせましょう。

ダメな例

=SUMIFS(C2:C100, A2:A100, "商品A", B2:B50, "東京")
                              ↑ ここだけ B2:B50 で範囲が短い

正しい例

=SUMIFS(C2:C100, A2:A100, "商品A", B2:B100, "東京")

解決方法

すべての範囲を 同じ開始行・終了行 に揃えてください。 列全体を指定する方法も使えます:

=SUMIFS(C:C, A:A, "商品A", B:B, "東京")

📌 ポイント: 列全体(C:C など)を使うと範囲ズレの心配が消えますが、データ量が多いと処理が重くなることがあります。実務では $C$2:$C$1000 のように 絶対参照+十分な行数 を確保する書き方も定番。

SUMIFSの2つ目の条件範囲だけ B2:B3 と短く指定したため、E2 が #VALUE! エラーになっている例


現場のケース

【実務でこれが起きた場面】

経理部門の月次売上集計で、会計システムからExcelにエクスポートした売上データをSUMIFSで月ごとに集計していたが、特定の月だけ合計が0になった。日付列のセルを見ると書式は「日付」表示になっているのに、ステータスバーには「合計」が出ず「データの個数」だけが表示されていた。つまり日付が文字列として保存されていた。調査したところ、会計システムの出力形式がバージョンアップで変わっており、1月分は「2026/01/15」でExcelが日付として認識できていたが、2月以降はこの会計システムの出力でなぜか文字列として貼り付いていた(「2026-01-15」のようなハイフン区切り自体はExcelでも日付認識され得るので、原因は区切り文字ではなくこのシステムの出力仕様だった)。">="&DATE(2026,2,1) との比較では文字列の日付はヒットしない。DATEVALUE関数で数値の日付に変換した作業列を経由させることで解決したが、「書式は日付に見えるのに実は文字列」という状態はステータスバーの「合計」表示確認でしか素早く気づけない点が実務での診断ポイントになっている。


それでも直らないときの中級チェック

御三家で絞れない場合は、クォート・ワイルドカード・日付の書き方の3つを順に確認する。

御三家で原因が特定できないときは、以下を疑います。

④ 比較演算子のクォート忘れ

「>=100」のような条件式はクォートで囲まないと#NAME?エラーになる。

「100以上」や「東京以外」のような 条件式文字列として クォートで囲む必要があります。

ダメな例

=SUMIF(A2:A100, >=100, B2:B100)   ← >=100 がクォートされていない

正しい例

=SUMIF(A2:A100, ">=100", B2:B100)
=SUMIF(A2:A100, "<>東京", B2:B100)

セル参照を組み合わせるとき は、演算子だけクォートして & で連結します。

=SUMIF(A2:A100, ">="&D1, B2:B100)

これは「D1 の値以上のものを合計」という意味。

📌 ポイント: 「= を含む条件」「<> を含む条件」は 必ずクォートが必要。クォートを忘れると #NAME? か想定外の結果になります。

⚠️ Excelのバージョン・入力経路によっては、クォートなしの >=100手入力で確定しようとした時点で「この数式に問題があります」という確認ダイアログが表示され、入力自体がブロックされる 場合があります。この記事の画像のように #NAME? がセルに残る形になるのは、他ブックからのコピペや置換など、確定ダイアログを経由しない入力経路のケースです。

SUMIFの2つ目の引数 >=100 をクォートで囲まずに書いたため、D2 で #NAME? エラーになっている


⑤ ワイルドカード(* ?)と完全一致の混同

SUMIFはデフォルトで完全一致だが、「*」「?」を使えば部分一致で合計できる。

SUMIF / SUMIFS は デフォルトで完全一致 ですが、ワイルドカードも使えます。

ワイルドカードの意味

記号意味
*任意の文字(0文字以上)
?任意の1文字
~* / ~?* / ? 自体を検索したいとき(エスケープ)

部分一致したいとき

=SUMIF(A2:A100, "商品*", B2:B100)    ← "商品" で始まる
=SUMIF(A2:A100, "*東京*", B2:B100)   ← "東京" を含む
=SUMIF(A2:A100, "*店", B2:B100)      ← "店" で終わる

よくあるハマりどころ

  • データに * という記号が含まれている場合、ワイルドカードと解釈されてしまう
  • "~*" のように ~(チルダ)でエスケープすると、* を文字として扱える

📌 ポイント: 部分一致で集計したいのに完全一致で書いている、または逆に完全一致のつもりが * を含む文字列が予想外にヒット…のパターンが多いです。

SUMIFで "商品*" を条件にすると、A列の「商品A」「商品B」「商品C」(黄色ハイライト)が部分一致し、D2に合計3,500が集計される


⑥ 日付の扱い(DATE関数 / ">="& の連結)

日付条件はDATE関数を使った ">="&DATE(...) 形式で書くのが確実で、文字列リテラルは非推奨だ。

日付条件は 意外とハマりやすい ポイントです。

ダメな例(動くけど壊れやすい)

=SUMIFS(C:C, A:A, ">=2026/1/1")

書き方次第で動きますが、Excelのバージョン・地域設定で挙動が変わる ため非推奨。

正しい例(推奨)

=SUMIFS(C:C, A:A, ">="&DATE(2026,1,1), A:A, "<"&DATE(2026,2,1))

これは「2026年1月の合計」を確実に取る書き方。

よくあるパターン

  • 「今月の合計」: ">="&DATE(YEAR(TODAY()),MONTH(TODAY()),1)"<"&DATE(YEAR(TODAY()),MONTH(TODAY())+1,1) を組み合わせる
  • 「セルD1の日付以降」: ">="&D1

📌 ポイント: 日付は 数値(シリアル値) として扱われます。DATE() 関数や & 連結を使えば、文字列リテラルとして書くより安全です。

なお、DATE() で正しく書いても期間集計が合わないときは、集計対象の日付そのものが「文字列の日付」(左寄せで、書式を変えても日付にならない)になっている可能性があります。その場合は 日付が数字になる・直らないときの直し方 で本物の日付に直してから集計してください。

SUMIFSの条件に ">="&DATE(2026,1,1) と "<"&DATE(2026,2,1) を指定し、1月の売上(黄色ハイライト)だけを D2 に集計している例


番外:SUMIFSとSUMPRODUCTの使い分け

SUMIFSで表現できない複雑な条件のときだけSUMPRODUCTを使う。シンプルな条件ならSUMIFSが速くて読みやすい。

SUMIFS でどうしても表現できない条件のときは、SUMPRODUCT の出番です。

SUMIFS が苦手なこと

  • 関数を絡めた複雑な条件(例: 「文字列の長さが3のもの」)
  • 「OR条件」を1つの式でまとめる

SUMPRODUCT なら書ける例

=SUMPRODUCT((LEN(A2:A100)=3)*B2:B100)

「A列の文字列長が3のとき、B列を合計」という条件。

📌 ポイント: シンプルな条件なら SUMIFS が速くて読みやすい。複雑な条件のときだけ SUMPRODUCT に切り替えると、可読性とパフォーマンスのバランスが取れます。


まとめ:判断フロー

エラーの種類(0/#VALUE!/#NAME?/期待値違い)で確認すべき原因が決まる。

順番疑うこと解決の道具
データ型の不一致「形式を選択して貼り付け→乗算」で一括変換
見えない余白・改行TRIM の作業列
SUMIFS の範囲サイズ全範囲を同じ行数に揃える
比較演算子のクォート漏れ">=100" のように文字列化
ワイルドカード* ? ~* の意味を確認
日付の扱い">="&DATE(...) を使う

この順番で確認すれば、ほぼ全ての SUMIF / SUMIFS のトラブルが解決できます。


よくある質問

SUMIF/SUMIFSでよく受ける質問への回答をまとめた。

Q. SUMIFS と SUMIF、どちらを覚えるべき?

SUMIFSを覚えれば十分。条件1つでもSUMIFSで書けるので、後から条件を追加しても書き直し不要だ。

A. SUMIFS を覚えれば十分 です。条件1つでも SUMIFS で書けるので、統一感が出てメンテナンスしやすくなります(引数の順番だけ注意)。

Q. 大文字小文字は区別される?

SUMIFは大文字小文字を区別しない。区別が必要な場合はSUMPRODUCT+EXACTを使う。

A. 区別されません"abc""ABC" は同じものとして扱われます。区別したい場合は SUMPRODUCT + EXACT を使います。

Q. 結果がどうしても合わない…

この手順で直らない場合はレアケースの可能性があり、AIサポートでの切り分けが近道だ。

記事の手順を試しても直らない場合、特定の構成だけで起きるレアケースかもしれません。AIサポートで対話的に原因を切り分けてみてください。

無料ダウンロード・登録不要のメールだけ

Excelの「詰まりどころ」早見表を1枚に。

COUNTIF・SUMIF・#N/A・エラー6種の《症状→原因→即対応》をA4一枚に凝縮。印刷して手元に。

次に読む

よく読まれている

それでも解決しないときは

記事の手順を試しても直らない場合、特定の構成だけで起きるレアケースかもしれません。対話で原因を1つずつ切り分けるのが最短です。

AI案内人に相談する(無料・登録不要)→