昨日に引き続き、Excel 2003なのにかなり参照されている記事の最新バージョン版を書きます。
「データがないときに非表示」って言っても、2つのケースがありますよね。
- たとえば「単価×数量」といった数値データのみのセルを参照して演算した数式セルで、演算参照セルが空欄の場合の「0」を非表示にする
- 関数が使われた演算セルで、#N/A や#VALUE などのエラー値を非表示にする
ゼロ値を非表示にする
シート全体にまとめて計算結果の「0」を非表示にするには、Excelのオプションでゼロ値を非表示にすればいいです。対象となるセルの書式設定でゼロ値を非表示にしてもいいですけど。
ついでにMac版では「Excel 環境設定」でゼロ値を非表示にできます。
IF関数を使って処理する
一方、#N/A とか #VALUE とか #DIV/0 といったエラー値を非表示にしたい場合は、IF関数でデータが入ってない場合どうのこうの、っていう方法があります。
IF関数は論理関数で、対象となるセルの値が指定値以上の場合という感じで、条件式を満たす場合は異なる演算をするときに使ったりするのが一般的です。知らんけど(逃
IFERROR関数でエラー値を非表示にする
単にエラー値を非表示にしたい場合は、Excel 2007からサポートされたIFERROR関数を使う方法もあります。
IFERROR(値,エラーの場合の値)
式がエラーの場合は、エラーの場合の値を返します。エラーでない場合は、式の値自体を返します。
つまり、「値」の引数に数式を入れて、その数式結果がエラー値が返される場合に空白にするには、「エラーの場合の値」の引数には "" と指定すればOKです。
- [数式]タブを開き、[論理]関数一覧より[IFERROR]を選択
- [値]の引数にカーソルを移動し、名前ボックス一覧から[VLOOKUP]関数を呼び出す
-
VLOOKUP関数でそれぞれの引数を入力したら、数式バーの「IFERROR」あたりをクリック
-
[エラーの場合の値]には "" と入力して[OK]ボタンをクリック
-
すると空白になります。
IF関数を使うか、それともIFERROR関数を使うかはお好みで。昔からExcel使ってる人は前者ですね。