スプレッドシート

スプレッドシートのIFERROR関数でエラー時の表示を指定

スプレッドシートのIFERROR関数

スプレッドシートのIFERROR関数とは

スプレッドシートのIFERROR関数とは、エラーが発生した場合の処理を記載するための関数です。具体的には「DIV/0!」「#N/A」「#VALUE!」のようなエラーが出た際に、空欄や0を表示する設定ができます。

IFERROR関数の構文

=IFERROR(値, エラーの場合の値)
  • 値:エラーか判定したい文字列やセル
  • エラーの場合の値:「値」がエラーのときに表示する値

IFERROR関数の使い方

IFERROR関数は、エラーが表示するか判定したい値とエラー発生時の表示指定が必要です。たとえば、下図のように「#DIV/0!」が発生したとします。

これをくくり「=IFERROR(10/0,”エラー”)」のように記載すると、エラーが発生した際に「エラー」と表示してくれます。

シャワーズ

「=IFERROR(10/0)」のように、2つめの「エラーの場合の値」を指定しない場合にはエラー時に空白となります!

エラー以外の場合はそのまま表示

もし「=IFERROR(値, エラーの場合の値)」の「値」がエラーでない場合には、その値がそのまま表示されます。

[例]VLOOKUP関数でエラーになったときの表示を設定

IFERROR関数はVLOOKUP関数と組み合わせて使うケースが多いです。たとえば下図のリストから特定の図鑑ナンバーに該当する名前をVLOOKUPしたいとしましょう。

このとき、「=IFERROR(VLOOKUP(6,A:B,2,FALSE),”データなし”)」のように記載すると、VLOOKUPはいつもどおりできます。

また「=IFERROR(VLOOKUP(25,A:B,2,FALSE),”データなし”)」のように記載すると、エラーになった場合でもエラー表示ではなく指定した文字列を表示してくれます。

VLOOKUP関数とIFERROR関数を組み合わせる理由

IFERROR関数はAVERAGE関数のように、列全体に対して関数をかけている場合にエラーとなるのを防いでくれます。たとえば下図はA列全体へSUM関数を使っていますが、A11セルがエラーになっているので、意図した値を返してくれません。

そこで、A11セルに「=IFERROR(5/0,0)」のようにIFERROR関数を入れてエラーにならないように設定します。

こうすれば裏側でエラーが出ていたとしても、SUM関数ではそのエラーが出ているセルを無視して意図した数値を返してくれます。このようにエラーが出ていたとしても、無視して計算してほしいときにIFERROR関数が有効なため、エラーの出やすいVLOOKUP関数とは相性がよいです。

シャワーズ

上記では例のため、1つのセルにのみIFERRORを設定していますが、実務ではエラーがでない前提で計算したいセル全体にIFERROR関数を設定しておくのが無難です!