Excelで計算した結果が0になるはずなのに、セルに「-0」と表示されて気になることがあります。
とくに売上差額、誤差、割引額、時間計算などでは、見た目だけがマイナスのゼロになり、表全体の印象を乱すかもしれません。
-0は多くの場合、計算結果そのものの異常ではなく、非常に小さな負の数値と表示形式の組み合わせで起こる現象です。
0と-0を整える主な考え方
・計算結果に含まれる小数点以下の誤差を確認する
・表示形式でゼロの表示を空白や0に統一する
・必要に応じてROUND関数やIF関数で計算結果を調整する
この記事では、エクセルで0と-0が表示される原因、セルの書式設定、数式による対処法、見やすい表を維持するための注意点を詳しく解説します。
エクセルで-0を0に統一する表示形式

それではまず、-0を表示上の0へ整える基本的な方法について解説していきます。
| A列 項目 | B列 計算結果 | C列 表示例 |
|---|---|---|
| 差額1 | 0 | 0 |
| 差額2 | -0.004 | -0 |
| 差額3 | 0.004 | 0 |
小数点以下を非表示にするセルの書式設定
セルに-0が出る場面では、まず対象セルの表示形式を確認しましょう。
たとえば実際の値が-0.004で、小数点以下を表示しない書式になっている場合、Excelは四捨五入した見た目として-0を表示することがあります。
値がゼロではなく、ごく小さな負の数であるため、マイナス記号だけが残る仕組みです。
対象セルを選択し、ホームタブの小数点以下の表示桁数を減らす操作をしている場合は、内部の数値までゼロになったわけではありません。
表示桁数を減らす操作は見た目を変えるだけで、セルに保存されている元の値は変更しません。
値そのものを確認したいときは、小数点以下の表示桁数を増やすか、数式バーを確認します。
セルを右クリックして「セルの書式設定」を開き、「表示形式」タブで「数値」を選択すると、小数点以下の桁数を細かく指定できます。
金額表のように整数だけを見せたい表では、小数点以下の桁数を0にする運用が一般的です。
ただし、マイナスの微小値を持つデータがあるなら、表示形式だけでは-0を完全に避けられない場合があります。
ユーザー定義でゼロ表示を指定する方法
続いては、ユーザー定義の表示形式でゼロの見え方を整える方法を確認していきます。
Excelの数値書式は、正の数、負の数、ゼロ、文字列の順番で表示方法を分けて設定できます。
正の数の書式;負の数の書式;ゼロの書式;文字列の書式
例 #,##0;-#,##0;0
この書式を設定すると、正の数は3桁区切り、負の数はマイナス記号付き、ゼロは0として表示されます。
設定手順は、対象セルを選択してからCtrlキーと1キーを押し、「セルの書式設定」を開く流れです。
「表示形式」から「ユーザー定義」を選び、種類の入力欄へ書式コードを貼り付けます。
ただし、実際の値が-0.004のような負の小数である場合、書式だけで0へ変換するのではなく、-0として扱われるケースもあります。
これは負の数の書式が適用されているためです。
ユーザー定義の表示形式は、数値を丸めるための機能ではなく、数値をどう見せるかを指定する機能です。
表示を空欄にしたい場合は、ゼロ用の3番目の区分を空欄にする書式も使えます。
例 #,##0;-#,##0;;@
この書式では、ゼロは空白表示になり、文字列はそのまま表示されます。
0と空白を使い分ける判断
続いては、ゼロを0と表示するか、空白にするかの判断を確認していきます。
数値表では、値がない状態と計算結果がゼロである状態は意味が異なります。
たとえば在庫数が0なら在庫なしを示しますが、未入力の空白は確認前やデータ未取得を示すことがあります。
そのため、単に表をすっきり見せる目的だけでゼロをすべて空白にすると、集計の意味が伝わりにくくなる可能性があります。
金額、数量、件数などの確定値は0表示にし、補助列や差額欄は空白表示にするという使い分けが実務的です。
月次比較の差額欄では、差がない行を空白にして、差が発生した行だけを見せると確認作業がしやすくなります。
一方で、監査用の一覧や提出資料では、ゼロであることを明示するために0を残す運用が向いています。
【操作のポイント】表示形式を変更する前に、そのセルの0が「値なし」ではなく「計算した結果のゼロ」を意味するのか確認しましょう。
-0が表示される計算誤差の仕組み

