ホーム / 関数 / Excel IFERROR 関数の使い方
エラー処理 Excel + Google スプレッドシート

Excel IFERROR 関数の使い方

IFERROR(イフエラー)は、計算が正常ならその結果を返し、エラーなら代わりの値を返す Excel(エクセル)の関数です。#N/A や #DIV/0! をレポートから外すいちばん手早い方法ですが、本当の不具合まで隠してしまうこともあります。使いどころと注意点を、例題と練習問題で身につけましょう。

IFERROR 関数の構文と引数

=IFERROR(値, [エラーの場合の値])

IFERROR はエラー処理のヒューズです。値が正常ならその結果を返し、エラーになった瞬間に指定した代わりの値を返します。

1 値(value)
必須

調べる数式や式です(例:C2/B2、VLOOKUP(E2, A2:C6, 3, FALSE))。#N/A・#DIV/0!・#VALUE!・#REF!・#NAME?・#NUM! など、どの種類のエラーも拾います。

2 エラーの場合の値(value_if_error)
省略可

エラーのときに返す値です。ダブルクォーテーションの文字("Not found")、数値、空白("")、別の数式も使えます。省略すると、エラーは空白のセルとして表示されます。

どのエラーを拾えますか?

  • #N/A — 検索関数が見つからない(VLOOKUP・XLOOKUP・MATCH の不一致)
  • #DIV/0! — 0 または空白セルで割ったとき
  • #VALUE! — 引数の型が合わない(文字に対して計算するなど)
  • #REF! — 参照先のセルが削除された——構造の破損なので、IFERROR で隠すのは慎重に
  • #NAME? — 関数名や名前のつづり違い(例:=VLOKUP(…))

定番の組み合わせ:除算の保険と検索のフォールバック

=IFERROR(C2/B2, "Check qty")

除算は #DIV/0! のもっとも多い原因です。数量が 0 や空白だとエラーになります。なお、合計が 0 は正当な数値です(0 ÷ 5 = 0)。IFERROR はそれを変えません。

=IFNA(VLOOKUP(E2, A2:C6, 3, FALSE), "Not found")

検索の不一致には IFERROR より IFNA のほうが正確です。#N/A だけを置き換え、#REF! のような構造エラーはそのまま残します。XLOOKUP なら4つ目の引数で =XLOOKUP(E2, A2:A6, C2:C6, "Not found") と書けます。

3つの道具の役割:IFNA / IFERROR / ISNA

IFNA

メス。#N/A(見つからない)だけを置き換え、ほかのエラーはそのまま——検索のフォールバックの第一候補です。本当の不具合を静かに隠せません。

IFERROR

ヒューズ。すべてのエラーを拾えて手軽ですが、#REF! のような本当の破損も "Not found" になってしまいます。レポートを出す直前の最後の守りとして使うのが向いています。

ISNA / ISERROR

監査役。置き換えず、報告だけします。=ISNA(VLOOKUP(…)) は TRUE/FALSE を返し、監査列・条件付き書式・=SUMPRODUCT(--ISNA(range)) の集計に向きます。

よくある誤りと注意点

  • 問題を隠してしまう — IFERROR はすべてを隠します。=IFERROR(VLOOKUP(…), "") は、列削除の #REF! まで空白にしてしまい、レポートが静かに間違ったままになります。先に IFNA や IF で具体条件を見てから、ヒューズをかけます。
  • 構文エラー — 構文エラーは救えません。括弧の不足、引用符の抜け、区切り文字の誤りなど、数式が評価されない段階では IFERROR は動きません。まず構文を直します。
  • 範囲をまとめて包む — 範囲全体をむやみに包まないでください。どこが壊れているかの手がかりが消えます。調査中は ISERROR / ISNA で印を付け、直してから包みます。

トラブルシュート:数式が計算されない・文字のまま表示される4つの原因

Excel や Google スプレッドシートが数式を普通の文字として表示する(画面に =SUM(A1:A5) が出る)ときや、値が自動更新されないときは、数式が計算段階に入っていないため IFERROR は助けになりません。次の4つを確認してください。

1. セルの表示形式が「文字列」になっている

数式を入れる前に文字列形式だと、Excel はそれをただの文字として扱います。対処:「標準」や「数値」に戻し、セルを選んで F2 → Enter で再計算します。

2. 「数式の表示」モードがオンになっている

シート全体の数式がいきなり見えるときは、Ctrl + `(バッククォート)か、「数式」タブの「数式の表示」をオフにします。

3. ブックの計算方法が「手動」になっている

「数式」→「計算方法の設定」が手動になっていないか確認し、「自動」に戻します(または F9 で再計算)。

4. 等号の前に余分なスペースがある

先頭に空白があると(例:" =A1+B1")、Excel は文字として扱います。先頭の空白を消すと計算が戻ります。

IFERROR の入門練習:壊れにくい単価計算

下のミニ表に IFERROR を入力して、#DIV/0! が役立つメッセージに変わるのを確認できます。独立した練習ページを開くこともできます。

独立した練習ページを開く →
問題文
ヒント 0/4
模範解答 2
–
テストケース
1
2
3
リセット
提出
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
インタラクティブなスプレッドシートを読み込み中...
セルと数式の計算エンジンを準備しています
○ 準備完了 ハイライトされたセルに数式を入力し、「提出」を押してください。

関連する練習問題

ゼロ除算、検索の不一致、ISNA による監査など、エラー処理の一連を実際の場面で練習しましょう。

よくある質問

Excel の IFERROR 関数は何をする関数ですか?

=IFERROR(値, エラーの場合の値) は、まず値を計算して結果を返します。#N/A・#DIV/0!・#VALUE!・#REF!・#NAME? などのエラーが出たときだけ、エラーの場合の値に差し替えます。エラーの場合の値を省略すると、エラーは空白のセルとして表示されます。

IFERROR と IFNA の違いは何ですか?

IFNA は #N/A(見つからない)だけを置き換え、ほかのエラーはそのまま残します。IFERROR はすべてのエラーを置き換えます。検索なら IFNA(または XLOOKUP の「見つからない場合」の引数)がおすすめです。列の削除による #REF! は、「見つかりません」と静かに表示されるより、エラーのまま残したほうが安全です。

VLOOKUP や XLOOKUP の #N/A はどう直しますか?

包んで =IFNA(VLOOKUP(…), "Not found") とすると、見つからないときだけを置き換えます。XLOOKUP なら4つ目の引数で =XLOOKUP(E2, A2:A6, C2:C6, "Not found") と書けます。置き換えではなく確認したいときは =ISNA(VLOOKUP(…)) で TRUE/FALSE を返します。

Google スプレッドシートで formula parse error と出るのはなぜですか?

数式の解析エラーは、スプレッドシートが数式を読めないときに出ます。括弧の不足、引用符の抜け、区切り文字の誤り(環境によっては , の代わりに ;)などです。IFERROR は助けになりません。実行時のエラーではなく、まず構文を直してから IFERROR を使います。