【Excel】エクセルSUMIFが0になる・計算されない・エラーになる原因と対処法
ExcelでSUMIF関数を入力したのに結果が0のまま、あるいは計算されずエラーになると、数式そのものが間違っているように感じるかもしれません。
しかしSUMIFの不具合は、検索条件、合計範囲、データ形式、ワイルドカード、再計算設定など、周辺の設定や入力値が原因になっているケースが多いものです。
この記事では、SUMIFが0になる、計算されない、エラーになる場面を分けながら、実務で使える確認方法と修正手順を詳しく解説します。
SUMIFが0になるときは、条件とセルの形式を確認します。
エラーになるときは、範囲の大きさと数式の構文を確認します。
計算されないときは、数値の保存形式とExcelの計算設定を確認します。
とくに見た目は同じ文字列でも、全角と半角、文字列と数値、余分な空白の違いでSUMIFは一致しません。
サンプルは1行目を見出しとして作成しているため、数式を入力する場合は2行目以降のデータ範囲を指定しましょう。
SUMIFが0になる場合の条件指定
それではまず、SUMIFが0になる場合の条件指定について解説していきます。
| A 商品 | B 担当 | C 売上 |
|---|---|---|
| ノート | 田中 | 1200 |
| ペン | 佐藤 | 800 |
| 付箋 | 田中 | 600 |
たとえば田中さんの売上を合計する数式は、=SUMIF(B2:B4,”田中”,C2:C4)です。
この数式の結果は1800になるはずですが、条件が一致していないと0が返されます。
条件文字列の全角半角と空白
SUMIFは条件範囲にある文字と、数式で指定した条件を比較して合計対象を判断します。
続いては、文字列の違いによる不一致を確認していきます。
「田中」と「田中 」のように末尾へスペースが入っている場合、Excelでは別の文字列として扱われます。
また、「A社」と「A社」、「カナ」と「カナ」も一致しないため、SUMIFの結果が0になる原因です。

セルをダブルクリックしてカーソルを末尾まで移動すると、入力時には見えにくい空白を発見できることがあります。
空白をまとめて除去したい場合は、別列に=TRIM(B2)を入力し、結果を値として貼り付けて置き換える方法が便利です。
TRIM関数は、単語の間にある連続した空白を1つにし、先頭と末尾の空白を削除します。
全角スペースはTRIMだけでは残ることがあるため、必要に応じてSUBSTITUTE関数も組み合わせます。
例として、=TRIM(SUBSTITUTE(B2,” ”,” “))と入力すると、全角スペースを半角スペースに変換してから余分な空白を整えられます。
セル参照による条件入力
続いては、条件をセル参照で指定する方法を確認していきます。
数式内へ直接「田中」と書く代わりに、E2セルへ田中と入力し、=SUMIF(B2:B4,E2,C2:C4)と設定できます。
この方法なら担当者名をE2セルで変えるだけで、別の担当者の売上も確認できます。