続いては、数式の結果に-0が現れる原因となる計算誤差について確認していきます。
| A列 元の値 | B列 比較値 | C列 数式 | D列 結果 |
|---|---|---|---|
| 1.1 | 1.1 | =A2-B2 | 0 |
| 0.3 | 0.1+0.2 | =A3-B3 | 微小な誤差 |
二進数で保持される小数値
それではまず、Excelが小数を保存する仕組みについて解説していきます。
Excelは内部で数値を二進数に近い形式で管理しています。
私たちが日常的に使う0.1や0.2は十進数では正確に表せますが、二進数では有限の桁数で完全に表現できない値があります。
そのため、画面上では同じように見える数値でも、内部ではごくわずかに異なる値として保存される場合があります。
たとえば0.1を3回足して0.3と比較する計算では、結果が厳密な0ではなく、非常に小さい正または負の数になることがあります。
このような差は通常の表示桁数では見えませんが、差額計算や条件判定では影響することがあります。
計算結果が-0.0000000001のような値なら、整数表示では-0に見えることがあります。
この現象はデータ破損ではなく、コンピューター上で小数を扱う際の特性です。
とくに単価、税率、割合、時間、換算係数などを何度も掛け算や割り算する表では、端数が蓄積しやすくなります。
表示桁数と内部値の違い
続いては、セルに見える表示と内部値の違いを確認していきます。
セルには、表示用の数値と実際に計算に使われる数値という二つの見方があります。
たとえばセルに0と表示されていても、数式バーには-0.0048と入っていることがあります。
ホームタブの小数点以下の表示桁数を増やすボタンをクリックすれば、隠れていた小数部分を表示できます。
また、数式バーでセル内容を確認すれば、書式に左右されない元の数値を把握しやすくなります。
見た目が0でも、条件付き書式、SUM関数、IF関数、グラフは内部値を基準に動作します。
たとえば=IF(B2=0,”一致”,”差あり”)という式では、B2が-0.004なら「差あり」と判定されます。
表では0に見えているのに判定結果だけが一致しない場合、表示形式と内部値の差を疑いましょう。
確認用の数式例
=B2=0
結果がFALSEなら、B2は表示上0であっても厳密には0ではありません。
差額計算で発生しやすい場面
続いては、-0が発生しやすい差額計算の場面を確認していきます。
もっとも多いのは、二つの計算結果を引き算して差額を求めるケースです。
たとえばA列に予定金額、B列に実績金額、C列に差額を入力する表を考えます。
1行目に見出しがある場合の数式例
C2に入力する数式
=B2-A2
A2とB2が表示上は同額でも、計算途中の小数点以下に違いがあればC2は微小な値になります。
税抜金額から消費税を算出した値と、税込金額から逆算した値を比較する処理でも同様です。
割引率を掛けた後に端数処理をする位置が異なると、差額が-0.001のようになることがあります。
金額計算では、どの段階で四捨五入、切り捨て、切り上げを行うかを統一することが重要です。
部門ごとに異なる計算式を使っていると、最終的な合計では同じに見えても明細の差額に-0が残ることがあります。
【操作のポイント】-0が出たセルは、数式バーと小数点以下の表示桁数を確認し、実際の誤差の大きさを把握してから対処方法を決めましょう。
ROUND関数で計算結果を丸める方法

