エクセルで合計が合わない4つの原因

小数点・文字列・非表示行・手動計算を、順番に見分ける

※本ページはアフィリエイト広告を利用しています

公開日: 2026年8月29日 / 更新日: 2026年8月29日

エクセルで合計が合わない4つの原因

エクセルで出した合計が、電卓で計算した金額と合わない。1円だけ違う、あるいは何千円も違う。請求書を出す直前にこれが起きると、手が止まります。

こういうとき、よく言われるのが「小数点以下が隠れているから」という説明です。それは正しいのですが、原因はそれだけではありません。数値が文字列になっている場合、フィルターで行が隠れている場合、そもそも再計算されていない場合——見た目はどれも同じ「合計が合わない」です。

だから、直し方を調べる前に、まず自分がどれに当てはまるのかを確かめる必要があります。原因が違えば、直し方も違うからです。

私も最初のころは「合計が合わない=小数点のせい」と思い込んでいて、ROUND関数を入れても直らずに悩んだことがあります。原因が別のところにあったからでした。

この記事では、原因を4つに分けて、上から順に確かめていきます。1分もあれば見当がつきます。

この記事は一般的な操作方法を整理したものです。実際の会計処理や端数処理の方法は、会社のルールや取引先との取り決めによって異なります。最終的な判断は、社内の経理規程や顧問税理士にご確認ください。

結論:原因は4つ。上から順に確かめます

エクセルで合計が合わないとき、原因はだいたいこの4つのどれかです。

順番に確かめていきます。これは「必ずこうなる」という診断ではなく、疑う順番です。1つ確かめて違ったら、次に進んでください。

エクセルで合計が合わないときの4つの原因を切り分けるフローチャート。ステータスバーの確認から始めて、小数点・文字列・非表示行・手動計算のどれかにたどり着く
まずステータスバーを見て、4つのどれかに当たりをつけます

スタート:数字を選んで、画面のいちばん下を見る

合計したいセルをドラッグして選びます。画面のいちばん下(ステータスバー)に、選んだセルの合計が出ます。そこで何が見えるかで、疑う先が変わります。

※ステータスバーに合計が出ない理由は、文字列以外にもあります。ステータスバーの表示設定が外れている、選んだ範囲が違う、といった場合もあるので、まず「疑う」ところから始めてください。

どちらでもない/それでも合わない

原因③は、SUMとSUBTOTALを並べて比べるとすぐ分かります。原因④は、フィルターをかけても合計が動かないときにも疑ってください。

原因① 小数点以下が隠れている

いちばん多い原因です。

エクセルは、画面に表示されている数字ではなく、セルの中に入っている数字で計算します。表示形式で小数点以下を隠しても、中身は残ったままです。

たとえば、10.4 と 10.4 が入った2つのセル。表示形式で小数点以下を消すと、画面にはどちらも「10」と出ます。見た目は 10+10 で 20 のはずですが、実際は 10.4+10.4 なので合計は 20.8。これも表示形式で丸められて「21」と出ます。

画面では 10+10=21。これでは合いません。

エクセルで10と10を足したのに合計が21になっている表。備考に実値は10.4と書かれている
10+10なのに合計が21。中身は10.4だからです

直し方:表示形式ではなく、関数で丸める

表示形式をいくら変えても、中身は変わりません。中身そのものを丸めるには、関数を使います。

やりたいこと関数
四捨五入=ROUND( 数値 , 0 )
切り捨て=ROUNDDOWN( 数値 , 0 )
切り上げ=ROUNDUP( 数値 , 0 )

どれを使うかは、エクセルの問題ではなく会社のルールで決まります。消費税の端数処理については、別の記事で詳しく書いています。

タロさん
原因が小数点だっていうのは分かったけど……100行もある表の、どこに小数点が隠れてるんだろう?

小数点が隠れているセルを、色を付けて探す

ここが、この記事でいちばんお伝えしたいところです。

原因が小数点だと分かっても、100行ある表のどのセルに小数が隠れているのかは、見ただけでは分かりません。1つずつ数式バーを確認するのは現実的ではありません。

そこで、条件付き書式を使って、小数を含むセルに色を付けます。

手順1:調べたい範囲を選ぶ ← ここを飛ばさないでください

いちばん大事な手順です。ここを飛ばすと、1つのセルにしか色がつきません。

