会計の基礎知識

ExcelのIFERROR関数の使い方とは?エラー表示をなくし、資料の見え方を改善

公開日:

iferror

作成したExcelのレポートに表示される「#N/A」や「#DIV/0!」といったエラーメッセージ。これ一つで、資料の信頼性が揺らぎ、プロフェッショナルな印象が損なわれてしまうと感じたことはありませんか。

計算がうまくいかないだけでなく、見た目の悪さにもどかしさを覚える方は少なくないでしょう。

この記事を読めば、そうした悩みから解放されます。IFERROR関数を使いこなすことで、エラーを意図通りにコントロールし、誰に見せても恥ずかしくない、美しく整った資料を自在に作成できるようになります。

Excelのエラー処理は、一部の専門家だけが知る難しいテクニックではありません。IFERROR関数は、2つの引数を理解するだけで、誰でも簡単に使いこなせる非常に強力なツールです。

この記事では、IFERROR関数の基本的な使い方から、VLOOKUP関数との組み合わせ、さらには注意すべき点まで、具体的な業務シーンを想定しながら段階的に解説します。

読み終えるころには、エラー表示に悩まされることなく、自信を持ってデータを扱えるようになっているはずです。

Excelのエラー表示にさよなら!IFERROR関数の基本を徹底解説

Excelでデータを扱う上で避けては通れないのが、数式のエラー表示です。しかし、これらのエラーはIFERROR関数を正しく理解することで、スマートに管理できます。まずは、この便利な関数の基本から見ていきましょう。

IFERROR関数とは何か

IFERROR関数とは、その名の通り「もしエラーだったら(IF ERROR)」という条件を指定できる関数です。具体的には、数式がエラーになった場合に、あらかじめ指定した別の値や文字列を表示させる機能を持っています。

ビジネスシーンでは、売上レポートや顧客リストなど、多くの資料が作成されます。数式が入力されたセルに「#N/A」のようなエラーが表示されていると、資料全体の見た目が損なわれるだけでなく、「作業が完了していない」「集計が正しくない」といった印象を与えかねません。

IFERROR関数は、こうしたエラー表示を空白や特定のメッセージに置き換えることで、資料の完成度と信頼性を高める重要な役割を果たします。

IFERROR関数の構文

IFERROR関数の構文は非常にシンプルで、2つの引数(関数に渡す情報)を指定するだけで構成されます。

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

第1引数の「値」には、エラーが発生するかどうかをチェックしたい数式やセル参照を指定します。これは必須の項目で、例えば、割り算の式 A2/B2 や、VLOOKUP関数そのものが入ります。

第2引数の「エラーの場合の値」も必須項目です。「値」で指定した数式がエラーになった場合に、代わりに表示させたい値を指定します。指定できる値には、主に3つのパターンがあります。

一つ目は、セルを空白にする方法です。引数に “”(ダブルクォーテーション2つ)を指定すると、エラーが発生したセルは空白で表示されます。二つ目は、特定の文字列を表示させる方法です。”該当なし” や “計算エラー” のように、表示したい文字列を “” で囲んで指定します。三つ目は、特定の数値を表示させる方法で、0 などを直接指定します。これは、計算結果を後続の計算で数値として扱いたい場合に便利です。

このように、IFERROR関数は直感的な構文で、さまざまなエラー表示を柔軟にコントロールできます。

IFERRORが対応するエラーの種類

IFERROR関数の大きな特長は、特定のエラーだけでなく、Excelで発生するほぼ全てのエラーに対応できる点です。これにより、エラーの原因を一つひとつ特定しなくても、一括でエラー表示を処理できます。

以下は、IFERROR関数が対応する代表的なエラーとその原因です。この表を参考に、エラーの原因を理解した上で、適切に処理することが重要です。

エラーコード意味主な原因
#DIV/0!ゼロ除算エラー数値を0または空白のセルで割ろうとした場合に発生します。
#N/A値なしエラーVLOOKUP関数などで検索した値が見つからなかった場合に発生します。
#NAME?名前エラー関数名や参照範囲の名前を間違って入力した場合に発生します。
#REF!参照エラー数式が参照しているセルが削除された場合に発生します。
#VALUE!値エラー数値が求められる計算で文字列を使用するなど、引数の種類が違う場合に発生します。
#NUM!数値エラーExcelで扱えない大きな数値や、不正な計算(負の数の平方根など)で発生します。
#NULL!空集合エラーSUM(A1:A5 C1:C5) のように、共通部分のないセル範囲を指定した場合に発生します。

