
資料に「#N/A」や「#DIV/0!」といったエラーが表示されてしまい、見た目が悪くて困った経験はありませんか。せっかく作成したレポートも、エラーがひとつあるだけで信頼性が下がり、意図が正しく伝わらないかもしれません。
もし、これらのエラー表示を自由自在にコントロールし、誰が見ても分かりやすい、きれいな資料を瞬時に作成できるとしたら、あなたの業務はもっとスムーズに進むはずです。この記事を最後まで読めば、Excelのエラー処理における基本的なスキルを完全に習得できます。
IFERROR関数という一つの武器を手に入れることで、エラー表示に悩まされることなく、自信を持ってデータを扱えるようになります。その結果、資料作成の時間が短縮され、より本質的な分析や考察に時間を使えるようになるでしょう。
「関数は難しそう」と感じるかもしれませんが、心配はいりません。IFERROR関数は驚くほどシンプルで、この記事では基本的な使い方から実用的な応用例まで、一つひとつ丁寧に解説します。
明日からすぐにあなたの仕事で使えるテクニックばかりです。エラーのない美しい資料作成術を、ここで身につけましょう。
目次
Excelシートでエラーが起きる原因と放置するリスク
Excelでデータを扱っていると、意図せずエラー値が表示されることがあります。これは決してあなたのミスや能力不足が原因ではありません。むしろ、動的なデータを扱う上でごく自然に発生する現象です。大切なのは、エラーが表示されたときにその意味を理解し、適切に対処することです。
代表的なエラーの種類
まず、代表的なエラーの種類とその意味を簡単に知っておきましょう。これらを理解するだけで、エラーへの漠然とした不安が解消されます。
「#DIV/0!」は、「0で割り算をしています」というエラーです。たとえば、前年度の実績が0の商品の売上伸長率を計算しようとすると発生します。
「#N/A」は、「Not Available」の略で、VLOOKUP関数などで検索した値が見つからなかったことを示します。
「#VALUE!」は、計算式の中に文字列が含まれているなど、異なる種類のデータで計算しようとした場合に表示されます。
「#REF!」は、数式が参照していたセルが削除されてしまった場合に発生するエラーです。その他にも、関数名が間違っている場合の「#NAME?」や、数値の範囲がおかしい場合の「#NUM!」などがあります。
エラーを放置する危険性
これらのエラーをそのまま放置することには、見た目の問題以上に大きなリスクが潜んでいます。第一に、資料全体の信頼性が損なわれます。エラー表示が残っているだけで、資料が未完成であるかのような印象を与え、読み手はデータの正確性に疑問を抱くかもしれません。
第二に、データの誤解を招く可能性があります。エラーが表示されているセルを、他の人が「データがない」あるいは「値が0である」と誤って解釈してしまうと、その後の分析や意思決定に悪影響を及しかねません。
そして最も深刻なのは、計算の連鎖が止まってしまうことです。あるセルのエラーが、そのセルを参照している別のセルのエラーを引き起こし、最終的にシート全体の計算が機能しなくなることもあります。
エラーは単なる表示上の問題ではなく、データの整合性や状態を知らせる重要なサインなのです。エラーの意味を理解し、それを適切に管理することが、質の高い資料作成への第一歩となります。
IFERROR関数とは?エラー処理の基本
IFERROR関数は、Excelにおけるエラー処理を非常にシンプルにしてくれる強力なツールです。その名の通り、「もし(IF)エラー(ERROR)だったら」という条件で処理を分岐させることができます。この関数を使いこなせば、前述したような様々なエラー表示を、意図した表示に置き換えることが可能です。
IFERROR関数の基本的な構文
IFERROR関数の構造は非常に単純で、2つの要素(引数)を指定するだけです。
=IFERROR(値, エラーの場合の値)
一つ目の引数「値」には、エラーが発生する可能性のある数式やセル番地を入力します。たとえば、「A1/B1」といった計算式や、「VLOOKUP(…)」のような関数式がこれにあたります。
二つ目の引数「エラーの場合の値」には、「値」の部分でエラーが発生した場合に、代わりに表示させたいものを指定します。特定の文字列や数値、あるいは空白などを設定できます。この関数の動きは、「まず『値』の計算を試みて、エラーが出なければその結果をそのまま表示する。もしエラーが出たら、『エラーの場合の値』に指定したものを表示する」というものです。
IFERROR関数が対応するエラーの種類
IFERROR関数の大きな利点は、その対応範囲の広さです。この関数一つで、Excelで発生するほとんどのエラーに対応できます。具体的には、以下のエラーをすべて検知し、処理を実行します。
- #N/A
- #VALUE!
- #REF!
- #DIV/0!
- #NUM!
- #NAME?
- #NULL!
これにより、エラーの種類ごとに異なる関数を覚える必要がなく、初心者でも簡単にエラー処理を導入できます。ただし、この「どんなエラーでも一括で処理する」という性質は、便利な反面、意図しない問題を見過ごす可能性も秘めています。
たとえば、「データが見つからない」という#N/Aエラーと、「関数名が間違っている」という#NAME?エラーを区別なく処理してしまうためです。この点については、後のセクションで詳しく解説します。
IFERROR関数の基本的な使い方3パターン

