Excelには「表示形式」という機能があります。
どういうものかというと
このようにセルの値の見た目を変更するための機能です。
この表示形式の機能を利用するとセルの値が、プラスの場合・マイナスの場合・ゼロの場合で書式を変更することが出来ます。
正・負・ゼロで表示形式を変更する
セルの書式設定を開いて、表示形式タブを選択。
一覧の中からユーザー定義を選択。
この欄に設定を記載します。
正・負・ゼロで書式を使い分ける場合は下記のように記載します。
正の値の書式 ; 負の値の場合の書式 ; ゼロの場合の書式 ; 文字列の場合の書式
設定できる書式は以下をご参考。
では今回のお題である、マイナスの時にゼロと表示する書式はどうすれば良いのでしょうか。
おそらく、このような書式を記載したくなるのではないでしょうか。
#,##0;0;0
これであればマイナスの時にゼロと表示するんだな、と考えがちですがこの書式ではマイナスの時にゼロとは表示されません。
このように表示されます。
0とは表示されません
Excelの表示形式において「0」は「任意の1桁の数字を表示する」という意味になります。
今回は割愛しますが、この「0」という表示形式は数字のまま数字の頭に0を表示したい場合によく使用します。
ではどうすればマイナスの時にゼロと表示できるのでしょうか?
!でエスケープ処理
この場合「0」は「任意の1桁の数字を表示する」という特別な意味を持つ文字になります。
そこである処理をすることで特別な意味を持たない文字としてExcelに認識させることが出来ます。
その方法は「0」の前に「!」を記載する。
これだけです。
具体的にはこのように記載します。
#,##0;!0;0
こうすることで「0」は特別な意味を持つ文字ではなく単なる0という文字として認識されます。
このような特別な意味を持つ文字を普通の文字として認識するための方法を
エスケープ処理といいます。
どうでしょうか。
今度はちゃんとマイナスの場合に0と表示されているでしょうか?
セルの中身はマイナス数字のまま、表示は0と表示されています。
まとめ
表示形式を利用すると、関数だけでは対応が難しい表示方法の変更を簡単に変更できるようになります。
日付や数値を表現するにも直接表示したい文字列を入力するのではなく、数値を表示形式で表現を変える方が後の処理が色々と楽になる場合が多々あります。
今回はイレギュラーと言えるような対応ですが、基本的な表示形式を理解しておくと便利です。