VLOOKUP関数の「#N/A」エラーを完全攻略

VLOOKUP関数はExcelで最もよく使われる関数の一つですが、同時に「#N/A」エラーに悩まされることが多い関数でもあります。IFERROR関数を組み合わせることで、この問題をスマートに解決できます。

なぜVLOOKUPで「#N/A」エラーが発生するのか

VLOOKUP関数で「#N/A」エラーが表示される主な原因は、検索範囲の中に検索したい値が存在しないためです。「#N/A」は「Not Available(利用できない)」を意味し、関数が値を見つけられなかったことを示しています。

これは必ずしも数式のミスではありません。例えば、商品マスターに未登録の商品コードを検索した場合など、業務上当然発生しうる状況です。その他、検索値と参照先のデータ型が違う(例:数値と文字列)、セルに余分なスペースが含まれているといった原因も考えられます。

実践 IFERRORで「#N/A」を空白にする方法

「#N/A」エラーを非表示にして、セルを空白に見せる方法を具体的な手順で解説します。

まず、通常通りVLOOKUP関数を入力します。この時点では、検索値が見つからない場合に「#N/A」が表示される可能性があります。

例:=VLOOKUP(A14,$G$3:$J$10,2,FALSE)

次に、このVLOOKUP関数全体をIFERROR関数の最初の引数「値」として指定します。そして、2番目の引数「エラーの場合の値」に “”(空白)を指定することで、数式は完成です。

修正後の数式:=IFERROR(VLOOKUP(A14,$G$3:$J$10,2,FALSE), “”)

この数式を入力することで、VLOOKUP関数が「#N/A」エラーを返した場合でも、セルには何も表示されなくなり、表の見た目がすっきりとします。

応用 「該当なし」「未登録」など任意の文字を表示させるテクニック

エラーを単に空白にするだけでなく、状況を伝えるメッセージを表示させることで、資料の分かりやすさは格段に向上します。

例えば、商品が見つからなかった場合に「該当商品無し」と表示させたい場合は、以下のように数式を記述します。

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

同様に、マスターデータに登録がないことを示すために「未登録」と表示することも可能です。

数式例:=IFERROR(VLOOKUP(A7, $A$13:$C$16,2,FALSE), “未登録”)

なぜ空白ではなく、あえてメッセージを表示させるのかという点が重要です。セルが空白の場合、その空白が「データが存在しない」のか、「まだ入力されていない」のか、あるいは「計算結果が0」なのか、見ただけでは判断がつきません。

一方で、「該当なし」や「未登録」といった具体的なメッセージが表示されていれば、見た人はデータの状態を即座に正しく理解できます。このように、エラーメッセージを工夫することは、単なるエラー隠しではなく、資料の使いやすさを向上させるための重要なコミュニケーション手法なのです。

ゼロ除算エラー「#DIV/0!」をスマートに回避する実践テクニック

売上比率や利益率の計算など、割り算を用いる場面で頻繁に発生するのが「#DIV/0!」エラーです。このエラーもIFERROR関数を使えば、簡単かつエレガントに処理できます。

売上比率や単価計算で「#DIV/0!」が表示される原因

「#DIV/0!」エラーは、数式が数値を0または空白のセルで割ろうとしたときに発生します。ビジネスの現場では、利益率の計算時に売上実績が0の商品があった場合や、単価の計算時に販売数量が未入力または0であった場合によく遭遇します。

また、前年比を計算する際に、比較対象の前年の売上が0だった場合も同様のエラーが発生します。これらの状況はデータが不完全な場合や、事業の初期段階で実績がない場合など、日常業務で十分に起こりうるものです。

実践 IFERRORで計算できないセルを「0」や「-」で表示する

「#DIV/0!」エラーを放置すると、その後の合計(SUM)や平均(AVERAGE)の計算にも影響が及ぶ可能性があります。IFERROR関数を使って、エラーを意味のある値に置き換えましょう。

まず、エラーが発生する可能性のある割り算の式を用意します。

例:=A2/B2 (B2セルが0または空白の場合)

計算結果を後続の計算で使いたい場合は、エラーの場合に 0 を返すように設定します。これにより、SUM関数などでエラーが発生するのを防げます。

