タスクラボ > 関数リファレンス > IFERROR
IFERROR関数の使い方(エラーを消す)
対応: Excel 2007以降・Google スプレッドシート
IFERROR は式がエラーになったときに、代わりの値を返す関数です。#N/A や #DIV/0! を「空欄」や「該当なし」に置き換えられます。
構文
=IFERROR(試す式, エラーだったときに返す値)
基本の例
VLOOKUPの#N/Aを「該当なし」にする:
=IFERROR(VLOOKUP(E2, A2:C100, 3, FALSE), "該当なし")
割り算の#DIV/0!を空欄にする:
=IFERROR(A2/B2, "")
IFERRORが拾うエラー
| エラー | 主な原因 |
|---|
| #N/A | 検索で見つからない(VLOOKUP・MATCHなど) |
| #DIV/0! | 0や空白で割った |
| #VALUE! | 数値が必要な場所に文字列 |
| #REF! | 参照先のセル・列が削除された |
| #NAME? | 関数名の打ち間違い・非対応バージョン |
| #NUM! | 数値が大きすぎる・計算が収束しない |
IFNAとの違い(使い分け)
IFERRORは全部のエラーを隠します。#REF!(参照が壊れた)や #NAME?(打ち間違い)という「直すべき事故」まで「該当なし」に見えてしまう。検索の失敗だけを拾いたいならIFNA(#N/Aだけを拾う。Excel 2013以降)のほうが安全です。
#N/Aだけ置き換え、他のエラーは見えるままにする:
=IFNA(VLOOKUP(E2, A2:C100, 3, FALSE), "該当なし")
やってはいけない使い方
| アンチパターン | なぜ悪い |
|---|
| 集計列を全部IFERRORで包む | データの不備(文字列混入など)に気づけなくなる |
IFERROR(式, 0) を安易に使う | 0は「値がある」扱いで合計・平均に混ざる。空文字 "" のほうが安全なことが多い |
関連