Excelで数式の結果がエラーになった場合、そのまま表示されると見栄えが悪くなります。IFERROR関数やIFNA関数を使えば、エラー発生時に特定の値を表示できます。しかし、これらの関数を誤って使うと、本来確認すべきエラーを見逃す可能性があります。この記事では、IFERROR関数とIFNA関数の違いと、それぞれの適切な使い方を解説します。意図しないエラーの隠蔽を防ぎ、正確なデータ分析を行うための知識を習得できます。
Excelでのエラー処理は、データ分析の正確性を高める上で重要です。特に、IFERROR関数とIFNA関数は、エラー発生時の代替値を指定できる便利な機能です。これらの関数を理解し、適切に使い分けることで、より洗練されたワークシートを作成できます。本記事を読めば、これらの関数を正確に理解し、効果的に活用できるようになるでしょう。
ADVERTISEMENT
目次
IFERROR関数とIFNA関数の基本機能
Excelにおけるエラー処理関数は、数式がエラーを返した場合に、そのエラー値の代わりに指定した値を表示する機能を提供します。
これにより、ワークシートの見た目を整えたり、エラー発生時の代替処理を定義したりできます。IFERROR関数とIFNA関数は、このエラー処理を行う代表的な関数です。
IFERROR関数とIFNA関数の違いと仕組み
IFERROR関数とIFNA関数は、どちらも数式のエラーを捕捉して代替値を表示する機能を持っています。しかし、捕捉するエラーの種類に違いがあります。
この違いを理解することが、適切な使い分けの鍵となります。
IFERROR関数が捕捉するエラー
IFERROR関数は、Excelで発生するほぼ全てのエラー値を捕捉します。これには、#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL! などが含まれます。
数式の結果がこれらのいずれかのエラーになった場合、IFERROR関数は指定された代替値を返します。そのため、汎用的なエラー処理に適しています。
IFNA関数が捕捉するエラー
IFNA関数は、IFERROR関数よりも限定的なエラーのみを捕捉します。具体的には、#N/Aエラーのみを対象とします。
#N/Aエラーは、主にVLOOKUP関数、HLOOKUP関数、MATCH関数、XLOOKUP関数などが、検索対象のデータを見つけられなかった場合に発生します。IFNA関数は、この#N/Aエラーに特化した処理を行いたい場合に利用します。
IFERROR関数とIFNA関数の使い分け
IFERROR関数とIFNA関数のどちらを使うべきかは、どのようなエラーを処理したいかによって決まります。
それぞれの関数が適している状況を理解することが重要です。
IFERROR関数が適しているケース
IFERROR関数は、数式から発生する可能性のあるあらゆる種類のエラーをまとめて処理したい場合に有効です。例えば、複数の関数が組み合わさった複雑な数式や、外部データソースからの参照など、予期しないエラーが発生しやすい状況で利用します。
「エラーが発生したら、とにかく『データなし』と表示したい」といった、エラーの種類を問わない一括処理を行いたい場合に最適です。
IFNA関数が適しているケース
IFNA関数は、特に検索関数で「データが見つからない」という#N/Aエラーのみを区別して処理したい場合に推奨されます。例えば、VLOOKUP関数で商品コードを検索し、商品コードが存在しない場合にのみ「該当なし」と表示したい場合などです。
他の種類のエラー(例: #DIV/0!)は、データの問題ではなく数式の誤りを示唆している場合があるため、それらはそのまま表示させて、原因究明に役立てたいという意図がある場合に適しています。
ADVERTISEMENT
IFERROR関数を使ったエラー処理の手順
IFERROR関数は、数式全体をその関数で囲むことで適用します。以下に具体的な手順を示します。
- エラー処理したい数式を作成する
例えば、セルA1をB1で割る数式「=B1/A1」を作成します。A1が0の場合、#DIV/0!エラーが発生します。 - IFERROR関数で数式を囲む
作成した数式「=B1/A1」をIFERROR関数で囲み、エラー発生時の代替値として「0」を指定します。数式は「=IFERROR(B1/A1, 0)」となります。 - Enterキーで確定する
数式を入力したセルに、エラー値の代わりに指定した代替値が表示されます。
IFNA関数を使ったエラー処理の手順
IFNA関数も、IFERROR関数と同様に、エラー処理したい数式を関数で囲んで適用します。以下に手順を示します。
- #N/Aエラーが発生する可能性のある数式を作成する
例えば、セルA1にある商品コードを、範囲B1:C5から検索する数式「=VLOOKUP(A1, B1:C5, 2, FALSE)」を作成します。A1の商品コードがB1:B5に見つからない場合、#N/Aエラーが発生します。 - IFNA関数で数式を囲む
作成した数式「=VLOOKUP(A1, B1:C5, 2, FALSE)」をIFNA関数で囲み、#N/Aエラー発生時の代替値として「商品コードが見つかりません」と表示させます。数式は「=IFNA(VLOOKUP(A1, B1:C5, 2, “商品コードが見つかりません”))」となります。 - Enterキーで確定する
数式を入力したセルに、#N/Aエラーの代わりに指定した代替値が表示されます。
意図しないエラーの隠蔽を防ぐための注意点
IFERROR関数やIFNA関数は便利ですが、使い方を誤ると問題が発生する可能性があります。特に、エラーを安易に隠蔽してしまうことには注意が必要です。
以下に、注意すべき点を挙げます。
IFERROR関数による他のエラーの隠蔽
IFERROR関数は、#N/Aエラーだけでなく、#VALUE!、#REF!、#DIV/0!などの他のエラーもすべて代替値に置き換えてしまいます。これにより、数式の本来の問題点やデータ上の異常を見逃す可能性があります。
例えば、本来「0」で割ってはいけないデータがあるのに、IFERROR関数で#DIV/0!エラーを「0」に置き換えてしまうと、そのデータ上の問題に気づけなくなります。これは、データ分析の精度を低下させる原因となります。
IFNA関数で#N/A以外のエラーを見逃す
IFNA関数は#N/Aエラーに特化しているため、それ以外のエラーはそのまま表示されます。これは意図した動作ですが、もし検索関数以外で発生したエラーもまとめて処理したい場合には、IFNA関数だけでは対応できません。
意図しないエラーが数式内に潜んでいる場合、IFNA関数ではそれらを隠蔽しないため、原因究明には役立ちますが、エラー処理の目的によっては不十分となることがあります。
エラー発生時の代替値の選択
エラー発生時に表示する代替値は、そのデータが持つ意味を考慮して慎重に選択する必要があります。単に空白にする、0にする、あるいは「エラー」と表示するだけでは、後でその意味を理解できなくなる可能性があります。
例えば、検索で見つからなかった場合に「該当なし」と表示するのは適切ですが、計算結果がエラーになった場合に「0」と表示すると、本来「0」であるべき結果と区別がつかなくなることがあります。代替値は、その値が何を意味するのかを明確にするものであるべきです。
IFERROR関数とIFNA関数の比較表
両関数の違いを、以下の表にまとめました。
| 項目 | IFERROR関数 | IFNA関数 |
|---|---|---|
| 捕捉するエラーの種類 | ほぼ全てのエラー (#N/A, #VALUE!, #REF!, #DIV/0! など) | #N/Aエラーのみ |
| 主な用途 | 汎用的なエラー処理、エラーの包括的な隠蔽 | 検索関数における「見つからない」エラーの特定処理 |
| 長所 | 幅広いエラーに対応でき、簡潔に記述できる | #N/Aエラーを明確に区別して処理できる |
| 短所 | 他の種類のエラーを見逃す可能性がある | #N/A以外のエラーには対応できない |
| 代替値の指定 | エラー発生時に表示する値を指定 | #N/Aエラー発生時に表示する値を指定 |
まとめ
IFERROR関数とIFNA関数は、Excelでのエラー処理を効率化する強力なツールです。IFERROR関数はあらゆる種類のエラーを、IFNA関数は#N/Aエラーのみを捕捉します。
これらの関数を適切に使い分けることで、ワークシートの可読性を向上させ、データ分析の精度を高めることができます。エラーを隠蔽しすぎず、必要なエラーは適切に表示させるバランス感覚が重要です。今後は、これらの関数を状況に応じて使い分け、より堅牢なExcelファイルを作成することを目指しましょう。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
