オンライン Excel エディター
無料で使う

IFERROR 関数:構文、例とエラーの解決

2026-10-13 更新 · 無料 · Excel と Google Sheets に対応

構文

=IFERROR(テストの値, エラーの場合)

クイック回答

IFERROR は数式を包み、エラーのときに代替値を返します:=IFERROR(A2/B2, 0) なら #DIV/0! の代わりに 0 が表示されます。すべてのエラーを捕捉するため、結果を整えるには便利ですが、壊れた参照がきれいなデータに見えてしまうリスクもあります——構造的なエラーは隠すのではなく修復が必要です。

構文

=IFERROR(テストの値, エラーの場合)
引数意味
テストの値評価する数式や式:A2/B2 のような除算、VLOOKUP(...) のような検索、エラーを返す可能性のある任意の数式。
エラーの場合テストの値がエラーになったときに返す内容——0、空に見える ""、引用符付きのテキストメッセージ、または別の数式。

地域設定によっては、引数がコンマではなくセミコロンで区切られます:=IFERROR(A2/B2; 0)。コンマを小数点として使う国ではこれが標準です。

基本例

=IFERROR(A2/B2, 0)

定番のゼロ除算ガード:B2 が空か 0 のとき、除算は #DIV/0! を返しますが、IFERROR が 0 に差し替えます。ダッシュボードの比率やパーセントは、列全体にエラーコードをまき散らさずきれいなまま保たれます。

=IFERROR(VLOOKUP(E2, $A$2:$C$50, 3, FALSE), "見つかりません")

より親切な検索:E2 が表に見つからないとき、VLOOKUP は #N/A を返しますが、代替値が代わりに「見つかりません」と表示します。検索ミス専用なら、IFNA でも同じ役割を果たしつつ、他のエラーは見え続けます。

=IFERROR(VALUE(A2), A2)

「123」のようなテキストを数値 123 に変換し、A2 が変換できないテキスト(アルファベットを含む)なら #VALUE! の代わりに元の内容を返します。混在列を 1 セルで救う方法です。

=IFERROR(A2/B2, "")

エラーの代わりに空に見えるセルを表示します。違いに注意:"" は何も表示しませんがテキスト値のままなので、AVERAGE やグラフはそのセルを、スキップできる空白ではなくテキストとして扱います。

IFERROR は期待した 1 つのエラーだけでなく、すべてのエラーを捕捉します:=IFERROR(A2/B2, 0) は列削除による #REF! もきれいな 0 に変えてしまいます。包む式はできるだけ狭くし、構造的なエラーは飾り付けではなく修復を。

よくあるエラーと修正方法

症状最も一般的な原因修正方法
#NAME?IFERROR のスペルミス——または Excel が別の言語版で、関数名がローカライズされている(SI.ERROR、SIERREUR、WENNFEHLER)。=IF と入力してオートコンプリートに関数名を補完させるか、対応する言語版の Excel でファイルを開きます。
エラーがまだ表示される失敗している部分がラッパーの外にあるか、代替値自体がエラー:=IFERROR(A2/B2, C2/D2) は D2 が 0 のとき再び #DIV/0! を表示します。壊れているのは代替値のほうだからです。代替値も包む——=IFERROR(A2/B2, IFERROR(C2/D2, 0))——か、その中のエラーの原因を修正します。
本物のエラーが消えるIFERROR が構造的なエラーを飲み込みました:列削除の #REF! が 0 を返すようになり、表が壊れていることに誰も気づきません。ラッパーは狭く保ち、原因を修正します。検索ミスには IFNA を使うと、#REF! などのエラーが見えたままになります。
0 と空白が下流の数式に流れ込む代替値 0 は AVERAGE に実数値として参加し、"" は下流の算術で #VALUE! を引き起こします。行き先に合わせて代替値を選びます:合計には 0、テキストが安全な場所だけ ""、または NA() で本物の欠落を平均から外します。
数値とテキストが半々の列=IFERROR(VALUE(A2), A2) の代替値が元のテキストを返すため、列が数値とテキストの混在になります。先にデータを整えます——余分な空白を除去し、テキスト形式の数字を変換——すれば、代替値なしの素の VALUE で動きます。

見えない空白も検索ミスの原因になります:VLOOKUP は末尾に空白のある「支払済 」に #N/A を報告し、IFERROR がそれを「見つかりません」に隠すため、本当の原因は埋もれたままです。先に列を整えれば、代替値が発火することはほとんどありません。

IFERROR と IF+ISERROR の比較

IFERRORIF + ISERROR
引数の数2 つ——式と代替値3 つ——テスト、代替値、そしてもう一度書く式
使えるバージョンExcel 2007 以降(Google Sheets も対応)2003 までのすべての Excel バージョン(Google Sheets も対応)
計算コスト式は 1 回だけ評価される式は 2 回評価される——ISERROR の中で 1 回、結果としてもう 1 回——大きな範囲では差が顕著
=IF(ISERROR(A2/B2), 0, A2/B2)

