ビジネス文書の基礎知識

Excel IFERROR関数の使い方を解説!エラーを消して資料をきれいにする方法から応用的テクニックまで

最終更新日:

iferror 関数

「時間をかけて作成したExcelの資料が、#N/Aや#DIV/0!などのエラー表示で台無し…」。そんな経験はありませんか。せっかくの分析や集計も、エラー表示が一つあるだけで、資料全体の信頼性が揺らぎ、プロフェッショナルな印象を損ないかねません。

この記事を読めば、あなたの作成する資料は常にクリーンで、エラーのない美しい仕上がりになります。これにより、あなたの仕事の評価は格段に向上し、データが持つ本来の説得力を最大限に引き出せるようになるでしょう。

この記事を最後まで読んだあなたは、単にIFERRORという一つの関数を覚えるだけではありません。エラー処理の本質を理解し、予期せぬデータ変動にも動じない、堅牢で信頼性の高いシートを自在に構築するスキルを習得します。計算エラーをスマートに処理し、見る人に分かりやすい、完成度の高い資料を作成できるようになるのです。

「関数を組み合わせるのは難しそう」と感じるかもしれません。しかし、ご安心ください。IFERROR関数は驚くほどシンプルで、直感的に使えます。

この記事では、基本的な使い方から、VLOOKUP関数との組み合わせ、さらには知られざる注意点まで、一つひとつ丁寧に、分かりやすいステップで解説します。誰でもすぐ実践できる内容なので、あなたのExcelスキルは今日から確実にワンランクアップします。

IFERROR関数とは?エラーをスマートに処理する基本

IFERROR関数は、数式がエラーになった場合に、あらかじめ指定した値や文字列を表示させるための関数です。まずは、なぜエラー表示が問題となるのか、そしてIFERROR関数の基本的な仕組みについて理解を深めましょう。

なぜエラー表示は問題なのか?

Excelのシートに#VALUE!や#DIV/0!といったエラーが表示されていると、それだけで「集計が不完全」「作業が完了していない」という印象を与えてしまう可能性があります。これは見栄えが悪いだけでなく、実用上も大きな問題を引き起こします。

最も深刻なのは、エラーが他の計算に影響を及ぼすことです。例えば、列の途中に一つでもエラーセルがあると、その列全体を合計しようとしてもSUM関数の結果までエラーになってしまいます。

このように、たった一つのエラーが原因で、資料全体の計算が成り立たなくなる連鎖反応が起こりうるのです。IFERROR関数は、こうした見た目と機能の両方の問題を解決する鍵となります。

IFERROR関数の基本的な構文と2つの引数

IFERROR関数の構文は非常にシンプルです。2つの情報(引数)を指定するだけで機能します。

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

第一引数の「値」には、エラーが発生する可能性のある数式や、エラーをチェックしたいセル参照を入力します。例えば、割り算の数式A2/B2や、VLOOKUP関数を使った数式全体がこれにあたります。

第二引数の「エラーの場合の値」には、第一引数の数式がエラーになった場合に、代わりに表示させたい値を指定します。空白にしたい場合は””、0を表示したい場合は0、特定のメッセージを表示したい場合は”計算エラー”のように文字列を指定できます。

この関数は、「まず引数1の計算を試す。もし成功すればその結果を表示し、もしエラーが出たら代わりに引数2の値を表示する」というシンプルな命令を実行します。

IFERROR関数が対応するエラーの種類一覧

IFERROR関数の優れた点は、Excelで発生するほぼ全てのエラーに対応できる包括性にあります。これにより、エラーの種類をいちいち気にする必要がありません。IFERROR関数が処理できる主なエラーは以下の通りです。

  • #N/A
    VLOOKUP関数などで検索値が見つからない場合に発生します。
  • #VALUE!
    数値と文字列をかけ合わせるなど、引数のデータ型が間違っている場合に発生します。
  • #REF!
    参照していたセルが削除されるなどして、参照先が無効になった場合に発生します。
  • #DIV/0!
    0や空白のセルで割り算を行った場合に発生します。
  • #NUM!
    Excelが扱える数値の範囲を超えた場合など、無効な数値が計算結果となった場合に発生します。
  • #NAME?
    関数名やセル範囲の名前を間違えて入力した場合に発生します。
  • #NULL!
    本来交わるはずのセル範囲の指定が、共通部分を持たない場合に発生します。

