Excel SUMIFが計算されない・0になる原因と直し方【完全解説】

スポンサーリンク
スポンサーリンク

「SUMIFを入れたのに、なぜか結果が0のまま」

「昨日まで動いていたのに、突然計算されなくなった」

 

——そんな経験はありませんか?

 

フリーランスとしてExcelファイルを触ってきましたが、SUMIF関連のトラブルはVLOOKUPのエラーと並んで問合せが多いテーマです。

 

原因のほとんどは数式のミスではなく、「データの型の不一致」か「計算設定の変更」に集約されます。

 

この記事では、症状ごとに原因を絞り込んで直し方を解説しますので、上から順番に確認してみてください。

スポンサーリンク

SUMIFが計算されない原因は大きく4パターンあります

結論から言うと、SUMIF関数が正しく動かない場合の原因は以下の4つのどれかに当てはまることがほとんどです。

 

まず自分がどのパターンに近いか確認してみましょう。

 

症状 主な原因
結果が0になる データ型の不一致(文字列扱い)
一部の行だけ合計されない スペースの混入・表記揺れ・条件の書き方のズレ
データを追加しても反映されない 計算モードが「手動」になっている
コピーすると結果がズレる 範囲に絶対参照($)がついていない

パターン1:検索条件のデータ型が一致していない(文字列vs数値)

SUMIF 0になる原因として最も多いのが、「条件として指定したセルの値」と「範囲内のデータの型」が一致していないケースです。

 

たとえば、検索範囲のA列が「数値の101」なのに、条件セルに「文字列の101」が入っていると、見た目は同じでもExcelには別物として認識されます。この場合、条件に一致するデータが1件も見つからないため、結果は0になります。

 

型の違いを見分けるには、セルの配置が手がかりになります。数値は右寄り、文字列は左寄りに表示されるのがExcelの初期設定です。条件セルと範囲のデータで、揃っているか確認してみてください。

 


数値と文字列の見分け方(セル内の配置)
✅ 数値として認識されている
101
→ セル内で右寄りに表示
⚠️ 文字列として認識されている
101
→ セル内で左寄りに表示(または左上に緑マーク)

💡

型を統一する方法
文字列を数値に変換するには、VALUE関数(例:=VALUE(A2))を使うか、空白セルに「1」を入力してコピー→形式を選択して貼り付け→「乗算」を選ぶ方法が手軽です。

 

型を数式で確認したい場合は、=ISNUMBER(A2) と入力してみてください。

 

TRUEなら数値、FALSEなら文字列です。範囲と条件の両方で確認して、型が揃っているか確かめましょう。

パターン2:見えないスペースの混入や表記揺れ

条件が文字列(商品名・部署名など)の場合に多いのが、見えないスペースの混入や、微妙な表記揺れです。

 

実は、SUMIF関数は「半角・全角」や「大文字・小文字」の違いは区別しません(例:「アップル」と「アップル」は同じとみなされて集計されます)。
そのため、それでも一部の行が合計されない場合、原因は「末尾のスペース」や「株式会社と㈱の違い」など、データ自体の不一致にあります。入力者が異なるデータを入力したり、他システムからコピーしたりしたときに発生しやすいトラブルです。

 

見た目ではほぼ気づけないため、見つけにくいパターンのひとつです。SUMIF計算されない状態が「一部の行だけ」なら、まずここを疑ってみましょう。

 

確認するには、条件と範囲データを並べて =EXACT(B2,C2) で比較するのが確実です。

 

EXACTはスペースの有無や文字の違いまで含めて厳密に一致しているかをTRUE/FALSEで返してくれます。

 

TRUEなら完全一致、FALSEならスペースの混入や文字の違いがあります

パターン3:範囲がずれている(絶対参照の欠落)

SUMIFをコピーして使い回す場合によくあるのが、範囲に絶対参照の「$」がついていないことによる範囲ずれです。

 

たとえば =SUMIF(A2:A100,D2,B2:B100) という数式を下にコピーすると、=SUMIF(A3:A101,D3,B3:B101) のようにすべての範囲が1行ずつずれてしまいます。

 

正しくは =SUMIF($A$2:$A$100,D2,$B$2:$B$100) のように、固定したい範囲には「$」をつけましょう。範囲を選択してF4キーを押すと、$を自動で挿入できます。

パターン4:計算モードが「手動」になっている

「データを追加・変更したのに、SUMIFの数字が変わらない」という場合は、計算モードが「手動」に切り替わっている可能性があります。

 

手動モードでは、キーボードのF9キーを押すまで再計算が実行されません。これは大量のデータを扱うファイルを他の人が作った場合や、マクロの処理で意図的に変更された際に起きやすいです。

 

