「関数は合っているはずなのに、エクセルの合計だけがどうしても合わない」——この記事にたどり着いたあなたは、今まさにその状態かもしれません。結論から言うと、合計が合わない原因のほとんどは「数値が数値として扱われていない」か「SUMの範囲がずれている」の2つに集約されます。まずはこの2つを確認し、それでも直らない場合に残りの5つを順にチェックすれば、たいていは数分で解決できます。
この記事では、40代から事務やデスクワークでExcelを使うあなたのために、コピペで試せる確認方法つきで、合計が合わない・ずれる原因と直し方を7つ、やさしい順番で解説します。専門用語は最小限にして、つまずきやすいポイントも先回りで潰していきます。

🔎 症状が少し違うときは、こちらが近いです
- 数字が左寄せで、そもそも足し算の対象になっていない → エクセルで数値が「文字列」になって合計できない!直し方まとめ
- 数式を直したのに結果が変わらない → エクセルの数式が反映されない原因7つと直し方
- 条件に合う行だけを合計したい(SUMIF/SUMIFS) → SUMIF・SUMIFSで「条件に合うセルだけ合計」する使い方(複数条件も)
- 行を挿入したらSUMの範囲がずれた → エクセルで行挿入しても合計がずれない5つの方法
- まず結論:合計が合わない原因は「型」か「範囲」から疑う
- 原因1:数値が「文字列」になっている(一番多い落とし穴)
- 原因2:行を挿入したら合計に含まれなくなった(範囲ずれ)
- 原因3:非表示の行やフィルタで、見えている数と合計が合わない
- 原因4:見た目はずれているけど、実は「表示桁」のせい
- 原因5:数字の前後に「見えない文字」が混ざっている
- 原因6:計算が「手動」になっていて、再計算されていない
- 原因7:縦の足し算ができない・結合セルや別シート参照のミス
- SUMと「+」で足した結果が違うとき:SUMは文字列を黙って飛ばす
- 小数を足すと「1」なのに一致しない:0.0000000000000001 の計算誤差
- まとめ:チェックの順番さえ覚えれば、合計はもう怖くない
まず結論:合計が合わない原因は「型」か「範囲」から疑う
Excelの合計トラブルは、原因を闇雲に探すと時間がかかります。次の順番で切り分けるのが最短ルートです。
- 数値が「文字列」になっていないか(見た目は数字でも計算対象にならない)
- SUMの範囲が正しいか(行や列を挿入して範囲からはみ出していないか)
- 非表示行・フィルタ・端数表示・再計算設定など、残りの要因
それでは、上から順に見ていきましょう。
原因1:数値が「文字列」になっている(一番多い落とし穴)
合計が合わない原因で圧倒的に多いのがこれです。他システムやCSVからコピペした数字、Webから貼り付けた数字は、見た目は「1000」でも中身は文字列(テキスト)になっていることがあります。文字列はSUMの計算対象から外れるため、合計が実際より小さく出ます。
見分け方
次のどれかに当てはまれば、文字列の可能性が高いです。
- セルの中で数字が左寄せになっている(数値は本来、右寄せ)
- セルの左上に緑色の三角マークが出ている
- そのセルを選ぶと「数値が文字列として保存されています」と警告が出る
コピペで確認する方法
空いているセルに、次の式を貼り付けてください(A2は確認したいセルに置き換え)。
=ISNUMBER(A2)
結果が TRUE なら数値、FALSE なら文字列です。列全体をまとめて確認したいときは、合計セルの近くに次を入れると、文字列が混ざっているかどうかがわかります。
=COUNT(A2:A100)
これは「範囲の中で数値として数えられたセルの個数」を返します。データが50行あるのに COUNT が30しか返さないなら、20個が文字列だということです。
直し方
一番かんたんなのは、文字列を数値に変換する方法です。空きセルに 1 と入力してコピーし、直したい範囲を選択して「形式を選択して貼り付け」→「乗算」で貼り付けると、すべてが数値化されます。数式で処理したい場合は次のようにします。
=VALUE(A2)
もしくは、SUMの代わりに次を使うと、文字列の数字も足してくれます。
=SUMPRODUCT(--(A2:A100))