これらの多様なエラーを、IFERROR関数一つでまとめて処理できるのです。

実践!IFERROR関数の具体的な使い方3パターン

実践!IFERROR関数の具体的な使い方3パターン

IFERROR関数の使い方は、主に3つのパターンに分けられます。目的に応じて使い分けることで、より洗練された資料作成が可能になります。

パターン1:エラーを空白(非表示)にする

最もよく使われるのが、エラー表示を空白にして、見た目をすっきりとさせる方法です。第二引数「エラーの場合の値」に、ダブルクォーテーションを2つ続けた””を指定します。

例えば、前年度実績が0のために前年比が#DIV/0!エラーになっているセルがあるとします。

修正前の数式:

=C3/B3

修正後の数式:

=IFERROR(C3/B3, “”)

この数式を適用することで、エラーが表示されていたセルが空白になり、表全体がクリーンな印象になります。レポートや提出資料など、見た目の美しさが求められる場面で特に有効です。

パターン2:エラーを「0」に置き換える

エラーが出た場合に、後続の計算で使えるように数値を表示したい場合があります。その際は、第二引数「エラーの場合の値」に0を指定します。

修正後の数式:

=IFERROR(A2/B2, 0)

これにより、エラーが発生したセルには0が表示され、その列の合計などをSUM関数で正しく計算できるようになります。

ただし、この方法には注意が必要です。本来のエラー原因が隠れてしまうだけでなく、「計算結果が本当に0だった」のか、「エラーを0に置き換えた」のか区別がつかなくなる可能性があります。

例えば、売上データでエラーを0に置き換えると、売上が本当に0だったのか、データ入力ミスによるエラーなのかが判別できず、分析を誤る原因になりかねません。エラーを0に置き換えるのは、計算上「失敗=0」と見なして問題ない場合に限定して使用すべきです。

パターン3:エラーを任意のメッセージに置き換える

エラーの原因を分かりやすく伝えたい場合は、任意のメッセージを表示させるのが効果的です。第二引数「エラーの場合の値」に、表示したい文字列をダブルクォーテーションで囲んで指定します。

修正後の数式:

=IFERROR(VLOOKUP(A4, A7:D17, 2, FALSE), “該当商品無し”)

このように設定すると、VLOOKUP関数で商品が見つからなかった場合に、#N/Aの代わりに「該当商品無し」という分かりやすいメッセージが表示されます。これにより、シートを使う人がエラーの原因を直感的に理解できるようになり、操作性が向上します。

VLOOKUP関数のエラー対策はIFERROR関数が最適解

VLOOKUP関数のエラー対策はIFERROR関数が最適解

IFERROR関数が最もその真価を発揮する場面の一つが、VLOOKUP関数との組み合わせです。

VLOOKUP関数で#N/Aエラーが発生する理由

VLOOKUP関数を使っていると、#N/A(Not Available)というエラーによく遭遇します。これは、数式自体が間違っているわけではなく、検索範囲の中に検索したい値が見つからなかったことを意味します。例えば、まだ登録されていない商品コードを検索した場合など、データとしては正常な状態でも発生する、いわば「想定内のエラー」です。

IFERROR関数でVLOOKUP関数をネストする

この#N/Aエラーをスマートに処理するために、VLOOKUP関数の数式全体をIFERROR関数の中に入れてしまいます。これを関数のネスト(入れ子)と呼びます。

元のVLOOKUP関数:

=VLOOKUP(A2, $D$2:$G$10, 4, FALSE)

この数式をIFERROR関数の1番目の引数「値」にそのまま入れます。

IFERROR適用後の数式:

