サイトについて      連絡先   検索

エクセル 2016 IFERROR 関数:指定した値がエラーかどうかで処理を分ける

はじめに

エクセル 2016 の IFERROR 関数の使い方を紹介します。

IFERROR 関数は指定した値がエラーかどうかで処理を分けます。

セルの値がエラーなら何も表示しない、問題ないならその値を表示したいときに使用します。複数条件に対応する方法や 0 を非表示にする方法も紹介します。

  • 目次
    • 構文
    • 使用例
    • 解説

構文

IFERROR(, エラーの処理)
がエラー以外のときはを返します。エラーのときはエラーの処理を返します。

引数「値」数値、文字列、セル参照、関数などを指定できます。
引数「エラーの処理」引数「値」がエラーのときに返す値を指定します。数値、文字列、セル参照、関数などを指定できます。

エラー一覧

エラー名 内容
#DIV/0!0 で割り算している=5/0
#N/A検索関数で検索対象が見つからない=VLOOKUP("キーワード", …)
"キーワード" が見つからない
#NAME?関数名や定義した名前が間違っている=SUN()
#NULL!セルの範囲指定に間違いがある=SUM(A1 B1)
#NUM!エクセルや関数の数値の範囲を超えている=LARGE(B1:B3,5)
順位の範囲は 1 ~ 3 に対して 5 を指定している
#REF!参照しているセルや行や列が削除された=B2
セル「B2」や行「2」や列「B」を削除する
#VALUE!関数の引数に間違った型を指定している=SUM("エクセル")

使用例

セル「B3」がエラーなら「エラー」と表示する。

=IFERROR(B3,"エラー")
1

引数「値」に直接エラーになる数式と、ならない値を指定する。

=IFERROR(6/0,"")
=IFERROR(SUM(""),"")
=IFERROR("あいう","")
=IFERROR(TRUE,"")
2

解説

引数「値」がエラーかそうでないかで返す値が変わります。エラーなら引数「エラーの処理」を返します。エラー以外ならその値を返します。

この関数は「IF 関数」と「ISERROR 関数」を次のように組み合わせたものと同じ結果を返します。

=IFERROR("値","エラー")
=IF(ISERROR("値"),"エラー","値")

関数を組み合わせた方は、「値」を判定用と結果用に 2 回入力する必要があります。それを「IFERROR 関数」では 1 回で書けます。またエラー以外のときに引数「値」とは別の値を返したいときは、こちらの方法を使用します。

複数条件に対応する

セル「B3」の値がエラーならセル「C3」の値を取得する。セル「C3」の値もエラーならセル「D3」の値を取得する。

引数「エラーの処理」に別の「IFERROR 関数」を入れ子にします。

=IFERROR(B3,IFERROR(C3,D3))
3

セル「B3」または「C3」がエラーならセル「D3」の値を取得する。それ以外のときはセル「E3」の値を取得する。

「IFERROR 関数」はエラー以外のときに、引数「値」以外の値を返すことはできません。こういう時は「IF 関数」と「ISERROR 関数」を使用する必要があります。

=IF(OR(ISERROR(B3),ISERROR(C3)),D3,E3)

セル「B3」と「C3」がエラーならセル「D3」の値を取得する。それ以外のときはセル「E3」の値を取得する。

これも関数を組み合わせた方法を使用します。

=IF(AND(ISERROR(B3),ISERROR(C3)),D3,E3)

IF 関数」の複数条件について詳しくは「IF 関数を複数条件に対応する」をご覧ください。

0 を非表示にする

空のセルを参照すると 0 が表示されます。

4

エラー以外の時は値をそのまま表示したいときに、セルが空だと 0 になるのを非表示にできます。

=IFERROR(IF(B3="","",B3),"エラー")
5

IF 関数」でセルが空の時は空文字を表示しています。

  • 目次
    • 構文
    • 使用例
    • 解説