続いては、計算結果を数式の段階で整えて-0を防ぐROUND関数の使い方を確認していきます。
| A列 予定 | B列 実績 | C列 差額の数式 | D列 結果 |
|---|---|---|---|
| 1000.004 | 1000.000 | =ROUND(B2-A2,0) | 0 |
| 1000.600 | 1000.000 | =ROUND(B3-A3,0) | -1 |
ROUND関数の基本構文
それではまず、ROUND関数の基本構文について解説していきます。
ROUND関数は、指定した桁数で数値を四捨五入する関数です。
=ROUND(数値,桁数)
桁数を0にすると整数に四捨五入します。
桁数を2にすると小数第2位まで残します。
たとえば、差額を整数単位で扱いたい場合は、差額を求める式全体にROUND関数を付けます。
1行目に見出しがある表なら、C2へ次の式を入力します。
=ROUND(B2-A2,0)
この式では、B2からA2を引いた結果を整数に四捨五入します。
-0.004のような値は0になり、セルの内部値も0として扱われます。
表示形式だけを変える方法と異なり、ROUND関数は後続の計算や判定でも丸め後の値を使える点が特徴です。
ただし、元の細かな値が必要な表では、直接式を置き換える前に元データ用の列を残すと安全です。
差額の式にROUND関数を組み込む方法
続いては、差額の数式へROUND関数を組み込む方法を確認していきます。
すでにC2に=B2-A2という数式が入っているなら、=ROUND(B2-A2,0)へ変更します。
小数第2位まで金額や数量を管理する場合は、桁数の引数を2にします。
小数第2位まで残す差額計算
=ROUND(B2-A2,2)
小数第3位を四捨五入して、小数第2位までの内部値に整えます。
ここで大切なのは、表示形式の桁数とROUND関数の桁数を意識してそろえることです。
表示は整数なのに数式で小数第2位まで残していると、見た目では0でも内部には誤差が残ることがあります。
反対に、小数第2位を表示する表で整数に丸めると、必要な精度まで失われます。
業務上の単位が円なら0桁、銭や小数数量を扱うなら必要な桁数に合わせて丸め位置を決めましょう。
複数の計算を経由する場合には、途中ごとに丸めるか、最終結果だけを丸めるかも重要な判断です。
会計ルールや社内規定がある場合は、それに合わせた処理を優先します。
ROUNDDOWN関数とROUNDUP関数の使い分け
続いては、ROUNDDOWN関数とROUNDUP関数の使い分けを確認していきます。
ROUND関数は一般的な四捨五入ですが、常に切り捨てたい場合はROUNDDOWN関数、常に切り上げたい場合はROUNDUP関数を使います。
=ROUNDDOWN(B2-A2,0)
=ROUNDUP(B2-A2,0)
送料、作業時間、請求単位などでは、端数処理のルールが四捨五入ではないことがあります。
たとえば0.1時間単位で請求するなら、小数第1位まで切り上げる計算式が必要になる場合もあります。
ただし、負の値に対する切り捨てと切り上げは、日常語の感覚と異なるように見えることがあります。
ROUNDDOWN関数は数値の絶対値を小さくする方向、ROUNDUP関数は絶対値を大きくする方向へ処理します。
負の差額を扱う表では、実際のデータで結果を試してから導入すると安心です。
-0だけを消す目的なら、安易に切り上げや切り捨てを採用せず、求める丸め規則を先に確認することが大切です。
【操作のポイント】ROUND関数は差額の外側に付け、表示したい最小単位と同じ桁数を指定すると、-0と判定のずれを同時に抑えやすくなります。
IF関数とセルの書式設定によるゼロ表示の調整
続いては、IF関数とセルの書式設定を組み合わせて、見せたい形にゼロ表示を整える方法を確認していきます。
| A列 基準値 | B列 比較値 | C列 表示用差額 |
|---|---|---|
| 250.00 | 249.996 | 0 |
| 250.00 | 248.80 | -1 |
誤差の範囲を0とみなすIF関数
それではまず、一定範囲の小さな誤差を0とみなすIF関数について解説していきます。
小数点以下のわずかな誤差だけを0にしたいときは、ABS関数とIF関数を使う方法が便利です。
ABS関数は数値の絶対値を返すため、正負を問わず誤差の大きさを判定できます。
小数第2位未満を0として扱う数式例
=IF(ABS(B2-A2)<0.01,0,B2-A2)
この式では、B2-A2の絶対値が0.01未満なら0を返し、それ以外なら実際の差額を返します。
-0.004は0になりますが、-0.02はそのまま-0.02として残ります。
IF関数で許容誤差を明示すると、単純な丸めよりも「どの程度の差を無視するか」を数式から読み取りやすくなります。
測定値や時間の計算では、誤差として扱える範囲が業務によって異なります。
0.01を固定値として使う前に、扱う単位が円、時間、メートル、百分率のどれなのかを確認しましょう。
許容誤差が小さすぎると-0が残り、大きすぎると本来確認すべき差まで0になります。
丸めた値を条件に使う数式
続いては、丸めた値を条件判定に使う数式を確認していきます。
IF関数の中で直接差額を比較すると、見た目と判定が一致しないことがあります。
その場合は、ROUND関数で整えた値を条件式にも使います。
=IF(ROUND(B2-A2,0)=0,”差額なし”,ROUND(B2-A2,0))
この式では、差額を整数に丸めた結果が0なら「差額なし」と表示します。
差額がある場合は、丸めた差額だけを表示します。
数式を短くしたい場合は、表示用の差額を別列に作り、そのセルを参照する方法もあります。
たとえばC2に=ROUND(B2-A2,0)を入力し、D2に=IF(C2=0,”差額なし”,C2)を入力する構成です。
計算列と表示列を分けると、集計用の数値と利用者に見せるメッセージを整理しやすくなります。
共有ファイルでは、数式が複雑になりすぎないことも重要です。
後から修正する人が判断できるよう、列見出しを「差額」「判定」などと分けておくとよいでしょう。
Excel画面で表示形式を変更する操作
続いては、Excel画面で表示形式を変更する操作を確認していきます。
表示桁数だけを変更するなら、対象セルまたは対象列を選択してからホームタブを開きます。
数値グループにある小数点以下の表示桁数を減らすボタンをクリックすると、選択したセルの見た目を整数表示へ変更できます。
セルの書式設定を開く場合は、対象セルを右クリックし、「セルの書式設定」を選びます。
「表示形式」タブから「数値」または「ユーザー定義」を選び、必要な表示桁数や書式コードを設定します。
数式で0にするのか、表示形式で見え方だけを変えるのかを決めてから操作すると、後の集計や判定で迷いません。
【操作のポイント】微小な差額を業務上ゼロと扱える場合はIF関数またはROUND関数を使い、元の精密な値を残す必要がある場合は表示形式だけを変更しましょう。
ゼロ表示と負数表示を整えるユーザー定義書式
続いては、正の数、負の数、ゼロを見分けやすくするユーザー定義書式を確認していきます。
| 数値 | 書式の例 | 表示例 |
|---|---|---|
| 1234 | #,##0;-#,##0;0 | 1,234 |
| -1234 | #,##0;-#,##0;0 | -1,234 |
| 0 | #,##0;-#,##0;0 | 0 |
正数・負数・ゼロの4区分
それではまず、ユーザー定義書式の区分について解説していきます。
ユーザー定義書式では、セミコロンで区切って最大4種類の表示ルールを設定できます。
1番目は正の数、2番目は負の数、3番目はゼロ、4番目は文字列に対応します。
たとえば#,##0;-#,##0;0;@という書式では、数値と文字列をそれぞれ意図した形式で表示できます。
3番目のゼロ用書式を「-」にすれば、ゼロをハイフンで表示することも可能です。
ゼロをハイフンで表示する例
#,##0;-#,##0;-;@
損益計算や管理表では、ゼロをハイフンで表示する慣習があります。
一方で、データをコピーして他システムへ渡す場合は、見た目の記号が誤解を招かないか確認が必要です。
ユーザー定義書式で見た目を変えても、セルの数値は0のままであり、SUM関数などの計算結果には影響しません。
マイナス記号と括弧表示の設定
続いては、負の数をマイナス記号や括弧で表示する設定を確認していきます。
負の金額を目立たせたい表では、-1,234と表示する形式のほか、(1,234)と括弧で表示する形式もよく使われます。
括弧表示は、損失や減少額を視覚的に区別したい資料に向いています。
負の数を括弧で表示する例
#,##0;(#,##0);0
この設定では、正の数は1,234、負の数は(1,234)、ゼロは0と表示されます。
赤字で表示したい場合もありますが、色だけに依存すると印刷時や色覚の違いで判別しにくいことがあります。
負の数にマイナス記号または括弧を残しておくと、情報の意味を伝えやすくなります。
見た目を整える設定でも、正負の区別を消さないことが、集計表の読み間違いを防ぐ基本です。
書式設定だけでは解決しないケース
続いては、書式設定だけでは解決しないケースを確認していきます。
-0を見えなくできたとしても、元の値が負の微小値である事実は変わりません。
そのセルを使って大小比較、重複判定、グラフ作成、条件付き書式を行うと、表示と異なる結果になることがあります。
たとえば負数だけを赤くする条件付き書式では、-0.004も負の値として扱われます。
セルには0と表示されているのに色だけが変わると、利用者は不具合だと感じるかもしれません。
このような場合は、ROUND関数で値を丸めるか、IF関数で許容範囲の値を0へ置き換える処理が必要です。
表示形式は帳票の見栄えを整える手段、数式はデータの意味を整える手段として分けて考えましょう。
【操作のポイント】提出用の帳票はユーザー定義書式で読みやすく整え、集計や判定に使う元データは丸めルールを数式で明確にしておくと安心です。
計算結果を崩さないための確認手順
続いては、0と-0の表示を修正する前に確認したい計算式とデータの状態を確認していきます。
| 確認項目 | 確認方法 | 対処の目安 |
|---|---|---|
| 内部値 | 数式バーを見る | 誤差の大きさを確認 |
| 表示形式 | Ctrlキーと1キー | 桁数とゼロ表示を確認 |
| 数式 | 数式バーを見る | ROUNDやIFを検討 |
数式バーで元の値を確認する方法
それではまず、数式バーで元の値を確認する方法について解説していきます。
-0が表示されたセルをクリックすると、数式バーには数式または元の数値が表示されます。
数式が入っているセルなら、まずどのセルを参照し、どの計算をしているのかを確認します。
数式そのものが長い場合は、数式バーの入力欄を広げて見ると読みやすくなります。
表示上の-0が単なる端数なのか、参照先のデータ入力ミスなのかは、数式をたどることで切り分けられます。
たとえば本来1000円のはずの値が999.996円なら、丸めで対応できる場合があります。
一方で本来1000円のはずが999.4円なら、-0の問題ではなく元データや計算条件の確認が必要です。
ゼロに変換する前に、差額が許容できる小ささかどうかを数字で確認する姿勢が大切です。
表示桁数を増やして誤差を見つける方法
続いては、表示桁数を増やして誤差を見つける方法を確認していきます。
ホームタブの小数点以下の表示桁数を増やすボタンを数回クリックすると、セルに隠れていた小数部分を確認できます。
対象列を一時的に小数第6位程度まで表示しておくと、-0.0001のような誤差を見つけやすくなります。
調査後は元の表示形式に戻せばよいため、まず原因を把握したいときに便利な方法です。
ただし、表示桁数を増やしただけでは数値は修正されません。
原因が明確になったら、ROUND関数、IF関数、入力規則、元データの修正など、適した対処へ進みます。
多数のセルを確認する場合は、補助列に差額を出して、フィルターで0以外だけを表示する方法も役立ちます。
オートフィルで数式を適用する方法
続いては、整えた数式をオートフィルで下の行へ適用する方法を確認していきます。
たとえばC2に=ROUND(B2-A2,0)を入力したら、C2を選択します。
セルの右下に表示される小さな四角であるフィルハンドルへマウスポインターを合わせます。
ポインターが黒い十字に変わったら、そのまま下方向へドラッグします。
これにより、C3、C4、C5と参照先が自動で変わり、各行の差額が計算されます。
隣接列に連続データがある表では、フィルハンドルをダブルクリックして最終行まで自動入力することもできます。
数式をコピーした後は、先頭行、中間行、最終行を確認し、参照先がずれていないか確かめましょう。
絶対参照が必要な固定セルを使う場合は、$記号を付けて参照を固定します。
【操作のポイント】修正前に表示桁数を増やして原因を確認し、数式を変更した場合はオートフィル後の複数行で結果と参照先を必ず確認しましょう。
まとめ エクセルで0と-0が表示される原因と数値表示を整える方法
エクセルで0と-0が表示される原因と、数値の表示形式を整える方法についてまとめます。
-0は、計算結果が完全なゼロではなく、-0.004のような非常に小さい負の数になっているときに表示されやすい現象です。
小数点以下を表示しない書式では、数値が0に見えても内部値は負のまま残ることがあります。
見た目だけを整えたいときはセルの書式設定やユーザー定義書式、計算結果も0に統一したいときはROUND関数やIF関数を使う方法が適しています。
たとえば整数単位で差額を扱うなら、=ROUND(B2-A2,0)という数式で小数点以下を丸められます。
許容できる誤差の範囲だけを0にしたいなら、=IF(ABS(B2-A2)<0.01,0,B2-A2)のように条件を明示する方法が便利です。
ゼロを0、空白、ハイフンのどれで表示するかは、表の目的と読み手に合わせて決めましょう。
重要なのは、表示形式だけを変更したのか、内部の数値まで丸めたのかを区別することです。
数式バー、小数点以下の表示桁数、セルの書式設定を確認すれば、-0の原因を落ち着いて切り分けられます。
正しい丸め規則と見やすい表示形式を整え、Excelの集計表や差額表を分かりやすく仕上げていきましょう。