【VBAリファレンス】Excel資料の印象を劇的に変える!印刷時のセルエラーを空白にするプロの技

スポンサーリンク

Excelを日常的に利用されている皆さん、こんにちは!ベテランExcel VBA講師の〇〇(←お好きな名前を入れてください)です。

皆さんは、せっかく丹精込めて作成したExcel資料を印刷しようとした時、シート上に突如現れる「#DIV/0!」や「#N/A」といったエラー表示に、思わずため息をついた経験はありませんか?

データとしては正しい処理が行われた結果のエラーかもしれませんが、印刷された資料にこれらのエラー値が並んでいると、一気にプロフェッショナルさに欠ける印象を与えてしまいます。読み手は「この資料、大丈夫かな?」と不安に感じたり、最悪の場合、資料の信頼性自体を疑ってしまうかもしれません。

しかし、ご安心ください!今日の記事では、VBAのような高度なプログラミングスキルを使うことなく、Excelの標準機能だけで、これらの厄介なセルエラーを印刷時にきれいに「空白」にする、とっておきのテクニックを皆さんにお伝えします。

「エラーを消す」のではなく、「印刷時に見えなくする」という視点で、あなたのExcel資料をワンランク上の仕上がりに変える方法を、ベテラン講師が徹底解説いたします。ぜひ最後までお付き合いください。

セルのエラーとは何か? なぜ印刷時に困るのか?

まずは、Excelのセルエラーについて、その種類と発生原因を簡単に振り返りましょう。代表的なエラーには以下のようなものがあります。

* **#DIV/0!**: ゼロで除算しようとした場合に発生します。(例: `=10/0`)
* **#N/A**: 数式や関数で利用できる値がない場合に発生します。(例: `VLOOKUP`関数で検索値が見つからない)
* **#VALUE!**: 数式で正しくない引数やオペランドが使われた場合に発生します。(例: `=A1+B1` でA1が文字列、B1が数値の場合)
* **#REF!**: セル参照が無効になった場合に発生します。(例: 参照先のセルを削除した場合)
* **#NAME?**: 数式で認識できない名前(関数名、範囲名など)が使われた場合に発生します。(例: `SUM`関数を `SUMM`と誤入力した場合)
* **#NUM!**: 数値が無効である場合に発生します。(例: 関数に有効ではない数値を指定した場合)
* **#NULL!**: 2つの範囲が交差しない場合に発生します。(例: `=SUM(A1:A5 C1:C5)` のようにスペースで区切って範囲を指定したが、交差部分がない場合)

これらのエラーは、数式が意図しない結果を返していることを教えてくれる大切なメッセージです。しかし、最終的に資料として印刷する際には、これらのエラーメッセージがそのまま表示されてしまうと、以下のような問題が生じます。

1. **視覚的なノイズ**: 多くのエラーが並ぶと、資料全体がごちゃごちゃして見え、読みづらくなります。
2. **不親切な印象**: 読み手はエラーの意味を理解できず、不快感や混乱を覚える可能性があります。
3. **信頼性の低下**: 資料の作成者がデータ管理を怠っている、あるいは不注意であるという印象を与えかねません。

特に、データ自体は問題なく、単に参照元のデータがまだ入力されていないため一時的にエラーになっている場合や、特定の条件でのみ発生するエラーで、最終的なレポートとしては表示したくない場合など、エラー表示が邪魔になるシーンは少なくありません。

そこで、これらの問題を解決し、印刷資料のクオリティを格段に向上させるための具体的な方法を、3つご紹介します。

解決策1: 条件付き書式を活用してエラーを「見えなくする」

この方法は、元のデータや数式を変更することなく、エラー値が表示されているセルの「文字色を白」にすることで、見かけ上、空白にするテクニックです。画面上でも印刷時でも、エラーが目立たなくなるため、非常にスマートな解決策と言えるでしょう。

手順

