IFERROR関数で #DIV/0! や #N/A エラーを表示させない

解説記事内の画像はExcel 2019のものですが、操作方法は下記のバージョンで同じです。
  • Excel 2019, 2016, 2013, 2010
  • Microsoft 365
Microsoft 365は、バージョン2002と、バージョン2010で動作確認しています。

スポンサーリンク

Excelでは、数式を設定したところに何かしらがあると、エラーが表示されるようになっています。
「ゼロで割っている」の#DIV/0!エラーや、VLOOKUP関数でおなじみの「お探しのものが見つかりません」の#N/Aエラーなどが、よく見かけるエラーです。

ゼロで割っている 例えばこれ。
D列には「今年/前年」という、前年比を出す数式が普通に入力されているだけなのですが、B7番地がゼロであるがゆえに、D7番地の割り算の結果が「ゼロで割ってますよ」というエラーになってしまっています。
もちろん、B7番地がゼロだからまずいので、他の数字になればエラーは表示されなくなりますが、「だってゼロなんだもの、直しようがないじゃない、でもエラーが出てるのは見た目的に嫌なの」ということもあるでしょう。

IFERROR関数をセリフで覚える「(もし)これが(エラーだったら)こう表示」 そこで出てくるのがIFERROR関数
「イフエラーかんすう」と読みます。
Excelには、IFERROR関数と、ISERROR関数があり、一瞬見ただけではどこが違うの?ってドギマギしてしまいますが、先頭が「IF」か「IS」の違いです。
このページでご紹介するのは、先頭が「IF」のIFERROR関数です!
それでは早速、詳しい設定を見ていきましょう!

スポンサーリンク

IFERROR関数の設定

D列にエラーを表示させないようにする 練習用データを操作しながらご覧いただく方は、画面左下で「Sheet2」に切り替えます。

D列にエラーを表示させないようにする 今回はD列に、

もし、今年/前年(今年の数字を前年の数字で割る割り算)がエラーだったら、
空欄を表示
(エラーじゃなければ、今年/前年の結果を表示)

となるよう設定していきます!

[関数の挿入]ボタン まずはD列の先頭、D4番地を選択し、[関数の挿入]ボタンをクリックします。

「IFERROR」を選択 関数を指定するためのダイアログボックスが表示されます。
[関数の分類]で「すべて表示」を選択すると、すべての関数が[関数名]欄にABC順で表示されます。
今回はIFERROR関数を使いたいので、一覧から「IFERROR」をクリックで選択し、[OK]ボタンをクリックします。
冒頭でもお話ししたとおり、今回使うのは先頭が「IF」の「IFERROR」になりますので、お間違いなく。
ちなみに、この一覧から「IFERROR」を選択する際、「IFERROR」の頭文字である「I」のところまで、一瞬でスクロールする技を使うと便利です。

IFERRORの引数[値] IFERROR関数を設定するダイアログボックスが表示されます。
まずは[値]。
[値]欄には、エラーになるかどうかを判定する数式やセルを指定します。
[値]欄に文字カーソルがあることを確認し、

C4番地をクリック 今回エラーになるかどうかを判定するのは、「今年/前年」という割り算の数式。
今は、D4番地の戸田さん分の数式を設定しているので、戸田さんの「今年/前年」にあたる、「C4/B4」の設定をすべく、まずはC4番地をクリックします。

/(スラッシュ)を入力 続いて、キーボードで/(スラッシュ)を入力

B4番地をクリック 更に、B4番地をクリックすると、[値]欄に「C4/B4」と設定できました!

IFERRORの引数[エラーの場合の値] 続いて、[エラーの場合の値]欄でクリックするか、キーボードの[Tab]キーを押して、[エラーの場合の値]欄に文字カーソルを移します。
ここには[値]欄に指定したものがエラーだった場合に、何を表示するのかを指定します。

半角ダブルクォーテーション2つを入力 今回は、空欄にして何も表示されないようにしたいので、空欄をあらわす半角ダブルクォーテーション2つを入力します。
Excelでは、数式内で使う記号は半角で入力するというお作法があるので、日本語入力OFFの状態でダブルクォーテーションを入力すると、半角で入力できます。

エラーじゃなかった場合には、自動的に[値]欄の結果を表示してくれる これで、「C4/B4」がエラーだったら、空欄、という設定ができました!
もしエラーじゃなかった場合には、自動的に[値]欄に指定した「C4/B4」の結果を表示してくれるのが、IFERROR関数のもう1つの特徴です。
最後に[OK]ボタンをクリックすると、

エラーではないのでIFERROR関数の[値]欄に指定したものの結果が表示される IFERROR関数の[値]欄に指定した「C4/B4」の結果はエラーではないので、普通に「C4/B4」の結果を表示してくれています!

オートフィルで数式をコピー 残りのセルにも同様の数式を設定したいので、オートフィルで数式をコピーします。

エラーになるかならないかで、表示される結果が違う エラーにならないものは、普通に「今年/前年」の結果が表示されますが、ゼロで割っているエラーが表示されるはずのD7番地には、IFERROR関数のおかげでエラーではなく、空欄で何も表示されない状態になっています!

パーセント表示を設定 あとは見やすくするために、お好みでパーセント表示にします。
この時、パーセント表示を設定するのはD列の「前年比」の欄すべて。
空欄になっているところも、前年の数字が変わってエラーにならなくなれば、計算結果が表示されることになるので、空欄になっているところもパーセント表示を設定しておきます。

スポンサーリンク

空欄ではなく文字を設定してもOK

関数が設定されているセルを選択し、[関数の挿入]ボタンをクリック 先ほどは、エラーだった場合には、空欄で何も表示されないようにしましたが、「前年データなし」のような文字を表示させることもできます。
では、先ほどの数式をそのように修正してみましょう。
IFERROR関数を設定したD列のうち、先頭のD4番地を選択し、[関数の挿入]ボタンをクリックします。

既に設定されているIFERROR関数の引数 すでにこのセルにはIFERROR関数が設定されているので、ダイアログボックスにはその内容が表示されています。

[エラーの場合の値]を変更 [エラーの場合の値]欄の内容を、「前年データなし」に変更します。
Excelでは、数式内に文字を設定するときには、その前後を半角ダブルクォーテーションで囲むというお約束があるので、「前年データなし」の文字の前後を半角ダブルクォーテーションで囲むのをお忘れなく。
修正が終わったら[OK]ボタンをクリックします。

オートフィルで数式をコピー 修正した数式を、残りのセルにも設定すべく、オートフィルで数式をコピーします。

エラーになった場合には「前年データなし」の文字が表示された エラーにならないものは、普通に「今年/前年」の結果が表示されますが、ゼロで割っているエラーが表示されるはずのD7番地には、IFERROR関数のおかげでエラーではなく、「前年データなし」の文字が表示されました!

列幅を広げる エラーだった場合の文字を変更したことで列幅が足りなくなったので、必要に応じて列幅を広げます

さて、VLOOKUP関数で探しているものが見つからなかった場合の #N/A エラーも、このIFERROR関数でエラーが表示されないように設定できます。
このページでご紹介している理屈で設定できますが、あまりにも頻繁にする対応なので、個別に解説しています。
ぜひ「VLOOKUPのエラーをIFERROR関数で非表示に」のページもご覧ください。

スポンサーリンク