エクセルで金額の列B2からB6までをドラッグで選択している状態
先に範囲を選びます。ここでは金額の列(B2:B6)

行が多いときは、先頭のセルをクリックして CtrlShift。データの最後まで一発で選べます。1000行でも2000行でも一瞬です。

手順2:「ホーム」タブ →「条件付き書式」→「新しいルール」

エクセルのホームタブにある条件付き書式のメニュー。新しいルールが表示されている
いちばん下のほうにある「新しいルール」を選びます

手順3:「数式を使用して、書式設定するセルを決定」に、式を入れる

一覧のいちばん下にある「数式を使用して、書式設定するセルを決定」を選び、次の式を入力します。

=B2<>ROUND(B2,0)

そのあと「書式」から塗りつぶしの色を選んで、OKを押します。

新しい書式ルールの画面。数式を使用して書式設定するセルを決定を選び、=B2<>ROUND(B2,0) と入力している
式を入れて、書式で色を選びます

できあがり

小数を含むセルだけに色がついたエクセルの表。商品Aと商品Cと合計が赤くなっている
中身が整数ではないセルだけが色づきました

原因のセルが一目で分かります。表示形式を小数点ありに戻して確かめると、色がついたセルだけ小数が入っていることが分かります。

小数点以下を表示したエクセルの表。色がついたセルが10.40と3.25、合計が28.65になっている
色がついたセルは、やはり小数が入っていました

式に書くセル番地は、選んだ範囲の左上に合わせる

式に書くのは1か所だけですが、色がつくのは選んだ範囲全部です。エクセルが各セルに合わせて自動でずらして判定します。

B2 は例です。実際に選んだ範囲の左上のセル番地に合わせて書き換えてください。C列の2行目から選んだなら =C2<>ROUND(C2,0)、D列の5行目からなら =D5<>ROUND(D5,0) です。

⚠️ $ は付けないでください。=$B$2<>ROUND($B$2,0) と書くと、範囲の全部のセルがB2の中身だけで判定されます。F4キーを押すと $ が付くので、うっかり押さないよう注意してください。

何円ずれているのかを出す

「全部で何円ずれているのか」を知りたいときは、調べたい範囲の外にある空いているセル(表の右横などが分かりやすいです)に、次の式を入力します。

=ROUND(SUM(B2:B5),0)-SUMPRODUCT(ROUND(B2:B5,0))

前半が「エクセルが出した合計を丸めた数字」、後半が「1行ずつ丸めてから足した数字」です。この2つの差が、「1行ずつ表示どおりに丸めて計算した場合」と「最後に合計を丸めた場合」の食い違いになります。

エクセルの表の右横に、1 円のズレ、0 個と表示されている
1円ずれている。でも数値でないセルは0個。だから原因①です

⚠️ 合計行は範囲に入れないでください。明細を全部足したものが合計なので、範囲に入れると同じ数字を2回数えることになります。色を付けるときは合計行を含めても構いません(合計にも小数が隠れていることが見えます)が、この式には入れないでください。

※式の中の ,0) は「整数に丸める」という意味です。この式には2か所あります。金額を整数で表示している表なら、このままで大丈夫です。
小数第2位まで表示している表なら、両方とも ,2) に変えてください。
=ROUND(SUM(B2:B5),2)-SUMPRODUCT(ROUND(B2:B5,2))
色を付ける式も同じで、=B2<>ROUND(B2,2) になります。片方だけ変えると、違う桁どうしを比べることになって答えが狂います。
※これは確認用の式です。見終わったら消してください。消し忘れて印刷すると、相手に渡す書類に確認用の数字が載ってしまいます。

この式で0以外が出たら

「小数点が隠れている」以外の原因でもズレは出ます。とくに、数値が文字列になっているときも、この式は数字を返します。

⚠️ 文字列が混ざっていても、エラーにはなりません。それらしい数字を返すので、「エラーが出ないから大丈夫」とは言えません。

そこで、数値として扱われていないセルの個数と合わせて見ると、原因が絞れます。数え方は 原因② の「見分け方3」にあります。

ズレの式数値でないセルの個数疑うべき原因
0以外0原因① 小数点
0以外0以外原因② 文字列

金額の大きさもヒントになります。数円〜数十円の小さなズレなら小数点大きなマイナスなら金額まるごと合計から抜けている=文字列の可能性があります。

うまくいかないとき

■ 1つのセルにしか色がつかない