詳しい確認手順は後述しますが、SUMIFだけでなく他の数式も一切更新されないなら、このパターンが濃厚です。

スポンサーリンク

SUMIFの結果が0になる場合の確認手順

「0が返ってくる」という症状に絞って、順番に確認できる手順をまとめます。慌てて数式を書き直す前に、この流れで原因を特定しましょう。

セルの書式が「文字列」になっていないか確認する

SUMIF反映されない状態の中でも、意外に多いのが「合計範囲のセルが文字列書式になっている」ケースです。

 

書式が文字列のセルは、数値を入力しても計算の対象外になります。見た目には数字が入っているように見えるため、気づきにくいです。

 

セルの書式を「標準」に戻す手順

STEP 1
合計範囲(B列など)を選択する
STEP 2
ホームタブ → 数値グループのプルダウンを確認

文字列

⚠️ これが原因

標準

← これに変更
STEP 3
書式を「標準」に変更後、セル変換を実行する
⚠️ 書式を変えるだけでは再計算されません。以下のいずれかの方法で値を再確定させてください。
おすすめ方法(セル数が多い場合)
① 空白セルに「1」を入力してコピー
② 文字列セルの範囲を選択
③ 右クリック→「形式を選択して貼り付け」→「乗算」を選択
個別修正(セル数が少ない場合)
各セルをダブルクリック→Enterで確定する

条件に余分なスペースが入っていないか確認する

条件として指定している文字列に、目に見えないスペースが紛れ込んでいるケースも少なくありません。

 

他のシステムやWebページからコピーしたデータには、末尾や先頭にスペースが入っていることがあります。これが原因でSUMIF計算されない状態になっていても、数式バーを見ただけでは気づけません。

 

対処するには、条件セルまたは範囲データに対して =TRIM(A2) を適用し、余分なスペースを除去した値で比較するのが確実です。

 

SUMIF内でTRIMを使う場合は、SUMIF単体では処理できないため、TRIM済みの作業列を用意して参照する形が現実的です。

スポンサーリンク

SUMIFが反映されない・更新されない場合の直し方

データを変更しても数値がまったく変わらない場合、計算モードの問題である可能性が高いです。確認と修正はどちらも1分以内に終わります。

計算方法を「自動」に戻す手順

Excelの計算モードは「数式」タブから確認・変更できます。以下の手順で設定を確認してみましょう。

 

🔄
計算モードを「自動」に戻す操作パス
数式タブ

計算方法の設定

自動(A)を選択
⏸️
手動モード
データを変えても
再計算が止まっている
🔁
「自動」に変更
数式タブ→
計算方法の設定→自動
即時に再計算
SUMIFの値が
正しく更新される
💡 急いで確認したいときは、まずF9キーを押してみてください。手動モードのまま強制的に再計算が実行されます。F9で値が変わったなら、計算モードが原因です。

 

計算モードの切り替えや、SUMIF以外の数式も全体的に反映されない場合は、以下の記事も参考にしてみてください。

 

Excelの数式が反映されない原因と直し方【即解決チェックリスト】

Excel数式が表示されるだけで計算されない原因と直し方【症状別逆引き】

スポンサーリンク

SUMIF関数の書き方を再確認する

ここまでの原因に該当しない場合は、数式の書き方自体を見直すのが次のステップです。

書き方のミスでSUMIF計算されない状態になっているケースも一定数あります。

SUMIF関数の基本構文と引数の役割

SUMIFの構文は =SUMIF(範囲, 検索条件, 合計範囲) です。引数は3つで、それぞれ役割が違います。

合計範囲は省略可能で、省略した場合は「範囲」と同じ範囲が合計対象になります

 

引数 役割 記述例
範囲 条件を検索する列・行 $A$2:$A$100
検索条件 一致させたい値・セル参照・文字列 D2 または "東京"
合計範囲 合計したい数値が入っている列・行 $B$2:$B$100

条件に文字列を直書きする場合はダブルクォーテーションが必要

条件として文字列を数式内に直接書く場合、ダブルクォーテーション(”)で囲む必要があります。囲み忘れると #NAME? エラーになるか、0が返ります。

 

正しい書き方:=SUMIF($A$2:$A$100,"東京",$B$2:$B$100)
誤った書き方:=SUMIF($A$2:$A$100,東京,$B$2:$B$100)

 

セル参照(D2など)を使う場合はダブルクォーテーション不要です。セル参照と文字列の混在もよくあるミスのひとつです。

ワイルドカードを使う場合の注意点

「〜を含む」条件で集計したい場合、ワイルドカード(*)を使います。ワイルドカードを使うときは、必ずダブルクォーテーションとアンパサンドで連結する必要があります。

 

例:=SUMIF($A$2:$A$100,"*東京*",$B$2:$B$100)

