【関数】数式がエラーの場合に任意の値を表示できる「IFERROR」の使い方
AさんAさん

数式を使っているとエラー表示になることがありますが、そのままだと見栄えが悪くなります。。
そのエラーになったセルを参照している他の数式までエラーになってしまいますし・・・。
何か良い方法ないですかね?

森田森田

その場合は、関数のIFERRORを活用すると良いですよ!
では、IFERRORの使い方について解説していきますね。

はじめに

この記事は関数の概要とIFの使い方を把握していることが前提です。

参考記事

関数の概要とIFの使い方の詳細は以下の記事をご参照ください。


数式のエラー表示を回避したい場合は「IFERROR」が有効

数式を使っていると、エラー値が表示されるケースがあります。

たとえば、以下の表のようなイメージです。

上記の表では、D7セルが#DIV/0!というエラー値になっていますが、これは除算(割り算)の分母となるB7セルが「0」であることが原因です。

こうしたエラー値は数式の記述内容の誤りや参照先のセルがおかしいことをユーザーへ気づかせてくれるアラート機能なので重要ですが、エラー値のままだと見栄えが悪い、あるいはエラー値になったセルを参照した他の数式まで連動してエラーになって困るケースがあります。

こんな場合、関数のIFERRORを使うと良いです。
IFERRORは「イフ・エラー」と読む。

IFERRORを使うことで、数式がエラーの場合に任意の値を表示し、エラー表示を回避できます。

IFERRORの構文

IFERRORの構文は以下の通りです。

=IFERROR(値,エラーの場合の値)
式がエラーの場合は、エラーの場合の値を返します。エラーでない場合は、式の値自体を返します。

引数名 必須 データ型 説明
すべて エラーかどうかチェック対象の数式を指定します。
※エラーでない場合、ここで指定した数式の計算結果がIFERRORの戻り値となります。
エラーの場合の値 すべて エラーの場合に返す値を指定します。

【参考】IFERRORの対象となるエラー値

IFERRORは引数「値」で指定した数式の計算結果が以下に該当する場合、引数「エラーの場合の値」を返します。

  • #N/A
  • #VALUE!
  • #REF!
  • #DIV/0!
  • #NUM!
  • #NAME?
  • #NULL!

【参考】IFERRORは「論理関数」

あくまで参考情報となりますが、IFERRORはリボン「数式」タブの関数ライブラリの「論理」に分類されています。

実際にIFERRORを活用する際は、以下で解説しているように直接入力で挿入していきましょう。

IFERRORの使用結果イメージ

IFERRORを使い、エラー表示を回避するイメージは以下の通りです。

今回は「達成率(②/①)」列の数式がエラーの場合は「0」の数値を返しました。

上記のように計算列としてIFERRORを使う場合、1レコードにつき1つの関数を使います。
「計算列」とは、数値/日付/時刻の列の値を計算した新たな列のこと。

ベースの数式をセットしたら、他のセルへペーストしましょう。

なお、IFERRORをセットする前に、まずは引数「値」に指定する予定の数式だけで問題なく動作することを検証し、後からIFERRORを追加することをおすすめします。

また、今回は引数「エラーの場合の値」は「0」を指定していますが、実務ではハイフン(-)、ブランク("")を指定するケースもあります。

IFERRORの数式の挿入手順

上記の結果を得るための手順は以下の通りです。
すでに引数「値」の数式があるケースを想定。

  1. 関数を追加で挿入するセルを選択
    ※今回はD4セル
  2. =」の後に「if」等と入力
  3. サジェストから「IFERROR」を選択し、「Tab」キーで確定
  4. 数式の後にコンマ(,)を入力
  5. エラーの場合の値を入力
    ※今回は「0
  6. Enter」キーで確定
  7. 1行目の数式をコピーし、以降のセルへペースト
    ※今回はD5~D8セルへペースト

手順②の際にIMEを半角英数モードにすること。
テーブルの場合、手順⑦は不要(全レコードへ数式が自動的にコピーされる)。

【応用】IFERRORが使えないExcel97-2003ブック(*.xls)のエラー処理をするには

IFERRORExcel2007から登場した関数のため、Excel97-2003ブック(*.xls)では使用できないことに注意しましょう。

もし、Excel97-2003ブック(*.xls)でIFERRORのようにエラー表示を回避したい場合は、IF+ISERRORを使います。

IFERRORより数式は長くなりますが、エラーの場合に任意の値を表示することが可能です。

参考記事

IF+ISERRORの詳細は以下の記事をご参照ください。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_ワークシート関数_IFERROR.xlsx

※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ブックを開いたら、次の手順を実施してください。(今までの解説のまとめです)

  1. 関数を追加で挿入するセルを選択
    ※今回はD4セル
  2. =」の後に「if」等と入力
  3. サジェストから「IFERROR」を選択し、「Tab」キーで確定
  4. 数式の後にコンマ(,)を入力
  5. エラーの場合の値を入力
    ※今回は「0
  6. Enter」キーで確定
  7. 1行目の数式をコピーし、以降のセルへペースト
    ※今回はD5~D8セルへペースト

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

IFERRORはエラー表示の回避に役立つ関数です。

IFERRORは活用シーンも多く、他の関数と組み合わせて使うことも多いため、マストで覚えることを強くおすすめします!

なお、IFERROR以外にもExcel関数の各種テクニックを拙著で解説していますので、こちらも参考にしてみてください。



ご参考になれば幸いですm(_ _)m

森田森田

IFERRORは今では当たり前の必須テクニックですが、私がはじめて使った時は衝撃でしたね。
それまでは同じエラー回避をするにも、IF+ISERRORの組み合わせが必要でしたから。

このように、今まで複数関数の組み合わせが必要だったことが新関数1つで済むこともあるので、Excelがバージョンアップした際はより便利な方法がないかを探すこともおすすめします。
ちなみに、IFERRORVLOOKUPと組み合わせて使うことが多いですが、Excel2021もしくはMicrosoft365で使えるXLOOKUPIFERRORなしでエラー回避ができちゃいますので、使用環境にある方は知っておくと良いですね。