エクセルで計算結果がマイナスになったら0にしたいときは、=MAX(0,C3-D3) のように MAX関数で「0」と計算結果の大きいほうを返します。マイナスなら 0、プラスならそのままの数になります。
IF関数で =IF(C3-D3<0,0,C3-D3) と書いても同じです。表示形式で「見た目だけ 0」にする方法もありますが、値はマイナスのままなので合計に注意が必要です。この記事では3つの方法を、実際の Excel の画面で説明します。
マイナスを0にする方法の一覧
| 方法 | 式・設定 | -600 のとき | 800 のとき | 値 |
|---|---|---|---|---|
| MAX関数 | =MAX(0,C3-D3) | 0 | 800 | 0 になる |
| IF関数 | =IF(C3-D3<0,0,C3-D3) | 0 | 800 | 0 になる |
| 表示形式 | #,##0;"0" | 0(表示だけ) | 800 | -600 のまま |
MAX関数でマイナスを0にする
「残り」のセル(E3)をダブルクリックして、=MAX(0,C3-D3) と入れます❶。MAX は大きいほうを返す関数なので、C3-D3 がマイナスなら 0 が、プラスなら C3-D3 が返ります。

Enter を押して下へコピーすると、予算を超えた「文具」「交通費」の残りが 0 になりました❷。予算どおりの「印刷」は 0、まだ残っている「コピー用紙」は 800 のままです。

IF関数でマイナスを0にする
=IF(C3-D3<0,0,C3-D3) は「C3-D3 が 0 より小さければ 0、そうでなければ C3-D3」という意味です。結果は MAX と同じです。マイナスのときに 0 ではなく「超過」などの文字を出したいときは、IF のほうが便利です(例:=IF(C3-D3<0,"超過",C3-D3))。
表示形式で見た目だけ0にする
計算式は変えずに見た目だけを変えたいときは、セル(F3:F6)を選んで Ctrl+1 を押し、「ユーザー定義」❸の「種類」❹に #,##0;”0″ と入れます。; の右が、マイナスのときの表示です。

OK を押すと、マイナスのセルが 0 と表示されました❺。ただし値はマイナスのままなので、下の合計は -900 になっています❻。合計にもマイナスを入れたくないときは、MAX関数で値そのものを 0 にします。

【実機で検証】3つの方法の結果
| 費目 | 予算−実績 | MAX関数 | 表示形式(表示) | 表示形式(値) |
|---|---|---|---|---|
| コピー用紙 | 800 | 800 | 800 | 800 |
| 文具 | -600 | 0 | 0 | -600 |
| 印刷 | 0 | 0 | 0 | 0 |
| 交通費 | -1,100 | 0 | 0 | -1,100 |
| 合計 | -900 | 800 | - | -900 |
うまくいかないときの確認表
| 症状 | 原因 | 対処 |
|---|---|---|
| MAX にしたのに 0 にならない | 0 と計算の間が「,」でなく「.」 | =MAX(0,C3-D3) のようにカンマで区切る |
| 表示は 0 なのに合計が合わない | 表示形式は見た目だけ | MAX か IF で値を 0 にする |
| -0 と表示される | 小数の誤差でごくわずかにマイナス | =MAX(0,ROUND(C3-D3,0)) のように丸める |
| 0 を表示したくない | 0 も表示される | #,##0;"0";"" のように3つ目に空欄を書く |
よくある質問
マイナスを0ではなく、空欄にしたいです。
=IF(C3-D3<0,"",C3-D3) とします。”” は空の文字です。
逆に、プラスを0にしてマイナスだけ残したいです。
=MIN(0,C3-D3) とします。MIN は小さいほうを返すので、プラスなら 0 になります。
マイナスをプラスにしたいです。
ABS関数で =ABS(C3-D3) とすると、-600 は 600 になります(マイナスをプラスにする方法)。

コメント