理論を学んだところで、さっそくIFERROR関数の具体的な使い方を3つの基本パターンに分けて見ていきましょう。これらのパターンを覚えるだけで、日常業務で遭遇するエラー表示のほとんどに対応できるようになります。
パターン1:エラーを空白(非表示)にする
最もよく使われるのが、エラー表示を消してセルを空白にする方法です。これにより、表の見た目がすっきりし、必要な情報だけを際立たせることができます。計算結果の表をきれいに見せたい場合や、エラー表示そのものが不要な場合に最適です。
数式は =IFERROR(A2/B2, “”) となります。
「エラーの場合の値」に “”(ダブルクォーテーションを2つ)を指定します。これはExcelにおいて「空の文字列」を意味し、結果としてセルには何も表示されなくなります。計算が正常に行われればその結果が、エラーになれば空白が表示されるため、非常に汎用性の高い使い方です。
パターン2:エラーを特定の文字に置き換える
エラーが発生した理由を、見る人に分かりやすく伝えたい場合には、特定の文字列に置き換える方法が有効です。エラーの原因を明示し、共同編集者や閲覧者とのコミュニケーションを円滑にしたい場合などに役立ちます。
数式は =IFERROR(A2/B2, “計算エラー”) や =IFERROR(VLOOKUP(…), “該当なし”) のように記述します。
「エラーの場合の値」に、「前年データ無し」や「該当商品無し」、「確認が必要」といった表示させたい文字列を指定します。このとき、文字列は必ずダブルクォーテーションで囲むというルールがあります。これにより、シートが自己説明的になり、なぜ空白や特定の値になっているのかが一目で理解できるようになります。
パターン3:エラーを「0」に置き換える
エラーが出たセルを、その後の計算に含めたい場合に重要なのが、エラーを数値の「0」に置き換える方法です。エラーが出たセルをSUM関数やAVERAGE関数などの集計対象に含めたい場合に活用できます。
数式は =IFERROR(C3*D3, 0) となります。
もしエラーをパターン1のように空白(””)やパターン2のように文字列に置き換えた場合、SUM関数などはそのセルを無視して計算します。しかし、エラーを数値の0に置き換えることで、そのセルは計算対象として扱われます。これにより、エラーが原因で後続の集計までエラーになってしまう、という二次的な問題を未然に防ぐことができます。
VLOOKUP関数と組み合わせた応用方法