数式例:=IFERROR(A2/B2, 0)

表の見た目を重視し、計算が不能であることを示したい場合は、「-」(ハイフン)などの記号を表示させるのが効果的です。

数式例:=IFERROR(B3/C3, “-“)

もちろん、前述のVLOOKUP関数の例と同様に、空白にすることも可能です。

数式例:=IFERROR(B3/C3, “”)

このように、目的に応じてエラー時の表示を使い分けることで、データの整合性を保ちつつ、見やすいレポートを作成できます。

状況で使い分けるエラー処理関数の選び方

状況で使い分けるエラー処理関数の選び方

IFERROR関数は非常に万能ですが、エラー処理には他にもいくつかの関数が存在します。それぞれの特性を理解し、状況に応じて最適な関数を使い分けることで、より高度で安全なデータ管理が可能になります。

「#N/A」だけを処理したいなら IFNA関数の使い方

IFNA関数は、Excel 2013から導入された、「#N/A」エラーのみを対象とするエラー処理関数です。IFERROR関数がすべてのエラーを捕捉するのに対し、IFNA関数はVLOOKUP関数などで値が見つからなかった場合に発生する「#N/A」だけを処理し、それ以外のエラー(例えば #REF! や #VALUE!)はそのまま表示します。

この特性が、数式の誤りを見つけて修正するデバッグ作業において大きな利点となります。例えば、VLOOKUP関数の参照範囲の指定を誤って #REF! エラーが発生したとします。IFERROR関数を使っていると、この #REF! エラーも隠蔽してしまうため、根本的な原因に気づかず、「値が見つからないだけ」と誤解してしまう可能性があります。

一方、IFNA関数を使っていれば、「#N/A」以外のエラーは表示されるため、数式自体の問題に迅速に気づくことができます。

Excel 2003以前の古い手法 IF関数とISERROR関数の組み合わせ

IFERROR関数がExcel 2007で登場する以前は、IF関数とISERROR関数を組み合わせてエラー処理を行うのが一般的でした。ISERROR関数は、セルがエラーかどうかを判定し、エラーであればTRUE(真)、そうでなければFALSE(偽)を返す関数です。

この組み合わせの構文は以下のようになり、IFERROR関数に比べて複雑です。

構文例:=IF(ISERROR(A1/B1), “”, A1/B1)

この手法の最大の欠点は、同じ数式(この例では A1/B1)を2回記述する必要があることです。VLOOKUPのような長い数式の場合、記述が煩雑になるだけでなく、修正時に片方を直し忘れるといったミスも起こりやすくなります。この比較からも、IFERROR関数がいかに画期的であったかが分かります。

IFERROR, IFNA, ISERRORの使い分け早見表

これら3つの関数の違いを理解し、適切に使い分けるための早見表を以下に示します。この表を参考に、自身の目的や使用環境に最適な関数を選択してください。

特徴IFERRORIFNAIF + ISERROR
処理対象のエラーすべてのエラー#N/A のみすべてのエラー
主な用途全般的なエラー処理、計算式VLOOKUPなどの検索関数に特化旧バージョンとの互換性維持
構文の簡潔さ非常に簡潔 =IFERROR(数式, 値)非常に簡潔 =IFNA(数式, 値)複雑 =IF(ISERROR(数式), 値, 数式)
Excelバージョン2007以降2013以降すべてのバージョン
注意点意図しない数式のエラーも隠す可能性検索以外のエラーは見逃さない冗長でミスを誘発しやすい

IFERROR関数の安易な使用が招くリスク

IFERROR関数は非常に便利ですが、その手軽さゆえに無計画に使うと、かえって重大な問題を引き起こす可能性があります。ここでは、専門家として知っておくべきIFERROR関数のリスクと、その対策について解説します。

エラーは重要なサイン すべてを隠蔽するデメリット

Excelが表示するエラーメッセージは、単なる見栄えの悪い記号ではありません。それは「データや数式に何らかの問題がある」ことを知らせる重要なサインです。

IFERROR関数を安易に使うことの最大の危険性は、この重要なサインをすべて隠蔽してしまうことにあります。例えば、参照先のセルを誤って削除してしまったために発生した #REF! エラーや、計算に文字列を使ってしまった #VALUE! エラーも、IFERROR関数は区別なく処理してしまいます。

