Excelで関数を使っていると、「#N/A」や「#DIV/0!」といったエラーが表示されることがあります。表がエラーだらけだと見づらく、他の人に渡すときも困ります。
そんなときに使うのが IFERROR 関数です。エラーになったときだけ、指定した値や文字に置き換えることができます。この記事では、基本の書き方からVLOOKUPとの組み合わせ、使うときの注意点まで説明します。
=IFERROR(値,エラーの場合の値)
IFERROR関数の基本の書き方
IFERROR関数は、2つの引数で使います。1つ目の「値」にはエラーになるかもしれない式を、2つ目の「エラーの場合の値」にはエラーになったときに表示したい内容を指定します。
- 値:エラーになるかもしれない式(VLOOKUPや割り算など)
- エラーの場合の値:エラーのときに表示したい文字や数字(空白にしたいときは “” )
式がエラーにならなければ、1つ目の「値」の結果がそのまま表示されます。エラーのときだけ、2つ目の内容に切り替わるのがポイントです。
VLOOKUPと組み合わせる方法
一番よく使うのが、VLOOKUPと組み合わせる使い方です。探したいコードが一覧にないとき、VLOOKUPは「#N/A」を返します。これを「未登録」と表示させてみましょう。

- 結果を表示したいセル(E2)を選び「=IFERROR(」と入力する
- エラーになるかもしれない式「VLOOKUP(D2,A2:B5,2,FALSE)」を入力し、カンマを入れる
- エラーのときに表示したい「”未登録”」を入力し、「)」で閉じて Enter を押す
割り算の「#DIV/0!」を消す方法
0で割り算をしたときの「#DIV/0!」も、IFERRORで置き換えられます。たとえば、売上を件数で割って単価を出す式で、件数が0の場合を考えます。

IFERRORを使うときの注意点
IFERRORは便利ですが、使い方によってはミスに気づきにくくなります。次の3点に気をつけてください。
- すべてのエラーが置き換わる:#N/Aだけでなく、#VALUE!や#REF!など、あらゆるエラーが同じ表示になります
- 本当の原因が見えなくなる:式の書き間違いまで「未登録」などに隠れてしまうことがあります
- 空白にすると集計に影響することがある:”” は文字列として扱われるため、足し算などで #VALUE! になる場合があります
#N/Aだけ置き換えたいときはIFNA関数
「見つからない」のエラー(#N/A)だけを置き換えたいなら、IFNA関数が使えます。他のエラーは隠さないので、式のミスに気づきやすくなります。IFNAはExcel 2013以降で使えます。
=IFNA(VLOOKUP(D2,A2:B5,2,FALSE),"未登録")
| 関数 | 置き換わるエラー | 向いている場面 |
|---|---|---|
| IFERROR | すべてのエラー | 割り算のエラーなど、エラーの種類を問わず消したいとき |
| IFNA | #N/Aのみ | VLOOKUPやMATCHの「見つからない」だけを置き換えたいとき |
まとめ
- IFERROR関数は「=IFERROR(値,エラーの場合の値)」で、エラーのときだけ別の表示に置き換える
- VLOOKUPと組み合わせると、見つからないときの#N/Aを「未登録」などに変えられる
- 割り算の#DIV/0!も、0や空白に置き換えられる
- すべてのエラーが隠れるので、原因を確認したあとに使う
- #N/Aだけなら、IFNA関数のほうが安全
見た目をきれいにする前に、まずはエラーの原因を確認し、そのうえでIFERRORを使うのがおすすめです。


コメント