原因2:行を挿入したら合計に含まれなくなった(範囲ずれ)
「昨日までは合っていたのに、行を足したら合計が変わらない」——これはSUMの範囲に、新しく入れた行が含まれていないパターンです。たとえば =SUM(A2:A10) の合計行の直前ではなく外側に行を挿入すると、範囲が自動で広がらないことがあります。
直し方1:範囲を余裕を持って指定する
最初から少し広めに範囲を取っておくと、行の追加に強くなります。データを必ずA列の途中までに収めるなら、次のように書きます。
=SUM(A2:A1000)
直し方2:テーブル機能を使う(おすすめ)
データ範囲を選んで「挿入」→「テーブル」に変換しておくと、行を足すたびに合計が自動で広がります。集計行を使えば =SUBTOTAL(109,[列名]) が自動で入り、範囲ずれの心配がほぼなくなります。長く使う表ほど、テーブル化しておくと後がラクです。
原因3:非表示の行やフィルタで、見えている数と合計が合わない
フィルタで一部だけ表示しているのに、SUMは隠れた行も含めて合計してしまいます。「画面に見えている行だけを合計したい」ときは、SUMではなくSUBTOTALを使います。
=SUBTOTAL(9,A2:A100)
フィルタで非表示になった行を除いて合計します。手動で「行を非表示」にした分も除きたいときは、先頭を 109 にします。
=SUBTOTAL(109,A2:A100)
原因4:見た目はずれているけど、実は「表示桁」のせい
「1つずつ足した数と、SUMの結果が1円だけ違う」ようなケースは、四捨五入の表示が原因のことがあります。セルは小数点以下を持っているのに、表示だけ整数に丸めていると、見た目の足し算と内部の合計がずれます。
直し方
金額を扱うなら、計算の段階で明示的に丸めておくのが安全です。
=ROUND(A2,0)
「表示しているとおりの値で計算したい」ときは、Excelのオプション→詳細設定→「表示桁数で計算する」にチェックを入れる方法もありますが、他の計算に影響するのでROUNDでの明示をおすすめします。