その結果、表面上はエラーが見えなくても、裏では誤った計算結果が算出され続け、データの信頼性が根本から損なわれるという事態を招きかねません。

内部確認用資料と提出用資料での使い分け

では、IFERROR関数はどのように使えばよいのでしょうか。答えは、「資料の目的と閲覧者に応じて使い分ける」ことです。

経営層や顧客に提出するレポートなど、結果を分かりやすく伝えることが目的の資料では、IFERROR関数を積極的に活用しましょう。エラー表示はノイズとなり、本質的な情報の伝達を妨げるため、空白や「-」などに置き換えて見た目を整えることには大きな意味があります。

一方、データの整合性をチェックしたり、問題の原因を分析したりするための作業用シートでは、原則としてIFERROR関数は使うべきではありません。エラーをあえて表示させておくことで、データの異常や数式の不備にいち早く気づき、根本原因を特定して修正することができます。

この使い分けは、単なるExcelのテクニックにとどまりません。初心者がエラーを「消すべきもの」と捉えるのに対し、熟練者はエラーを「調査すべきもの」と捉えます。エラーに直面したとき、すぐにIFERRORで隠すのではなく、「なぜこのエラーが出たのか?」と考える習慣をつけることが、データ分析の精度を高め、より信頼性の高い成果を生み出すための第一歩です。

Googleスプレッドシートでも活躍!IFERROR関数の使い方

Googleスプレッドシートでも活躍!IFERROR関数の使い方

IFERROR関数はExcelだけでなく、Googleスプレッドシートでも同様に利用でき、非常に強力な機能を発揮します。特に、スプレッドシート特有の関数と組み合わせることで、作業効率を飛躍的に向上させることができます。

Excelとの違いと基本的な使用方法

GoogleスプレッドシートにおけるIFERROR関数の基本的な構文と機能は、Excelとほぼ同じです。これまで解説してきたVLOOKUP関数の「#N/A」エラー処理や、ゼロ除算エラーの回避方法は、そのままスプレッドシートでも応用できます。

わずかな違いとして、Googleスプレッドシートでは2番目の引数 [value_if_error] がオプション(任意)であり、省略した場合はエラーのセルが自動的に空白になります。

ARRAYFORMULAとの組み合わせで複数セルのエラーを一括処理

Googleスプレッドシートの大きな特徴の一つに、ARRAYFORMULA関数があります。これは、一つの数式で複数のセルの計算をまとめて行える強力な関数です。IFERROR関数と組み合わせることで、その真価を発揮します。

例えば、E3からE18の値をD3からD18の値でそれぞれ割る場合、ARRAYFORMULAを使うと以下の1つの数式で済みます。

数式例:=ARRAYFORMULA(E3:E18/D3:D18)

しかし、この方法ではD列に0や空白のセルがあると、対応する行に「#DIV/0!」エラーが表示されてしまいます。そこで、IFERROR関数を組み合わせます。ARRAYFORMULAの内側にIFERRORを配置することで、範囲内のすべての計算に対してエラー処理を一括で適用できます。

修正後の数式:=ARRAYFORMULA(IFERROR(E3:E18/D3:D18))

この組み合わせは、Googleスプレッドシートを効率的に使う上で非常に重要です。数百、数千行にわたるデータでも、たった一つの数式で計算とエラー処理を完結させられるため、Excelで数式を一つひとつコピー&ペーストするのに比べて、メンテナンス性や可読性が劇的に向上します。

まとめ IFERROR関数をマスターして、ワンランク上のExcelスキルを

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

  • IFERROR関数は数式のエラーを検知し、指定した値に置き換えるツールです。
  • VLOOKUP関数の「#N/A」や割り算の「#DIV/0!」エラー処理に特に有効です。
  • 検索関数には「#N/A」のみを処理するIFNA関数を使うとより安全です。
  • 提出用資料では見た目を整え、分析用資料ではエラーを表示させ問題を特定します。
  • GoogleスプレッドシートではARRAYFORMULA関数との組み合わせが強力です。

IFERROR関数を正しく理解し、使いこなすことは、単にエラーを消す技術ではありません。それは、データの品質を管理し、より信頼性が高く、分かりやすい資料を作成するための思考法を身につけることです。ここで得た知識を活用し、あなたのExcelスキルをさらに高いレベルへと引き上げてください。

この記事の投稿者:

hasegawa

会計の基礎知識の関連記事

会計の基礎知識の一覧を見る

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