セル参照と組み合わせたい場合は =SUMIF($A$2:$A$100,"*"&D2&"*",$B$2:$B$100) のように書きます。アスタリスクを省いたり、セル参照と連結のアンパサンドを忘れたりすると、条件が正しく機能しません。

 

関数のエラー全般については、以下の記事でまとめて確認できます。

Excel関数エラーの原因と直し方|#VALUE!・#REF!・#NAME?症状別逆引き

スポンサーリンク

複数条件で集計したい場合はSUMIFSを使いましょう

「東京かつ売上100以上」のように、条件を複数組み合わせて集計したい場合はSUMIF(単数形)では対応できません。SUMIFS(複数形)に切り替えましょう。

 

SUMIFSは =SUMIFS(合計範囲, 範囲1, 条件1, 範囲2, 条件2, …) という構文です。SUMIF との違いは、引数の先頭に「合計範囲」が来る点です。順番を間違えると結果がおかしくなるため注意が必要でしょう。

 

SUMIFとSUMIFSの引数順の違い

SUMIF(条件1つ)
=SUMIF(
範囲
,
条件
,
合計範囲(省略可)
)
SUMIFS(条件2つ以上)
=SUMIFS(
合計範囲が先!
,
範囲1
,
条件1
, …
)
💡 SUMIFSはSUMIFと引数順が異なります。「合計範囲が先頭に来る」という点を覚えておくと、書き間違いを減らせます。

VLOOKUPやXLOOKUPと組み合わせて集計する方法を探している方は、以下の記事もあわせてどうぞ。

 

VLOOKUPエラーの原因と直し方|#N/A・結果が0・コピーでズレる対処法
XLOOKUPとVLOOKUPの違いを徹底比較|どっちを使えばいい?【2026】

スポンサーリンク

Q&A【よくある疑問まとめ】

Q. SUMIFで日付を条件にしたいのですが、うまく集計できません。
A. 日付を条件にする場合は、比較演算子と組み合わせた文字列で指定します。たとえば2026年5月1日以降のデータを集計したいなら、=SUMIF($A$2:$A$100,">="&DATE(2026,5,1),$B$2:$B$100) のように書きます。日付をダブルクォーテーションで直書き("2026/5/1")すると文字列として扱われてしまうため、DATE関数と&で連結する形が確実です。また、集計対象の日付セルが「文字列扱い」になっている場合は一致しないため、セルの書式が「日付」または「標準」になっているか確認してみてください。
Q. SUMIFの範囲を列全体(A:A)にすると動作が遅くなりますか?
A. データ量によっては体感できる程度に遅くなる場合があります。A:A のように列全体を指定すると、Excelは約100万行を検索対象として処理するため、SUMIFを多数使っているファイルでは再計算に時間がかかることがあります。実務では $A$2:$A$1000 のように、実際のデータ件数より少し余裕を持たせた固定範囲を使うのが現実的なバランスです。データが今後大幅に増える見込みがある場合は、テーブル機能(Ctrl+T)を使って範囲を自動拡張させる方法も検討してみてください。
Q. エラーを「0」や「-」に置き換えて表示したい場合はどうすればいいですか?
A. IFERROR関数と組み合わせる方法が手軽です。=IFERROR(SUMIF(…),0) のように書くと、エラーが発生した場合に0を表示できます。「-」を表示したい場合は =IFERROR(SUMIF(…),"-") と書きます。ただしSUMIF自体はエラーより「0を返す」ケースのほうが多いため、IFERRORで0が消えない場合はデータ型や条件の書き方を先に見直すほうが根本解決になります。IFERRORの詳しい使い方は以下の記事でまとめています。
IFERRORでExcelのエラーを消す!基本の書き方と実務で使える具体例【保存版】
スポンサーリンク

まとめ

ExcelのSUMIF関数が計算されない・0になる・反映されないトラブルは、原因を症状で絞り込めば解決が早くなります。この記事のポイントを整理しておきましょう。

 

  • 結果が0 → まずデータ型(数値か文字列か)を疑う
  • 一部だけ合計されない → EXACT関数でスペース混入や表記揺れを厳密比較してみる
  • データ変更が反映されない → 計算モードが「手動」になっていないか確認する
  • コピーで結果がずれる → 範囲に絶対参照($)をつけているか確認する
  • 複数条件での集計 → SUMIFSを使い、引数の順序(合計範囲が先頭)に注意する

 

それでも解決しない場合は、条件セルに対して =ISNUMBER()=EXACT() を使って型と値を確認するのがおすすめです。

 

数式の見た目が正しくても、データ側に問題が潜んでいることがほとんどです。

 

他のExcel関数・書式まわりのトラブルはこちらの記事もあわせてどうぞ。

 

タイトルとURLをコピーしました