B2のセルだけが赤くなっているエクセルの表。他のセルには色がついていない
範囲を選ばずにルールを作ると、こうなります

ルールを作る前に範囲を選んでいなかった可能性が高いです。エクセルは、選んでいたセルだけを判定します。

「ホーム」→「条件付き書式」→「ルールの管理」で、そのルールの「適用先」を見てください。=$B$2 のように1つのセルだけになっていたら、=$B$2:$B$100 のように範囲に書き換えます。

※「適用先」の欄に $ が付いているのは正常です。$ を付けてはいけないのは、数式を入れる欄のほうです。

■ 関係ない列に色がつく

エクセルのA列の項目名や商品名が赤くなっている。数字ではなく文字のセルに色がついている
文字のセルが赤くなりました。しかもエラーは出ません

選んだ範囲と、式に書いたセル番地がずれています。この例では、A列を選んだのに式が =B2<>ROUND(B2,0) のままでした。エクセルはB列の中身を見て、A列に色をつけます。

エラーが出ないので、間違いに気づけません。色がついた場所がおかしいと思ったら、まずここを疑ってください。

原因② 数値が文字列になっている

セルに数字が入っているように見えても、エクセルが「文字」として扱っていることがあります。この場合、その数字は合計されません。

100が3つ並んでいるのに合計が100になっているエクセルの表
100が3つあるのに、合計は100

見分け方1:選んだ個数と、合計が釣り合っているか

数字のセルをドラッグで選んで、画面のいちばん下(ステータスバー)を見てください。

エクセルのステータスバー。データの個数3、数値の個数1、合計100と表示されている
3つ選んだのに、数値は1つ。合計も100のまま

「データの個数」は文字列も数えますが、「数値の個数」は数値だけを数えます。この2つが食い違っていたら、文字列が混ざっています。

※「数値の個数」が出ていないときは、ステータスバーを右クリックして「数値の個数」にチェックを入れてください。ここに=COUNTA(...)-COUNT(...) と同じことが、数式なしで出ます。
※選んだセルが全部文字列だと、合計そのものが表示されません。

見分け方2:数字が左に寄っている

エクセルでは、数値は右寄せ、文字は左寄せで表示されます。何もしていないのに数字が左に寄っていたら、文字列として扱われている可能性が高いです。

見分け方3:数を数える

空いているセルにこう入力すると、範囲の中に「数値として扱われていないセル」がいくつあるか分かります。

=COUNTA(B2:B4)-COUNT(B2:B4)

エクセルの表の右横に2と表示されている。3行のうち2行が文字列
3つのうち2つが、数値として扱われていません

0でなければ、その範囲には数値として扱われていないセルが混ざっています。文字列のほか、エラー値や、数式が返した空文字なども含まれます。

※これはステータスバーの「データの個数」から「数値の個数」を引いた数と同じです。上の写真(3個と1個)でも、答えは2で一致します。

行が増えると、目で探すのは不可能です。19行の表で同じことをすると、こうなります。

100が19個並んでいるのに合計が700のエクセルの表。右に12個、-1200円と表示されている
19個あるうち12個が文字列。金額にすると1,200円が抜けています

見分け方4:いくら抜けているかを出す

「金額にするとどれくらいなのか」は、原因①で使ったズレの式で分かります。範囲をこの表に合わせるだけです。

=ROUND(SUM(B2:B20),0)-SUMPRODUCT(ROUND(B2:B20,0))

上の写真の表では -1200 と出ました。100が19個あるので本来は1,900円のはずですが、合計は700円。1,200円が合計から抜けているということです。

SUMは文字列を無視しますが、この式の後半は文字列も数値として読みます。その差がそのまま「抜けている金額」になります。

※合計行は範囲に入れないでください。二重に数えることになります。

よくある原因

直し方1:緑の三角から「数値に変換する」

文字列になったセルの左上に、小さな緑の三角が出ていることがあります。そのセルを選ぶと出てくる警告マークをクリックしてください。

エクセルの警告メニュー。数値が文字列として保存されていますと表示され、数値に変換するが選べる
エクセル自身が「文字列として保存されています」と教えてくれます

緑の三角が出ている場合は、これがいちばん簡単な方法です。

直し方2:区切り位置

セルを選んで「データ」タブ →「区切り位置」を開き、そのまま「完了」を押します。数字だけでできた文字列なら、これで数値に戻ることがあります。