1. **対象範囲の選択**: まず、エラーが表示される可能性のあるセル範囲、またはシート全体を選択します。例えば、`A1:Z100` のように広範囲を選択しても問題ありません。
2. **条件付き書式の設定開始**:
* Excelのリボンメニューから「ホーム」タブをクリックします。
* 「スタイル」グループ内にある「条件付き書式」をクリックし、ドロップダウンメニューから「新しいルール」を選択します。
3. **ルールの種類の選択**:
* 「新しい書式ルール」ダイアログボックスが開きます。
* 「ルールの種類を選択してください」の中から、「指定の値を含むセルだけを書式設定」を選択します。
4. **ルールの条件設定**:
* 「セルの書式設定」セクションで、最初のドロップダウンリストから「セルの値」ではなく「エラー」を選択します。これにより、「エラー値を含むセル」という条件が設定されます。
5. **書式設定**:
* 「書式」ボタンをクリックして、「セルの書式設定」ダイアログボックスを開きます。
* 「フォント」タブを選択します。
* 「色」のドロップダウンリストから「白」を選択します。
* 必要であれば、「塗りつつぶし」タブで背景色も白に設定すると、より確実に見えなくなります。特に、背景に色を付けているセルがある場合は、この設定が重要になります。
* 「OK」をクリックして「セルの書式設定」ダイアログボックスを閉じます。
6. **ルールの適用**:
* 「新しい書式ルール」ダイアログボックスに戻り、「プレビュー」欄で設定した書式が正しく表示されていることを確認し、「OK」をクリックします。

これで、選択した範囲内のエラー値は、文字色が白になり、画面上でも印刷時でも見えなくなります。

メリット

* **元のデータを変更しない**: 数式や値はそのまま保持されるため、後からエラーの原因を調査する際に支障がありません。
* **画面上でも効果を発揮**: 印刷前に画面上でエラーが消えていることを確認できます。
* **リアルタイムで適用**: 条件に合致すれば即座に書式が適用されるため、動的なシートにも対応できます。

デメリット

* **背景色との兼ね合い**: セルの背景色が白でない場合、文字色を白にするだけでは完全に見えなくならないことがあります。その場合は、背景色も白に設定する必要があります。
* **数式バーには表示される**: セルを選択すると、数式バーにはエラー値が表示されたままです。
* **完全に消えるわけではない**: 論理的にはエラー値が存在しているため、他の数式がそのエラーを参照すると、連鎖的にエラーが発生する可能性があります。

解決策2: IFERROR関数で数式レベルからエラーを処理する

この方法は、エラーが発生する可能性のある数式自体を修正し、エラーが発生した場合に「空白」や指定した値を返すようにする、根本的な解決策です。

IFERROR関数とは?

`IFERROR`関数は、Excel 2007以降で利用可能な非常に便利な関数です。
`=IFERROR(値, エラーの場合の値)`
* `値`: エラーかどうかをチェックする数式や参照。
* `エラーの場合の値`: `値`がエラーだった場合に返す値。

手順

1. **エラーが発生している数式を特定**: 例えば、`=A1/B1` という数式で `B1` が `0` の場合に `#DIV/0!` エラーが発生するとします。
2. **IFERROR関数で囲む**: 元の数式を `IFERROR` 関数で囲みます。エラーだった場合に空白を表示したいので、`””`(ダブルクォーテーション2つ)を指定します。
* 元の数式: `=A1/B1`
* 修正後の数式: `=IFERROR(A1/B1, “”)`
3. **数式を適用**: この修正した数式を、他の関連するセルにも適用します(フィルハンドルでドラッグするなど)。

これで、`A1/B1` の計算結果がエラーになった場合、そのセルには空白が表示されます。エラーでなければ、通常通り計算結果が表示されます。

メリット

* **エラー自体をなくす**: セルには本当に空白(または指定した値)が入るため、見た目だけでなくデータとしてもクリーンになります。
* **他の数式への影響を最小化**: エラー値が連鎖するのを防ぎます。
* **表示のカスタマイズ性**: 空白だけでなく、「-」(ハイフン)や「該当なし」などの任意の文字列を表示させることも可能です。

デメリット

* **元の数式を変更する必要がある**: 既に多くの数式が入力されている場合、一つずつ修正するのは手間がかかります。
* **エラー原因の特定が困難になる可能性**: エラーが空白に置き換えられるため、後からデータの問題点を特定しにくくなることがあります。
* **数式の複雑化**: 特に複雑な数式の場合、`IFERROR`で囲むことで数式がさらに長くなり、可読性が低下する場合があります。

解決策3: 印刷設定で印刷時のみエラーを「

タイトルとURLをコピーしました