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 の比較
| IFERROR | IF + 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の空白セルを埋めるを開く — 無料