それでも戻らないとき

数字の中にスペースや、目に見えない文字が混ざっていると、上の方法では戻らないことがあります。その場合は、いったん別のセルに =VALUE(B2) と入力して、数値に変換できるか確かめてみてください。

原因③ フィルターや非表示行がある

フィルターで絞り込んだ表で、SUM関数を使っていませんか。

SUM関数は、フィルターで見えなくなった行も合計します。画面に出ている行だけを足したいのに、隠れている行まで足されるので、合計が大きくなります。

フィルターで絞り込んだエクセルの表。SUMは1900、SUBTOTALは1200と結果が違っている
同じ範囲なのに、SUMは1900、SUBTOTALは1200

直し方:SUBTOTAL関数を使う

=SUBTOTAL(109, B2:B20)

109は「合計。ただしフィルターで除外した行と、手動で非表示にした行を除く」という意味です。

この数字は集計方法の番号です。9が「合計(SUM)」で、100を足すと「手で隠した行も除く」版になります。

番号フィルターで非表示手で隠した行
9除く含む
109除く除く

フィルターだけを使っているなら、9でも109でも結果は同じです。違いが出るのは、行番号を右クリックして「表示しない」で隠したときだけです。どちらが起きているか分からないなら、109にしておけば両方とも除けます。

※同じ番号のつけ方で、1(101)は平均、3(103)は空白でない個数、4(104)は最大値です。

確認のしかた

SUMとSUBTOTALを両方置いてみてください。数字が違えば、範囲内にフィルターや非表示になっている行がないか確認してみてください。

原因④ 計算方法が「手動」になっている

数字を直したのに合計が変わらない。フィルターをかけても合計が動かない。これは計算方法が「手動」になっている可能性があります。

初心者の方は「数式が壊れた」と思ってしまいがちですが、壊れてはいません。再計算されていないだけです。

自分で設定した覚えがなくても、他のファイルを開いた影響などで、計算方法が「手動」になっていることがあります。重い表の動作を軽くするために、誰かが設定していることもあります。

確認のしかた

「数式」タブ →「計算方法の設定」を見てください。「手動」にチェックが入っていたら、これが原因です。

エクセルの数式タブにある計算方法の設定。手動にチェックが入っている
「手動」にチェックが入っていました

直し方

「自動」に変更すると、通常はその場で再計算されます。すぐに再計算したいときは、F9キーも使えます。

エクセルと電卓、どちらの計算を正とするか

原因が分かって直したあと、もうひとつ考えることがあります。そもそも、どちらの数字を正とするのか、です。

たとえば請求書で、明細ごとに消費税を計算して合計する場合と、税抜の合計に対して消費税を1回だけ計算する場合とでは、答えが変わります。どちらも計算としては正しく、違うのは処理の順番です。

これはエクセルの問題ではありません。会社のルールや、取引先との取り決めで決まります。

「エクセルを電卓に合わせる」のではなく、「決まっているやり方に、エクセルを合わせる」。この順番で考えると迷いません。

なお、適格請求書(インボイス)を発行する場合、消費税の端数処理は税率ごとに1回だけと決まっています。こちらは別記事で書いています。

二度と起きない表にする

直したあとは、同じことが起きない形にしておきます。

1. 端数処理をする場所を、決めておく

「とりあえずROUNDで囲む」は、おすすめしません。どこで丸めるかは会社のルールで決まるからです。明細ごとに丸めるのか、合計してから丸めるのか。それが決まっているなら、そのとおりに関数を入れます。

明細ごとに丸めるルールなら =ROUND(C2*D2, 0)

大事なのは、「丸める場所を決めて、そこで必ず丸める」ことです。決めずに表示形式でごまかすと、今回の問題が起きます。

2. 表示形式で桁を減らして「隠す」のをやめる

見た目を整えるために小数点以下を非表示にすると、中身が残ります。丸めたいなら関数で丸めます。

3. フィルターを使う表では、最初からSUBTOTALにしておく

フィルターを使う予定があるなら、SUMではなくSUBTOTALで作っておきます。

4. 人からもらったファイルは、計算方法を確認する

開いたら「数式」タブの「計算方法の設定」を一度見る。これだけで原因④は防げます。

まとめ

関連ツール

消費税の内訳や、源泉徴収の金額を確かめたいときは、こちらもどうぞ。

noteXYouTube