関数や数式を使ってさまざまな処理を行った際にエラーが発生してしまうケースもある。このような場合に、そのままエラーを表示するのではなく、エラー発生時の代替処理を指定できる関数がIFERRORとなる。他の関数と組み合わせて応用的な使い方もできる、非常にユニークな関数だ。この機会に使い方を覚えておくとよいだろう。
関数IFERRORでエラー表示を回避
これまで条件分岐に関連する関数をいくつか紹介してきたが、エラーの発生を条件に「代替処理」を実行するIFERRORも、ある意味、条件分岐を行う関数のひとつと考えられる。ということで、今回はIFERRORの基本的な使い方と応用例を紹介していこう。Excelの上級者になるための必須関数といえるので、よく使い方を研究しておくとよい。
まずは、関数IFERRORの書式から解説していこう。関数IFERRORの第1引数には「実行する処理」を関数や数式で記述するのが一般的だ。続いて、その処理でエラーが発生したときの「代替処理」を第2引数に指定する。
◆関数IFERRORの書式 =IFERROR(関数・数式など, エラー時の処理)
具体的な例を使って使い方を紹介していこう。以下の図は、ある企業の「2022年」と「2023年」の出荷量を比較したものだ。各地域の「前年比」を計算したいときは「=D3/C3」のように数式を記述すればよい。
この数式をオートフィルでコピーすると、以下の図のような結果になる。今回の例では、E8セルの計算で「#DIV/0!」のエラーが発生している。
このエラーは「0では割り算できない!」ということを示している。上図において、C8セルは「空白セル」になっている。この場合、C8セルの数値は0(ゼロ)とみなされる。つまり、D8/C8(27,014÷0)の計算を行おうとしたが、0では割り算できないためエラーが発生した、ということになる。
こういった「エラーの表示」を回避したい場合に関数IFERRORが活用できる。この場合は、関数IFERRORの第1引数に「実行する処理」(2023年÷2022年の計算)を記述し、続いて第2引数に「エラーの発生時に表示する文字」を指定すればよい。
この関数をオートフィルでコピーすると、以下の図のような結果になる。先ほどエラーが発生していたE8セルに"データなし"の文字が表示されているのを確認できるだろう。
このように「エラー」の代わりに「別の文字」を表示させるのが、関数IFERRORの最も基本的な使い方になる。今回の例では、エラーの代わりに"データなし"という文字を表示したが、これを空白(何も表示しない)にしたい場合は、第2引数に""(空文字)を指定すればよい。