iBitzEdge

IFERROR : 「#DIV/0!」や「#N/A」エラーを非表示にできるエクセル関数 [Excel]

エクセルでデータを入力し、自動的に計算したり参照したりしていると、まれに「#N/A」というエラーや「#DIV/0!」などのエラーが表示される。

特にエラーが発生していても問題ないという場合も多いため、このエラーを非表示にしたいということが多々ある。以前に紹介したVLOOKUP関数と合わせて利用すると良いかもしれない。

ここでは、IFERROR関数を使用して、#N/Aエラーを表示させない方法を簡単に紹介する。

 

対象となるExcelのバージョン
Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel 2016 for Mac, Excel for Mac 2011, Excel Online, Excel Starter

IFERROR関数の使用例

画像1. 通常は「0」で除算すると「#DIV/0!」エラーが発生

画像1では、A列に合計金額、B列に個数を表示し、その2列から除算でD列に単価を表示させている。

D2セルには「=A2/B2」と入力し、下にオートフィルしている状態だ。

そのまま除算した場合、空白が存在した場合には「#DIV/0!」エラーが表示される。
空白や0で除算してしまったために発生した。

画像2. IFERROR関数を使うと「#DIV/0!」エラーを非表示に

しかし、IFERROR関数を使用するとエラーを非表示にすることができる。

画像2は、空白や0で除算すると通常はエラーが発生するが、それを非表示にしている。具体的には、エラーが発生した場合は空欄にするということを行っている。

IFERROR関数は、非表示にすることだけが目的ではなく、「もしエラーがある場合は◯◯を表示する」という風に使えることが出来るため、空欄にするだけでなく、別の値やテキストを表示させることも出来る。

IFERROR関数の書式

IFERROR関数を使用する場合、以下のような書式で入力する必要がある。

=IFERROR(①値, ②エラーの場合の値)

①値
(必須)
エラーかどうかをチェックする引数。ここに入力したものがエラーである場合は、②を行う。
②エラーの場合の値
(必須)
①の数式がエラーと判定された場合に表示する値となる。
エラーの種類には以下の種類がある。
  • #N/A
  • #VALUE!
  • #REF!
  • #DIV/0!
  • #NUM!
  • #NAME?
  • #NULL!

①の数式などでエラーが出ない場合はそのまま①を出力し、エラーが発生した場合は②を出力する。ということになる。

②で入力するものは空白の “” だけでなく、他のテキストや数式などを入力することも可能。テキストを入力する場合は前後に「”」が必要となる。

 

IFERROR関数の実践

  1. データの準備

    実際にIFERROR関数を用いてエラーを非表示にする。まずはそのためのデータをあらかじめ用意する。

    今回はA列に合計金額、B列に個数を表示し、単価を求めるためにD列を用意した。実際にエラーがでるように、B列にはあえていくつか空欄を用意した。

  2. 数式と関数を入力

    次に、「D2」セルに合計金額/個数を入力したいので、A2/B2となるが、IFERROR関数内に入力する。数式バーの左の「fx」ボタンからも関数を入力できるが、ここでは数式バーに直接入力する。

    D2には、「=IFERROR(A2/B2,"")」と入力した。

    A2/B2を計算し、もしエラーが出た場合は代わりに””を表示する」という意味になる。「””」は空を意味する。

  3. 下にオートフィル

    D2セルの入力ができたら、D2セルのフィルハンドルを下にドラッグしてコピーする。
    うまく関数が入力できていれば、Step1で用意したB列に空欄がある行が「#DIV/0!」エラーの代わりに空白になっているはずだ。

その他・予備知識

  1. IFERRORに似たISERROR関数

    IFERROR関数に似た名前のISERROR関数というものがある。どちらも用途としては似たような使い方ができるが、ISERRORは少し古い関数で、IFERRORはExcel 2007で登場した新しく使いやすい関数である。

    ISERRORの場合「=IF(ISERROR(A2/B2),"",A2/B2)

    IFERRORの場合「=IFERROR(A2/B2,"")

    となる。

出典または引用