結果がエラーのときは表示を変更する場合分けの関数。基本的な使い方に加えて、仕事に役立つ実例も紹介する。

エラーの場合に別処理をするIFERROR(イフエラー)

 計算結果がエラーになる場合、セルがエラー表示のままでは見栄えが悪い。計算結果がエラーかどうかを判定し、エラーの場合に別の値を表示するのがIFERROR関数だ。

書式

書式 IFERROR(値,エラーの場合の値)
値(必須) 数式を指定する
エラーの場合の値(必須) 数式がエラーの場合に表示する値を指定する

基本的な使い方

 Excelは、数式を正しく計算できないときにエラーを表示する。数式自体は正しくても、計算対象のセルに「数値の代わりに文字が入っている」「データが未入力」などの理由で、エラーになることもある。客先にExcelファイルを渡すときなどは、エラーを隠して見栄えを良くしたい。

 そんなときはIFERROR関数を使うと、「#VALUE!」や「#N/A」などのエラー表示ではなく、「エラーの場合の値」で指定した値を表示できる。もちろん、エラーでない場合は、数式で計算した値が入る。

 下図のD4セルに「前年比」を表示するには、「=C4/B4」(「今年度」割る「前年度」)と記述すればいい。だが、C4セルに数字ではなく文字列「調査中」が入っているので、「#VALUE!」とエラーが表示されてしまった。これをIFERROR関数を使って「調査中」と表示させてみよう。

 ここではD3セルからD5セルのすべてで、エラーが出たら「調査中」と表示するように設定する。それにはD3セルに「=IFERROR(C3/B3,"調査中")」と記述する。後はD3セルをドラッグしてD4セル、D5セルにコピーすれば完成だ。

「C3/B3」だけだと青山支店の前年比は「#VALUE!」となる
「C3/B3」だけだと青山支店の前年比は「#VALUE!」となる
IFERROR関数を使えば空欄にしたり「調査中」などの文字列を表示したりできる
IFERROR関数を使えば空欄にしたり「調査中」などの文字列を表示したりできる
ISERROR関数との違いは?

 IFERROR関数はExcel 2007から追加された関数。なのでベテランの方は、「ISERROR」(イズエラー)関数を使ってエラー表示を回避しているケースも多いはず。この関数は数式がエラーかどうかを判定し、エラーの場合は「TRUE」をそうでない場合は「FALSE」を返す。ここではISERROR関数の使い方を紹介する。ただし、多くの場合IFERROR関数のほうが記述がシンプルになる。

 下図の表は、商品の価格と数量から金額を求め、すべての商品の合計金額を求めるというもの。各商品の金額は「価格×数量」で求められる。B列とC列に数値が入っていれば、正しい計算結果が得られるが、「USB-B」の「価格」に「未定」の文字列が入っているのでエラーになった。

見積もり表などで、価格がまだ決まっていない商品に「未定」と入力したら、掛け算の対象が文字列になったためエラーが表示された。さらに合計(SUM関数)の結果もエラーになった
見積もり表などで、価格がまだ決まっていない商品に「未定」と入力したら、掛け算の対象が文字列になったためエラーが表示された。さらに合計(SUM関数)の結果もエラーになった

 ISERROR関数を使ってエラー表示を回避するには、下図のようにIF関数と組み合わせて使う。

「B3*C3」を計算対象とし、エラーの場合に空欄を表示するには、ISERROR関数とIF関数を組み合わせる。D6セルのSUM関数は、途中に文字(空欄含む)が入るとその部分を無視するので、エラーにならない
「B3*C3」を計算対象とし、エラーの場合に空欄を表示するには、ISERROR関数とIF関数を組み合わせる。D6セルのSUM関数は、途中に文字(空欄含む)が入るとその部分を無視するので、エラーにならない