原因5:数字の前後に「見えない文字」が混ざっている
Webやシステムからコピーした数字には、空白(スペース)や改行、通貨記号、全角文字などの見えないゴミが混ざっていることがあります。これも文字列扱いになり、合計から外れます。
直し方
余分な空白を取り除き、数値に変換します。
=VALUE(TRIM(SUBSTITUTE(A2," ","")))
全角の数字が原因のときは、次で半角に直してから計算します。
=VALUE(ASC(A2))
原因6:計算が「手動」になっていて、再計算されていない
数式は正しいのに、値を変えても合計が古いまま——これは計算モードが「手動」になっている可能性があります。まず F9 キーを押してみてください。それで合計が更新されたら、再計算が止まっていたのが原因です。
直し方
「数式」タブ→「計算方法の設定」を「自動」に戻せば解決します。大きなファイルを扱っていて手動にしていた場合は、作業のたびに F9(またはシート全体は Ctrl+Alt+F9)で更新する習慣をつけましょう。
原因7:縦の足し算ができない・結合セルや別シート参照のミス
「縦に並んだ数字を足したいのにできない」場合、原因3までのどれか(文字列・範囲・非表示)が絡んでいることがほとんどです。加えて、次の2つも確認してください。
- セルの結合:結合セルは左上のセルにしか値が入りません。結合を解除してから合計しましょう。
- 別シート参照のズレ:シート名を変えたり行を消したりすると参照が壊れ、
#REF!エラーで合計全体が計算できなくなります。エラーが出ている参照を直せば復活します。
どうしても原因が特定できないときは、合計したい範囲のすぐ下に、いったん次を並べて置くと切り分けが早いです。
=SUM(A2:A100)
=COUNT(A2:A100)
=COUNTA(A2:A100)
COUNTA(空白以外の個数)と COUNT(数値の個数)の差が、そのまま「文字列になっている個数」です。ここが0でなければ、原因1か原因5を重点的に見直しましょう。
SUMと「+」で足した結果が違うとき:SUMは文字列を黙って飛ばす
「=SUM(A2:A4) と =A2+A3+A4 で答えが違う」——どちらかが壊れているように見えますが、実は両方とも仕様どおりに動いています。違いは、文字列になった数字をどう扱うかです。
Microsoft 365 版の Excel で、次の3つのセルを用意して確かめました(A3 だけ書式を「文字列」にして 200 を入力)。
| セル | 中身 | 種類 |
|---|---|---|
| A2 | 100 | 数値 |
| A3 | 200 | 文字列(左寄せ・緑の三角) |
| A4 | 300 | 数値 |
| 式 | 結果 | なぜそうなるか |
|---|---|---|
=SUM(A2:A4) |
400 | 範囲の中の文字列はエラーも出さずに無視する |
=A2+A3+A4 |
600 | 「+」は文字列の “200” を数値に変えてから足す |
=COUNT(A2:A4) |
2 | 数値として数えられたのは2つだけ |
つまり、「+」のほうが正しい合計を出していて、SUMのほうが1つ取りこぼしている状態です。SUMの結果が小さいときは、まず原因1(文字列)を疑ってください。
ただし、A3 が「200円」のように数字以外の文字を含んでいると、今度は逆になります。
=SUM(A2:A4)→ 400(「200円」を黙って飛ばす)=A2+A3+A4→#VALUE!(数値に変えられないのでエラー)
どちらの場合も、本当に直すべきなのは式ではなく文字列になっているセルのほうです。原因1・原因5の方法で数値に戻せば、SUMと「+」の答えはそろいます。とりあえず文字列のまま正しく合計したいときは、原因1で紹介した次の式が使えます(上の例では 600 になりました)。
=SUMPRODUCT(--(A2:A4))
小数を足すと「1」なのに一致しない:0.0000000000000001 の計算誤差
「表示はぴったり 1 なのに、照合の式だけが『不一致』になる」「差額の列に 1.11E-16 のような見慣れない数字が出る」——これは入力ミスではなく、コンピューターが小数を2進数で扱うことによる、ごく小さな計算誤差です。0.1 や 0.2 のような小数は、2進数ではきっちり表せません。
Microsoft 365 版の Excel で、A1〜A10 に 0.1 を10個入れて試した結果です。
| 式 | 結果 |
|---|---|
=SUM(A1:A10) |
1 と表示される(中身は 0.9999999999999999) |
=SUM(A1:A10)=1 |
TRUE |
=ABS(SUM(A1:A10)-1) |
1.11E-16 |
=IF(ABS(SUM(A1:A10)-1)=0,"一致","不一致") |
不一致 |
合計を E1 に置いて =MATCH(1,E1:E1,0) |
#N/A(1 が見つからない) |
やっかいなのは、単純な比較(=SUM(A1:A10)=1)では Excel が誤差を丸めて TRUE を返すのに、ABS や掛け算で包んだり、MATCH で探したりすると誤差がそのまま表に出ることです。同じ表の中で「合っている式」と「合っていない式」が混ざるので、原因に気づきにくくなります。
直し方:比べる前に ROUND で桁をそろえる
金額や数量のように、意味のある桁数が決まっている数は、比べる直前に ROUND で丸めるのが確実です。
=IF(ROUND(SUM(A1:A10),2)=1,"一致","不一致")
上の例では、これで「一致」になりました。第2引数の 2 は「小数第2位まで」の意味なので、円単位なら 0、銭まで見るなら 2 のように、扱っている数に合わせて決めます。
原因4(表示桁)との違いは、原因4はセルに入っている値そのものが表示と違うのに対し、こちらは入力した値は正しいのに、足した結果に目に見えないほどの誤差が乗る点です。どちらも ROUND で直せますが、こちらは「入力し直しても直らない」のが見分けるポイントです。
まとめ:チェックの順番さえ覚えれば、合計はもう怖くない
エクセルの合計が合わないときは、次の順番で確認するだけで、多くの場合その場で解決できます。
=ISNUMBER()と=COUNT()で「文字列が混ざっていないか」を確認- SUMの範囲が新しい行・列まで届いているかを確認(不安ならテーブル化)
- フィルタ中は
SUBTOTAL、端数はROUND、再計算はF9
「関数が難しいから」ではなく、たいていはちょっとした型と範囲のズレが原因です。原因が名前でわかるようになると、Excelは一気に怖くなくなります。今日ひとつ直せたなら、それはもう「できる人」への確かな一歩です。あなたのペースで、また次のつまずきも一緒に片付けていきましょう。
あわせて読みたい記事もどうぞ。




コメント