エクセルでエラーを無視して非表示にする3つの方法

エクセルで#N/A!、#DIV!などのエラーを非表示にする方法は、大きく分けると2つあります。
「エラーが出た後に処理する方法」と「エラーが出る前に対処する方法」です。

「エラーが出た後に処理する方法」は、さらに、2つの方法に分かれるます。

結局、エラーを無視して非表示にする方法は、(細かく分けると)全部で3つの方法があることになります。

それぞれメリット・デメリットがあるので、状況に応じた使い分けが必要です。

エラーが出た後に処理する方法

計算式を入れるとエラーが出てしまう場合に、エラーが出ないように処理をします。

  • エラーそのものを取り除く
  • エラーはそのままで見た目をごまかす

の2通りの方法があります。

エラーそのものを取り除いて正常な値に置き換える

エラーが出た後に、関数を使ってエラーを取り除きます。

いろいろな方法がありますが、Excel2007以降であれば「iferror関数」を使うのが一番簡単です。

iferror関数は次のように、エラーが出る計算式の「外側」にくるむように入力します。

=iferror( 「エラーが出る計算式」 , 「エラーのときに表示する値」 )

例えば、次のようなvlookup関数でエラーが出ている状況で、iferror関数を使ってエラーを出ないようにできます。

errormushi_1_1

Excel20007より前でiferror関数が使えないとき

なお、Excel2007より前の場合には、if関数とiserror関数を組み合わせて、次のような計算式を作れば同じことができます。

errormushi_1_1_2

if関数の引数が見にくいですが、次のような内容が入っています。

  • 1つめの引数:iserror(「エラーが出る計算式」)
  • 2つめの引数:「エラーのときに表示する値」
  • 3つめの引数:「エラーが出る計算式」

「エラーが出る計算式」の部分を2回入れないといけないのが面倒ですが、それさえ我慢すれば、同じことができます。

エラーが出ていることを条件付書式でごまかす

エラーが出ても、エラー自体は放っておきます。

その代わりに、条件付き書式を使ってエラーが出ているセルの文字を見えなくします。

a)条件付き書式を設定したいセルを選択し「条件付き書式」を選択

E2セルを選択します。

その後、「ホーム」→「条件付き書式」→「新しいルール」を選択します。

errormushi_1_2
b)条件式を入力する

「数式を試用して、書式設定するセルを決定」を選択し、
数式として、

=iserror(E2)

と入力します。

iserror関数というのは、中に入れた式・セル(今回の場合はE2セル)がエラーかどうかを調べる関数です。
上記式を入れると、E2セルがエラーの場合のみ、書式を変えることができます。

なお、関数名が先ほどと微妙に違うので、注意してください。
先ほどは「iferror関数」でしたが、今回は「iserror」関数を使っています。

次に、「書式ボタン」を押します。

errormushi_1_3
c)書式を設定する

条件を満たした場合(=エラーが出ている場合)の書式を設定します。

文字の色を白色(=背景色と同じ色)に設定します。

設定したら、OKを2回押します。

errormushi_1_4

errormushi_1_5

これで、条件付き書式の設定が終わりました。

E6セルに入れている計算式自体は変わっていませんが、エラーが消えることがわかります。

errormushi_1_6

エラーが出る前に処理する方法

先ほどの2つとは違い、次に紹介する方法では、事前にエラーが出ないように処理をします。

計算式でエラーが出そうな場合に別処理をする

計算式に特定の値を入力するとエラーになることがわかっている場合に、その「特定の値」のときだけ別の処理をすることで、エラーを未然に防ぐ方法です。

errormushi_1_7

多くの場合、上記のようにif関数を使って処理をします。

今回のポイントは、

=if(D2="", "", ... )

という部分です。

何もしないと、D2セルが空欄の場合にエラーが出ます。
そこで、D2セルが空欄の場合だけvlookup関数を使わず、単に空欄を表示させるようにしています(「""」が空欄という意味です)。