=IFERROR(A2/B2, 0) の旧式の書き方。IFERROR は Excel 2007 より前には存在しなかったためです——非常に古いバージョンと共有するファイルでは今もこの形式が必要です。最新の Excel や Google Sheets では、IFERROR の方が短く 1 回で済み、既定の選択肢です。

Google Sheets での IFERROR

Google Sheets は Excel と同じ 2 つの引数・同じ挙動の IFERROR をサポートしており、上の数式はそのまま貼り付けられます。

  • 同じエラー集合を捕捉します:#DIV/0!、#N/A、#VALUE!、#REF!、#NAME?、#NUM!、#NULL!。
  • コンマを小数点に使う地域設定(ヨーロッパとラテンアメリカの多く)では、引数の区切りにセミコロンを入力します:=IFERROR(A2/B2; 0)。Excel も同じ挙動です。
  • Sheets にも IFNA があり、#N/A だけを捕捉します——構造的なエラーを見せたままにしたい検索では、VLOOKUP などにとってより良いガードです。
  • 結果全体をエラー耐性にするには、Sheets の IFERROR は配列数式としても使えます:1 つのラッパーで出力範囲全体を一度にカバーできます。

制限と上級テクニック

  • IFERROR はエラーの種類を隠します:#N/A、#REF!、#DIV/0! がすべて同じ代替値に潰れます。まず素の数式で診断し、正しいと確認できてから包みます。
  • 検索ミスだけが問題なら IFNA を使いましょう——#REF! などが見えたままになり、壊れた範囲が「見つかりません」に偽装できません。
  • 代替値は値であって空白ではありません:"" は空に見えてテキストであり、0 は平均をずらします。次に何が起きるかに合った代替値を選びましょう。
  • 条件反射で列全体を包まない:何千もの IFERROR は調査を遅くし、データ問題を埋もれさせます。データを修復し、ガードは狭く保ちます。
  • シグナルを保つ代替値としては、0 の代わりに NA() を返します:=IFERROR(VLOOKUP(...), NA()) なら本物のミスがグラフや統計で見え続けます。

IFERROR は修理ではなく化粧です。まず数式を安定させ、それから最終レポートをきれいに保つために使い——残った空白を埋めて、整えた範囲が完成したデータに見えるようにします。

関連ツール

関連関数

よくある質問

Excel の IFERROR は何をしますか?

数式を評価し、結果がエラーのときに代替値を返します:=IFERROR(A2/B2, 0) なら #DIV/0! の代わりに 0 が表示されます。数式が成功すれば通常の結果がそのまま通ります——IFERROR は正しい値を決して改変しません。

IFERROR はどのエラーを捕捉しますか?

すべてです:#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL!。この広さが強みでもありリスクでもあります——捕捉したかった無害な #N/A も、構造的なエラーも一緒に隠れてしまいます。

IFERROR を VLOOKUP と組み合わせるには?

検索全体を包みます:=IFERROR(VLOOKUP(E2, $A$2:$C$50, 3, FALSE), "見つかりません")。E2 に一致がないとき、セルは #N/A の代わりに「見つかりません」と表示します。この用途には IFNA がおすすめ——#N/A だけを捕捉し、他のエラーは見せ続けます。

IFERROR と IFNA の違いは?

IFERROR はすべてのエラーを捕捉し、IFNA は #N/A だけを捕捉します。検索には通常 IFNA が正解です:ミスは「見つかりません」になり、壊れた参照(#REF!)は表示されたままなので修正できます。

IFERROR 数式がまだエラーを表示するのはなぜ?

失敗している部分がラッパーの外にあるか、代替値自体がエラーです:=IFERROR(A2/B2, C2/D2) は D2 が 0 のとき #DIV/0! を表示します。代替値も包むか、その中のエラーを修正してください。

IFERROR は空のセルを返せますか?

空に見えるセルなら返せます:=IFERROR(A2/B2, "") は何も表示しません。ただし "" はテキスト値であって本当の空白ではありません——AVERAGE、COUNT、グラフはどれもテキストとして扱います。下流の数式が欠落を区別する必要があるなら 0 か NA() を。

IFERROR は Google Sheets で使えますか?

はい——同じ名前、同じ 2 つの引数、同じ挙動です。引数の区切りが変わるのはコンマを小数点に使う地域設定だけで、そこではセミコロンを入力します:=IFERROR(A2/B2; 0)。Sheets にも Excel と同じ意味の IFNA があります。

自分のファイルで試す準備はできましたか?

Excelの空白セルを埋めるを開く — 無料