=IFERROR(VLOOKUP(A2, $D$2:$G$10, 4, FALSE), “データなし”)

こうすることで、VLOOKUP関数が値を見つけられずに#N/Aエラーを返した場合でも、代わりに「データなし」という指定したメッセージが表示されるようになります。

ここで重要なポイントは、VLOOKUP関数の検索範囲を絶対参照($マークをつける)にしておくことです。絶対参照にしないと、数式を下のセルにコピーした際に範囲がずれてしまい、予期せぬエラーの原因となります。

INDEX関数とMATCH関数の組み合わせにも応用可能

VLOOKUP関数よりも柔軟な検索ができるINDEX関数とMATCH関数の組み合わせでも、IFERROR関数は同様に有効です。MATCH関数が検索値を見つけられない場合に#N/Aエラーを返すため、これをIFERRORで処理します。

INDEXとMATCHを使った数式:

=IFERROR(INDEX(C:C, MATCH(A2, B:B, 0)), “該当なし”)

このエラー処理の原則は、特定の関数に限らず、エラーが発生しうるあらゆる数式に応用できる普遍的なテクニックです。

IFERROR関数を使いこなすための応用知識

基本をマスターしたら、次はより高度な使い方を学びましょう。関連する関数との違いを理解し、状況に応じて最適なものを選択することで、あなたのExcelスキルはさらに向上します。

IFERROR関数とIFNA関数の違いと使い分け

IFERROR関数とよく似た関数にIFNA関数があります。この2つの違いを理解することは、エラー処理をより精密に行う上で非常に重要です。

  • IFERROR関数:#N/A, #DIV/0!, #REF!など、全てのエラーを処理します。
  • IFNA関数:#N/Aエラーのみを処理します。

VLOOKUP関数で検索値が見つからない#N/Aエラーは処理したいけれど、数式の参照範囲を間違えたことによる#REF!エラーなど、修正が必要な予期せぬエラーは見逃したくない場合があります。このような場面でIFNA関数が役立ちます。

IFNA関数を使えば、「データが見つからない」という想定内の#N/Aエラーだけを空白やメッセージに置き換えつつ、数式自体の間違いに起因する他のエラーはそのまま表示させておくことができます。

これにより、エラーの原因特定が容易になり、数式のデバッグ(修正作業)が格段にしやすくなります。エラー処理の選択は、「全てを覆い隠す」IFERRORか、「特定の事象だけを狙い撃つ」IFNAか、という戦略的な判断になります。

機能IFERRORIFNAIF + ISERROR
対象エラー全てのエラー#N/A のみ全てのエラー
登場バージョンExcel 2007Excel 2013Excel 2003以前
数式の簡潔さ非常に簡潔非常に簡潔冗長になる
推奨される使い方全てのエラーをまとめて非表示にしたい場合VLOOKUP等で「該当なし」のみを処理したい場合旧バージョンとの互換性が必要な場合

複数の数式を試すIFERROR関数のネスト(入れ子)

IFERROR関数をネスト(入れ子)にすることで、段階的な処理を実装できます。これは、最初の数式がエラーだった場合に、次の数式を試す、というような代替処理ロジックを組むための高度なテクニックです。

例えば、まず「テーブル1」を検索し、もしそこで見つからなければ(エラーになったら)次に「テーブル2」を検索する、という処理は以下のように書けます。

=IFERROR(VLOOKUP(A2, Table1, 2, FALSE), IFERROR(VLOOKUP(A2, Table2, 2, FALSE), “どちらの表にも無し”))

この構造は、複数のデータソースを順番に参照するような複雑な要件にも対応できる、非常に強力な手法です。

Googleスプレッドシートでも同じように使える

ここで紹介したIFERROR関数の機能と構文は、Googleスプレッドシートでも全く同じように使用できます。そのため、Excelで身につけたスキルは、プラットフォームを問わず活用することが可能です。

ただし、GoogleスプレッドシートのIFERROR関数では、第二引数「エラーの場合の値」が省略可能です。省略した場合は、エラー時に自動的に空白が返されます。

