図1は、VLOOKUP関数の例だ。A列の番号を検索値として、該当する名前(B列)を返すようにしている。しかし、1004や1006のように存在しない番号を検索しようとするとVLOOKUP関数がエラーになってしまう(図1)。

図1 存在しないデータを検索するとVLOOKUP関数がエラーになる

 こうしたエラーを表示しないためには、数式がエラーかどうかを判定するISERROR関数と、条件によって表示を切り替えるIF関数を組み合わせて対応するケースが一般的だった(図2)。しかし、そうした数式は=IF(ISERROR(VLOOKUP(D2,A2:B6,2,FALSE)),"該当なし",VLOOKUP(D2,A2:B6,2,FALSE))のように長くなり、決して簡単ではなかった。

図2 エラーを表示しないためには、複数の関数を組み合わせて対応するしか方法はなかった

 Excel 2007では、そうした数式のエラーを判定するための新しいワークシート関数が追加された。それがIFERROR関数だ。IFERROR関数は「=IFERROR(数式,エラーのときの値)」のように指定する。最初に引数に指定した数式がエラーになると、2番目の引数に指定した値を返してくれる(図3)。IFERROR関数自体はエラーにならないのが特徴だ。

図3 Excel 2007の新しいIFERROR関数なら、シンプルな方法でエラーに対応できる