特定の範囲から条件に一致するセルを探す場合、縦方向ならVLOOKUP関数、横方向ならHLOOKUP関数を利用する。しかし、検索値が見つからなかった場合や検索値のセルが空欄だった場合、エラーが発生してしまうことから、以下のようにIF関数とISERROR関数を組み合わせるテクニックが用いられていた。しかし、ISERROR関数でVLOOKUP関数にエラーが発生しているかどうか判定し、IF関数を使いエラーの場合はヌル値("")を、エラーではない場合はVLOOKUP関数の結果を表示するという処理は、あまりスマートとはいえない。

=IF(ISERROR(VLOOKUP(D2,A2:B17,2,FALSE)),"",VLOOKUP(D2,A2:B17,2,FALSE))

Excel 2008に追加された「IFERROR」関数は、このようなムダを排除してくれる。1番目の引数を評価し、エラーでない場合はそのまま表示、エラーの場合は2番目の引数を表示してくれるのだ。式を簡潔に記述できるので、VLOOKUP / HLOOKUP関数をよく使うユーザはぜひ覚えておきたい関数といえる。

=IFERROR(値、エラーの場合の値)

=IFERROR(VLOOKUP(D2,A2:B17,2,FALSE),"")

IFERROR関数を利用したほうが数式はスッキリする