IFERROR関数の注意点:安易な使用が招く落とし穴

IFERROR関数は非常に便利ですが、その手軽さゆえに、無計画に使うと思わぬ落とし穴にはまることがあります。専門家として、そのリスクも正確に理解しておく必要があります。

最大のデメリット:根本的なエラー原因を隠してしまう危険性

IFERROR関数の最大のデメリットは、本来修正すべき根本的なエラー原因を覆い隠してしまう危険性があることです。エラー表示は、多くの場合、データや数式に何らかの問題があることを知らせる重要なサインです。

例えば、VLOOKUP関数の列番号の指定を間違えて#REF!エラーが出ているのに、それをIFERRORで安易に空白にしてしまうと、数式の間違いに気づく機会を失ってしまいます。

重要なのは、「検証してから、美しく見せる」というワークフローです。まず、数式が正しく機能していることを確認し、発生するエラーが#N/Aのような想定内のものだけであることを確かめます。

その上で、最後の仕上げとしてIFERROR関数を適用するのです。エラーが出たからといって、原因を究明せずにすぐIFERRORで隠すのは、問題の先送りにしかなりません。

大規模データでのパフォーマンスへの影響

数万行に及ぶような大規模なデータセットでIFERROR関数を多用すると、ブックの再計算に時間がかかるなど、パフォーマンスに影響を与える可能性があります。IFERROR関数は全てのセルでエラーチェックの処理を追加するため、計算負荷がわずかに増加します。

本当に必要な箇所に限定して使用するか、エラーが発生する可能性を事前に減らすデータクリーニングを行うなど、設計段階での工夫が求められます。

空白セルの参照が「0」になるケース

IFERROR関数とVLOOKUP関数を組み合わせた際に、直感的でない挙動を示す特定のケースがあります。それは、VLOOKUP関数が参照した先のセルが空白だった場合、結果が空白ではなく0になってしまうという現象です。

これは、Excelの仕様上、空白セルへの参照が0として解釈されるために起こります。この問題を回避するための実用的なテクニックとして、数式の末尾に&””を追加する方法があります。

対策を施した数式:

=IFERROR(VLOOKUP(…) & “”, “”)

&””を追加することで、数式の結果が強制的に文字列に変換されます。これにより、参照先が数値であっても文字列になりますが、空白セルが意図せず0に変わってしまう事態を防ぎ、空白は空白のまま表示させることができます。これは、多くの実務者を悩ませる問題に対する、非常に有効な解決策です。

まとめ:IFERROR関数でワンランク上の資料作成を目指す

この記事では、IFERROR関数の基本から応用までを網羅的に解説しました。最後に、重要なポイントを再確認しましょう。

IFERROR関数は、あらゆる種類のエラー表示を、空白・0・指定したメッセージなどに置き換え、資料の見た目と機能性を向上させる強力なツールです。基本的な構文は=IFERROR(処理したい数式, エラー時に表示する値)と非常にシンプルです。

特にVLOOKUP関数やINDEX/MATCH関数と組み合わせることで、検索結果がない場合の#N/Aエラーをスマートに処理できます。より精密なエラー制御がしたい場合は、#N/Aエラーのみを対象とするIFNA関数を使い分けるのが効果的です。

最も重要な注意点は、エラーの原因を理解せずに安易にIFERROR関数で隠さないことです。根本的な問題をマスクしてしまい、より大きなミスにつながるリスクを常に意識してください。

IFERROR関数を正しく使いこなすことは、単にエラーを消す技術ではありません。それは、信頼性が高く、誰にとっても分かりやすい、プロフェッショナルな資料を作成するための重要なスキルです。ぜひ、今日からあなたの業務にIFERROR関数を取り入れ、資料作成のレベルを一段階引き上げてください。

この記事の投稿者:

hasegawa

ビジネス文書の基礎知識の関連記事

ビジネス文書の基礎知識の一覧を見る

\1分でかんたんに請求書を作成する/
いますぐ無料登録