ただし、E2セルに不要な空白が入っていれば、直接入力した場合と同じく一致しません。
検索用のセルにはコピー元の表から貼り付けるよりも、プルダウンリストを設定して表記ゆれを防ぐ運用が有効です。
SUMIFの条件は、文字列ならダブルクォーテーションで囲み、セル参照なら囲まないことも重要です。
=SUMIF(B2:B4,”E2″,C2:C4)とすると、E2セルの内容ではなく「E2」という文字そのものを探します。
比較演算子を含む数値条件
続いては、数値条件を使うSUMIFの書き方を確認していきます。
売上が1000以上の行を合計する場合は、=SUMIF(C2:C4,”>=1000″,C2:C4)を使用します。
比較演算子を使う条件では、演算子と数値をひとつの文字列として指定する点がポイントです。
基準値をE2セルに入力している場合は、=SUMIF(C2:C4,”>=”&E2,C2:C4)と記述します。
&は文字列を連結する記号であり、演算子とE2セルの数値をつなぐ役割を持ちます。
条件を”>=1000″ではなく>=1000のように入力すると数式の構文が崩れるため注意しましょう。
【操作のポイント】条件が文字列か数値かを確認し、比較演算子を使う場合はダブルクォーテーションと&の位置を見直します。
合計範囲と条件範囲の整合性
続いては、合計範囲と条件範囲の整合性について確認していきます。
| A 日付 | B 区分 | C 金額 |
|---|---|---|
| 2026/4/1 | 交通費 | 500 |
| 2026/4/2 | 会議費 | 1500 |
| 2026/4/3 | 交通費 | 700 |
交通費を集計する正しい数式は、=SUMIF(B2:B4,”交通費”,C2:C4)です。
範囲指定がずれると、意図しないセルが合計されたり、エラーになったりします。
開始行と終了行の統一
続いては、範囲の開始行と終了行を確認していきます。
条件範囲がB2:B4なのに、合計範囲がC3:C5になっていると、同じ行同士を対応させられません。
SUMIFでは条件範囲の先頭セルと合計範囲の先頭セルをそろえることが基本です。

データが2行目から100行目までなら、=SUMIF(B2:B100,”交通費”,C2:C100)のように両方の範囲を同じ行数にします。
途中に空白行があっても、範囲全体を正しく指定していればSUMIFは通常どおり計算できます。
一方で、見出しであるB1やC1をデータ範囲へ含めると、文字列が混在して確認しにくくなるため、通常は2行目から指定します。
数式コピー時の絶対参照
続いては、数式を横や下へコピーするときの参照位置を確認していきます。
複数の担当者や複数月の集計表を作ると、数式をオートフィルでコピーする場面があります。
このとき条件範囲と合計範囲が移動してしまうと、途中から0になることがあります。