その結果、D2セルが空欄でもエラーが出なくなります。

非表示にする方法別のメリットとデメリット

今回、エラーを非表示にする方法3つを紹介しましたが、それぞれメリット・デメリットがあります。

区分 事後処理 事前処理
エラーを正常値
に置き換え
条件付き書式
でごまかす
エラー前に
別処理
1.計算式の複雑さ × ×
2.処理内容の
 わかりやすさ
×
3.エラーを完全
 に消せるか?
×
4.細かい処理
 のしやすさ
× ×
5.後続計算が
 可能か?
×

計算式の複雑さ

条件付き書式を使うとセルに入力する計算式を変更する必要がないため、計算式は単純な形で済みます。

逆に、条件付き書式を使わない方法だと、計算式に入れ子が出てきて見た目が複雑になります。

処理内容のわかりやすさ

条件付き書式以外の2つは、セルの計算式を見るだけで処理内容がわかるので、後で見たときにわかりやすいです。

逆に、条件付き書式を使ってしまうと、条件付き書式の設定画面を見ないと処理内容がわからないので、処理の全貌をつかみにくくなります。

エラーを完全に消せるか?

先ほどの例を見てもわかるように、事前処理だと、すべてのエラーを消せるとは限りません。

例えば、vlookup関数やfind関数は、通常、事前処理だけでは全てのエラーを消せません。

一方で、事後処理なら、確実にすべてのエラーを防げます。

細かい処理のしやすさ

今回の例では、次のような場面でエラーが出ます。

  • D2セルが空欄の場合
  • D2セルにA2セル~A4セル以外の値が入っている場合

事後処理だと、上記2つの区別をつけることができませんが、
事前処理であれば、上記2つの区別をつけることができます。

例えば、今回、事前処理(エラー前に別処理)の例として出した、

=if(D2="","",vlookup(D2,$A$2:$B$4,2,FALSE))

という計算式だと、

区分 E2セル
D2セルが空欄の場合 (空欄)
D2セルにA2セル~A4セル以外の値が入っている場合 #N/A!

という動きをします。

空欄の場合だけエラーを回避したいが、A2セル~A4セルに存在しない値を入れたらエラーのままにしておきたい場合には、事前に処理をするしかありません。

後続計算が可能か?

条件付き書式以外の2つは、最終的な計算結果がエラーでなくなっているので、後続の計算が可能です。
(事前処理の場合は、完全にエラーを消しきれない場合があり、その場合は後続計算はできないので、上の表では「△」にしてあります。)

一方で、条件付書式を使ってしまうと、計算結果はエラーのままです。
そのため、後続の計算をしようとすると、すべてエラーになってしまいます。

エラーを非表示にする方法まとめ

このように、エラーを無視して非表示する方法は、いくつかあります。
それぞれ一長一短がありますので、状況に応じて、適切な方法を選びましょう。

どの方法がいいかわからない場合は、とりあえず事前処理型を選択しておくのが無難だと思います。

おすすめ記事

【新関数】エクセル TEXTSPLIT関数の使い方
【注意】エクセルWEBSERVICE関数でのアクセス発生件数に注意
【エクセル初心者】表の縦・横の項目を指定して値を検索する(INDEX、MATCH)
【要注意】AVERAGE関数でエクセルで平均を出す落とし穴
【超初心者向き】エクセルでかけ算+端数処理など6つの応用技
【超初心者向き】エクセル 割り算の関数と3つの応用技
エクセルで累計の計算をする

エクセル基礎講座 「無料」動画マニュアル

「経理事務のためのエクセル基礎講座(初級編)」(動画マニュアル 総収録時間162分)を無料プレゼント中です!

このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。

ご登録者の方には、合わせて、公認会計士が実体験を通して身に付けたエクセルを使う技をメールにてお伝えしていきます!

無料動画講座 登録フォーム

※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。