図のC列には「数量×単価」を計算する簡単な計算式を入力した。数量と単価の両方が入力されていれば、正しい計算結果が表示されるのだが、どちらかが未入力だと、計算結果が0になる。こうした0を表示したくないときは、どうしたらいいだろう。

図1 計算の元になる「数量」または「単価」が空欄だとC列には0が表示される
図1 計算の元になる「数量」または「単価」が空欄だとC列には0が表示される

 0を表示しないためには、いくつかの方法がある。まず、IF関数で判定するやり方だ。たとえばセルC4に「=IF(A4="","",A4*B4)」という式を入れると、セルA4が空欄のときに0が表示されなくなる。

図2 IF関数で判定すれば0を非表示にできる
図2 IF関数で判定すれば0を非表示にできる

 上図では「数量」のセルが空欄かどうかをIF関数で判定したが、ほかにも「=IF(OR(A4="",B4=""),"",A4*B4)」や「=IF(A4*B4=0,"",A4*B4)」など、いろいろな考え方ができる。

 何らかの理由で、計算式を変更できないようなときは、他の機能を使って0を非表示にしよう。最も簡単な方法のひとつは、0が表示されないよう設定を変えてしまうことだ。「Officeボタン」をクリックして「Excelのオプション」を開く。「詳細設定」の「次のシートで作業するときの表示設定」グループで「ゼロ値のセルにゼロを表示する」チェックボックスをオフにすると、ワークシート上のすべての0が非表示になる。

図3 0を非表示にするオプションはワークシートごとに設定できる
図3 0を非表示にするオプションはワークシートごとに設定できる

図4 すべての0が表示されなくなった
図4 すべての0が表示されなくなった

 オプションの変更による0の非表示は、計算式の結果だけでなく、手入力した0も表示されなくなる。0の非表示をセルごとに設定したいときは、セルの表示形式を使う方法もある。0を表示させたくないセルを選択して「セルの書式設定」ダイアログボックスを開き、「ユーザー定義」で「[<>0]#,##0;」のように設定する。

図5 ユーザー定義の表示形式で0だけを非表示にできる
図5 ユーザー定義の表示形式で0だけを非表示にできる

図6 表示形式を設定したセルだけで0が非表示になった
図6 表示形式を設定したセルだけで0が非表示になった

 ここで設定した「[<>0]#,##0;」のうち「[<>0]」部分は、"セルの値が0でなかったら"という条件指定になる。続く「#,##0;」は数値に桁区切りのカンマを表示させる表示形式だ。

 Excel 2007では、最後の「;」を忘れないようにしよう。「;」は、複数の表示形式を区切る記号で、このように表示形式を1つしか指定しない場合、旧バージョンのExcelでは末尾の「;」が不要だった。しかし、なぜかExcel 2007からは区切りの「;」を末尾に付けないと正常に動作しなくなっている。