元データの範囲を固定するには、=SUMIF($B$2:$B$100,E2,$C$2:$C$100)のようにドル記号を付けます。
$B$2:$B$100はコピーしても動かず、E2だけがE3、E4へと変化します。
F4キーを押すと、選択中のセル参照を相対参照、絶対参照、複合参照へ順に切り替えられます。
元データ範囲には絶対参照、検索条件にはコピー方向に合わせた参照を使うと管理しやすくなります。
数式バーでコピー前とコピー後の範囲を比べると、参照先のずれを早く見つけられるでしょう。
テーブル機能と範囲拡張
続いては、データが追加された後にSUMIFが計算されない問題を確認していきます。
SUMIFの範囲をB2:B100と設定している場合、101行目以降へ追加したデータは合計に入りません。
毎月データが増える表では、範囲不足が0や集計漏れの大きな原因になります。
元データをテーブルへ変換すると、行を追加した際に範囲が自動拡張されます。
表内を選択してCtrlキーとTキーを押し、先頭行をテーブルの見出しとして使用する設定を確認します。
テーブル名が売上表の場合、=SUMIF(売上表[担当],E2,売上表[売上])のような構造化参照も利用できます。
【操作のポイント】データの増加が見込まれる一覧はテーブル化し、集計範囲の追加漏れを防ぎます。
数値と文字列のデータ形式
続いては、数値と文字列のデータ形式について確認していきます。
| A 商品 | B 個数 | C 判定 |
|---|---|---|
| りんご | 10 | 在庫あり |
| みかん | “20” | 在庫あり |
| ぶどう | 5 | 在庫なし |
見た目が20であっても、文字列として保存されていると合計範囲では数値として扱われません。
SUMIFで条件に合うのに0になるときは、合計対象のセル形式を確認する必要があります。
文字列として保存された数値
続いては、文字列化した数値の判別と変換を確認していきます。
セルの左上に緑色の三角マークがあり、「数値が文字列として保存されています」と表示される場合があります。
この状態では、SUMIFの合計範囲に含めても文字列の値は合算されないことがあります。
| A | B | C | |
|---|---|---|---|
| 1 | 商品 | 個数 | 判定 |
| 2 | りんご | 10 | 在庫あり |
| 3 | みかん | 20 | 在庫あり |
セルを選択して警告アイコンをクリックし、「数値に変換」を選ぶと、文字列を数値へ直せます。
文字列の数値は左寄せ、数値は右寄せで表示されることが多いため、まず表示位置も確認しましょう。
変換対象が多い場合は、空白セルをコピーし、対象範囲を選択して形式を選択して貼り付けから加算を選ぶ方法もあります。
文字列の数値へ0を加算することで、数値への変換を促せます。
数値条件と表示形式の違い
続いては、数値条件とセルの表示形式の違いを確認していきます。
「001」のようなコードは、見た目が数値でも文字列として管理することがあります。
コード001を検索したいとき、条件範囲が文字列なら、条件側も「001」として一致させる必要があります。
一方で、数値の1へユーザー定義表示形式で000を設定しているだけなら、SUMIFの条件は1で指定します。
表示されている文字と、セル内部に保存されている値は同じとは限りません。
数式バーをクリックして内部値を確認すると、ゼロ埋めされたコードか、単なる数値かを判断できます。
日付も内部的にはシリアル値の数値として保存されるため、日付条件を指定する際はDATE関数の活用が安全です。
VALUE関数とデータクレンジング
続いては、関数を使ってデータ形式を整える方法を確認していきます。
外部システムからCSVを取り込んだ場合、金額列が文字列になっていることがあります。
補助列に=VALUE(C2)を入力すると、文字列化された数値を数値へ変換できます。
通貨記号やカンマ、全角文字が混ざってVALUE関数でエラーになる場合は、先に置換やSUBSTITUTE関数で不要な文字を取り除きます。
例として「¥1,200」という文字列なら、=VALUE(SUBSTITUTE(SUBSTITUTE(C2,”¥”,””),”,”,””))で1200へ変換できます。
データを整えた補助列をSUMIFの合計範囲に指定すれば、元データを直接変更せずに集計できます。
【操作のポイント】集計前に数値列を選択し、数式バーとエラー表示を確認して、数値として保存されているかを確かめます。
SUMIFのエラー表示と数式構文
続いては、SUMIFのエラー表示と数式構文について確認していきます。
| A 部門 | B 予算 | C 実績 |
|---|---|---|
| 営業 | 300000 | 280000 |
| 開発 | 500000 | 520000 |
SUMIFで表示される代表的なエラーは、#VALUE!、#NAME?、#REF!です。
エラーの種類を読むと、どこを修正すべきかを絞り込めます。
引数の順序と括弧
続いては、SUMIFの基本構文を確認していきます。
SUMIF関数の構文は、=SUMIF(条件範囲,条件,合計範囲)です。
合計範囲は省略でき、その場合は条件範囲にある数値が合計されます。
条件範囲、条件、合計範囲の順序を入れ替えると、正しい結果になりません。
日本語版のExcelでは、引数の区切りに半角カンマを使用するのが一般的です。
数式の冒頭に=がない、括弧の閉じ忘れがある、全角のカンマや括弧が混じると、数式が計算されず文字列として表示されることがあります。
セルを選択してF2キーを押すと、Excelが参照している範囲を色分けして確認できます。
#VALUE!エラーの確認
続いては、#VALUE!エラーが出る場合を確認していきます。
SUMIFの条件範囲と合計範囲が大きくずれている、または参照先にエラー値があると、#VALUE!が表示されることがあります。
とくに外部ブックを参照する数式では、参照元のファイル名変更やシート削除にも注意が必要です。
条件範囲に#N/Aなどのエラーが混在している場合は、元データの検索式や入力値を修正します。
エラーを除外して集計したい状況では、SUMIFだけで無理に処理せず、IFERROR関数で補助列を作る方法もあります。
例として、=IFERROR(C2,0)でエラーを0へ置き換えた列を用意し、その列を集計対象にします。
#NAME?と参照エラーの原因
続いては、#NAME?と#REF!の原因を確認していきます。
#NAME?は関数名の入力ミス、定義していない名前の参照、ダブルクォーテーション漏れなどで発生します。
SUMIFをSUMIFFやSUMlFのように誤入力していないか、数式バーで見直しましょう。
#REF!は、数式が参照していた行、列、シートを削除したときに起こります。
エラーが出たセルだけでなく、SUMIFが参照する元データ側のエラーも確認することが大切です。
【操作のポイント】エラー表示を消す前に、数式バーで参照範囲、関数名、括弧、条件のダブルクォーテーションを順番に確認します。
ワイルドカードと日付条件の扱い
続いては、ワイルドカードと日付条件の扱いについて確認していきます。
| A 日付 | B 商品名 | C 売上 |
|---|---|---|
| 2026/5/1 | 青ペン | 300 |
| 2026/5/2 | 黒ペン | 400 |
| 2026/6/1 | 青ノート | 600 |
部分一致や期間集計では、通常の文字列条件よりも指定方法に注意が必要です。
アスタリスクによる部分一致
続いては、商品名の一部で合計する方法を確認していきます。
「ペン」を含む商品を合計する場合は、=SUMIF(B2:B4,”*ペン*”,C2:C4)と入力します。
アスタリスクは任意の文字列を表すワイルドカードであり、前後へ付けることで部分一致検索になります。
この例では青ペンと黒ペンが対象となり、結果は700です。
条件に含まれる文字列が複数の表記で存在する場合、部分一致は便利ですが意図しないデータも拾う可能性があります。
たとえば「ペン」で検索すると、ペンケースまで集計対象になる場合があります。
記号そのものを検索する方法
続いては、ワイルドカードを文字として検索する方法を確認していきます。
商品名に実際のアスタリスクや疑問符が含まれている場合、SUMIFではそれらを特別な記号として解釈します。
記号そのものを検索するには、チルダを前に付けます。
たとえばアスタリスクを含むセルを検索する条件は、”~*”です。
疑問符を含むセルは、”~?”で検索できます。
入力規則や商品マスターを整備して記号の混入を抑えることも、誤集計を防ぐ有効な対策です。
DATE関数による期間集計
続いては、日付を条件にしたSUMIFの考え方を確認していきます。
SUMIFは条件を1つだけ指定する関数なので、開始日と終了日の両方を使う期間集計にはSUMIFS関数が適しています。
2026年5月の売上を合計する例は、=SUMIFS(C2:C4,A2:A4,”>=”&DATE(2026,5,1),A2:A4,”<“&DATE(2026,6,1))です。
終了条件を翌月1日未満にすると、時刻を含むデータにも対応しやすくなります。
日付を”2026/5/1″のような文字列で直接比較すると、パソコンの地域設定やデータ形式によっては意図どおりに動かないことがあります。
DATE関数で日付を作ると、表示形式に左右されにくい安定した条件指定になります。
【操作のポイント】部分一致はワイルドカードを使い、日付の開始日と終了日を指定する集計ではSUMIFSとDATE関数を活用します。
まとめ エクセルSUMIFのエラーと0になる対処法
ExcelのSUMIFが0になるときは、まず条件文字列の空白、全角半角、セル参照の指定を確認しましょう。
次に、条件範囲と合計範囲の開始位置、終了位置、数式コピー後の参照位置を見直します。
合計対象が文字列として保存されている場合は、数値へ変換することで計算できるようになることがあります。
#VALUE!、#NAME?、#REF!などのエラーは、数式構文だけでなく、参照元データのエラーや削除された範囲も確認することが重要です。
SUMIFはシンプルな関数ですが、データの整合性が結果を大きく左右します。
部分一致にはワイルドカード、複数条件や日付期間にはSUMIFSを使い分けると、集計表の精度と保守性を高められます。
0になる場合は条件とデータ形式を確認します。
エラーの場合は範囲と構文を確認します。
計算漏れの場合は参照範囲と再計算設定を確認します。
ひとつずつ原因を切り分け、正しいSUMIFの集計結果へ整えていきましょう。