IFERROR関数の真価が最も発揮されるのが、VLOOKUP関数との組み合わせです。多くのExcelユーザーが経験する#N/Aエラーをスマートに処理することで、資料の完成度と実用性を飛躍的に高めることができます。
VLOOKUP関数で#N/Aエラーが出る理由
まず、なぜVLOOKUP関数で#N/Aエラーが出るのかを正しく理解することが重要です。これは数式の間違いではなく、VLOOKUP関数が「指定された検索値を、指定された範囲の中から見つけられませんでした」と報告している状態です。たとえば、商品リストに存在しない商品コードを入力した場合などにこのエラーが表示されます。これは関数の正常な動作ですが、レポート上ではノイズになってしまいます。
IFERROR関数で#N/Aエラーを処理する方法
この#N/Aエラーを、IFERROR関数を使って分かりやすい表示に変える手順は非常に簡単です。
最初に、通常のVLOOKUP関数を作成します。たとえば、セルA2の値をD列から探し、E列の値を返す数式は =VLOOKUP(A2, $D$2:$E$10, 2, FALSE) のようになります。次に、作成したVLOOKUP関数を、まるごとIFERROR関数の中に入れます。VLOOKUP関数全体が、IFERROR関数の1つ目の引数「値」になります。
最後に、2つ目の引数「エラーの場合の値」を指定します。#N/Aエラーの場合に表示したいメッセージ(例:「該当なし」)や、空白(””)などを指定してください。完成した数式は =IFERROR(VLOOKUP(A2, $D$2:$E$10, 2, FALSE), “該当なし”) となります。この数式をセルに入力しておけば、A2に存在する商品コードが入力されれば対応する商品名が、存在しないコードや空白の場合は「該当なし」と表示されるようになります。
このテクニックは単にエラーを隠すだけではありません。あらかじめ広い範囲のセルにこの数式を入力しておくことで、データが入力されるたびに自動で結果を表示する、動的なテンプレート(ひな形)を作成できます。これにより、手作業での数式コピーの手間が省け、誰が使っても壊れにくい、非常に実用的なシートを構築できるのです。
VLOOKUP関数と組み合わせる際の注意点
より堅牢なシートを作成するために、以下の2点を意識しましょう。
一つ目は、参照範囲を「絶対参照」にすることです。数式をコピーしたときに参照範囲がずれないように、範囲指定には$マークをつけた絶対参照(例:$D$2:$E$10)を使いましょう。
二つ目は、検索方法に「FALSE」を指定することです。ほとんどの場合、検索値と完全に一致するデータを探したいはずです。その場合は、4つ目の引数にFALSE(または0)を指定することを忘れないようにしましょう。
IFERROR関数の高度なテクニック
基本とVLOOKUPとの組み合わせをマスターしたら、さらに応用的な使い方にも挑戦してみましょう。IFERROR関数を他の関数と組み合わせることで、より複雑な問題もエレガントに解決できます。
IF関数との組み合わせ
「特定の条件を満たす場合のみ計算を実行し、その計算でエラーが出たら処理する」といった、条件分岐とエラー処理を組み合わせたい場合があります。このような場合は、IF関数の中にIFERROR関数を組み込みます。
たとえば、商品のステータスが「販売中」の場合のみ前年比(B2/C2)を計算し、もし計算でエラーが出たら「計算不可」、ステータスが「販売中」でなければ「対象外」と表示したいとします。
この場合の数式は =IF(A2=”販売中”, IFERROR(B2/C2, “計算不可”), “対象外”) となります。この数式は、まずIF関数でセルA2が「販売中」かどうかを判定します。真であればIFERROR関数が実行され、偽であれば「対象外」が表示されます。このように、IFERRORをIF関数の一部として使うことで、ロジックの流れを細かく制御できます。
IFERROR関数の入れ子(ネスト)
IFERROR関数を入れ子にすることで、「まず処理Aを試し、ダメなら処理Bを試す」といった段階的な処理(フォールバック)を実装できます。これは、複数のデータソースを扱う際に非常に強力なテクニックです。
例として、まず「国内商品リスト(Table1)」で商品コードを検索し、見つからなければ次に「海外商品リスト(Table2)」で検索し、どちらにもなければ「該当なし」と表示するケースを考えます。
数式は =IFERROR(VLOOKUP(A2, Table1, 2, FALSE), IFERROR(VLOOKUP(A2, Table2, 2, FALSE), “該当なし”)) のようになります。外側のIFERROR関数が最初の検索を実行し、エラーになった場合に内側のIFERROR関数が次の検索を実行します。このように処理を連鎖させることで、複雑な検索ロジックを一つの数式で実現できます。
状況別エラー処理関数の使い分け
IFERROR関数は非常に便利ですが、万能薬ではありません。状況によっては、より適切なエラー処理関数が存在します。適切なツールを使い分けることで、あなたは単なる「IFERRORを知っている人」から、「エラー処理を熟知している人」へとステップアップできます。
#N/Aエラーのみを処理するIFNA関数
Excel 2013以降で利用できるIFNA関数は、IFERROR関数の特定版です。IFERRORがあらゆるエラーを処理するのに対し、IFNA関数は#N/Aエラーのみを処理します。
VLOOKUP関数を使う場面でIFERROR関数を使うと、「データが見つからない(#N/A)」場合も、「参照範囲を間違えている(#REF!)」場合も、同じ表示になってしまいます。これでは、数式自体の重大なミスを見逃してしまうかもしれません。
一方、=IFNA(VLOOKUP(…), “該当なし”) を使えば、「データが見つからない」場合は「該当なし」と表示しつつ、もし参照範囲の間違いなどで#REF!エラーが出た場合は、エラーをそのまま表示してくれます。これにより、意図したエラーと予期せぬエラーを明確に区別でき、より安全で保守性の高いシートを作成できます。
IFERROR、IFNA、ISERRORの比較
各関数の特徴と使い分けを理解し、状況に応じて最適な関数を選択してください。
IFERROR関数は、全てのエラーを包括的に処理します。エラーの種類を問わず、一律で非表示や特定の値にしたい場合に最適で、最終的な表示を整えるのに役立ちます。Excel 2007以降で利用可能です。
IFNA関数は、#N/Aエラーのみをピンポイントで処理します。VLOOKUP関数などで「見つからない」ことと「数式自体の誤り」を明確に区別したい場合に有効で、堅牢なシート作成に貢献します。Excel 2013以降で利用できます。
IF関数とISERROR関数の組み合わせは、エラーの有無を判定し、複雑な条件分岐を行う際に使用します。IFERROR関数がない古いバージョン(2003以前)で使われるか、エラーか否かで全く異なる処理をさせたい場合に利用されます。
IF関数とISERROR関数を組み合わせた従来の方法
IFERROR関数が登場する前(Excel 2003以前)は、IF関数とISERROR関数を組み合わせてエラー処理を行うのが一般的でした。数式は =IF(ISERROR(A2/B2), 0, A2/B2) のようになります。この方法では、A2/B2という計算式を2回記述する必要があり、非効率でした。IFERROR関数は、この手間を省き、よりシンプルに数式を記述できるようにした、いわば進化版の機能なのです。
GoogleスプレッドシートでのIFERROR関数の使い方
IFERROR関数は、Googleスプレッドシートでも同様に利用できます。基本的な機能はExcelと同じですが、スプレッドシートならではの便利な使い方もあります。
Excelとの違いと基本操作
GoogleスプレッドシートのIFERROR関数は、Excelのものとほぼ同じように使えます。ただし、一つ大きな違いがあります。それは、2つ目の引数「エラーの場合の値」が省略可能である点です。
数式 =IFERROR(A2/B2) のように2つ目の引数を省略した場合、もしA2/B2がエラーになると、自動的に空白のセルが返されます。Excelで =IFERROR(A2/B2, “”) と書くのと同じ結果が、より短い記述で得られます。
ArrayFormula関数との組み合わせによる一括処理
Googleスプレッドシートの最大の特徴の一つがARRAYFORMULA関数です。この関数は、一つのセルに入力した数式を、指定した範囲全体に適用させる機能を持っています。これにより、数式を一つひとつ下にコピー&ペーストする手間がなくなります。
しかし、ARRAYFORMULAをVLOOKUPと組み合わせて列全体に適用すると、データが入力されていない下部の空の行に、大量の#N/Aエラーが表示されてしまうという問題がありました。この問題を解決するのが、IFERRORとARRAYFORMULAの組み合わせです。
たとえば、C列に入力されたIDを元に、別シートのデータ範囲から対応する名前をD列に自動表示させたいとします。この場合、D2セルに =IFERROR(ARRAYFORMULA(VLOOKUP(C2:C, ‘データシート’!A:B, 2, 0)), “”) という数式を一度入力するだけで機能します。
ARRAYFORMULAがVLOOKUP関数をC列全体に対して実行し、IFERROR関数が結果全体を監視して、すべての#N/Aエラーをまとめて空白に置き換えます。これにより、D列はエラーが表示されないクリーンな状態に保たれ、メンテナンスが不要な、非常に効率的でスケーラブルなシートを設計できます。
まとめ:エラーのない美しい資料を作成するために
この記事では、ExcelとGoogleスプレッドシートにおけるIFERROR関数の使い方を、基本から応用まで網羅的に解説しました。エラー表示は、もはやあなたの資料作成を妨げる壁ではありません。
IFERROR関数の基本は、=IFERROR(値, エラーの場合の値) というシンプルな構文で、あらゆるエラーを指定した値に置き換えることです。特に、VLOOKUP関数と組み合わせることで、#N/Aエラーをスマートに処理し、プロフェッショナルな見た目のレポートを作成するスキルは必須と言えるでしょう。
さらに、より正確なエラー処理を目指すなら、#N/Aエラーのみを対象とするIFNA関数を使い分けることも重要です。これにより、意図しない数式のミスを見逃すリスクを減らせます。また、GoogleスプレッドシートではARRAYFORMULA関数と組み合わせることで、メンテナンスフリーの自動更新シートを構築できます。
今回学んだIFERROR関数とその関連知識は、あなたの業務効率を向上させ、作成する資料の品質を高めるための強力な武器となります。今日からさっそく、エラーのない美しい資料作りを実践し、あなたの評価を一段と高めていきましょう。



クレジットカードの現金化は違法?発覚時のリスクと5つの安全な…
今すぐ現金が必要で、クレジットカードのショッピング枠を現金化する方法をお探しではありませんか。支払い…