はじめに
Excelで関数を使っていると「エラー表示」に悩まされることがあります。
「#N/A」や「#DIV/0!」などが出ると不安になりますが、IFERRORやIFNAを使えば初心者でも安心してエラーを処理できます。
この記事では、両者の違いと使い分けを初心者向けにやさしく解説します。
IFERROR関数とは?:「もしエラーなら、代わりの値を表示する」
IFERRORは、計算式でエラーが発生したときに、代わりの値を表示する関数です。
たとえば、割り算で0を使ってしまったり、参照するセルが空白だったりすると、Excelはエラーを表示します。
そんなときでも、IFERRORを使えば「計算不可」「未入力」などのわかりやすいメッセージに置き換えることができ、見た目も整います。
IFERROR関数の使い方と活用例
目的:計算式でエラーが出たときに、見やすいメッセージや代替値を表示する。
基本構文
=IFERROR(計算式, エラー時に表示する値)
具体例
例:割り算で0除算エラーを防ぐ
=IFERROR(A1/B1, "計算不可")
例:空白セルが原因のエラーを防ぐ
=IFERROR(A1+B1, "未入力")
IFNA関数とは?:「#N/Aエラー」だけを処理する
IFNAは、「計算結果が#N/Aエラーだった場合に、代わりの値を表示する」関数です。
IFERRORがすべてのエラーに対応するのに対し、IFNAは「#N/A」だけに特化しています。
IFNAの基本構文
=IFNA(計算式, #N/Aのときに表示する値)
よく使われる場面
- VLOOKUPやXLOOKUPで該当データが見つからないとき
- 他の関数で「#N/A」が出る可能性があるとき
使用例
=IFNA(VLOOKUP(A2, 商品一覧!A:B, 2, FALSE), "該当なし")
この式では、VLOOKUPが「#N/A」になった場合に「該当なし」と表示されます。
他のエラー(#DIV/0! や #VALUE!)には反応しません。
使い分けのポイント
| 状況 | おすすめ関数 | 理由 |
|---|---|---|
| 検索系関数で「該当なし」だけ処理したい | IFNA | 他のエラーはそのまま表示できる |
| 計算式で「0除算」や「空白セル」など複数のエラーが出る | IFERROR | 万能型で安心 |
| エラーの原因を特定したい | IFNA | 原因を隠さず明示できる |
| 見た目を整えたい | IFERROR | どんなエラーでも統一表示できる |
実務での活用例
請求書作成
- 商品コードが存在しない場合 → IFNAで「該当なし」表示
- 数量や金額計算でエラーが出る場合 → IFERRORで「計算不可」表示
顧客リスト管理
- 顧客番号検索 → IFNAで「未登録」表示
- 数式エラー → IFERRORで「確認してください」表示
関連記事
まとめ
- IFERROR:すべてのエラーをまとめて処理
- IFNA:#N/Aだけを対象に処理
初心者はまず「IFERROR」で安心感を得て、慣れてきたら「IFNA」で細かく使い分けると良いでしょう。
使用例で比較
VLOOKUPで該当データがないとき
=IFERROR(VLOOKUP(A2, 商品一覧!A:B, 2, FALSE), "該当なし")
=IFNA(VLOOKUP(A2, 商品一覧!A:B, 2, FALSE), "該当なし")
結果はどちらも同じですが、IFNAの方がスマートです。というのも、VLOOKUPが返すエラーは基本的に「#N/A」だけなので、IFNAだけで十分に対応できます。IFERRORを使うと他の種類のエラーも捕捉してしまうため、意図しない処理になる可能性があります。
割り算など、他のエラーも出る場合
=IFERROR(A1/B1, "計算不可")
IFERRORが適切:0除算など、#DIV/0!エラーに対応できる。
VLOOKUPのエラーを見分けるには?
IFNA関数で「該当なし」だけをスマートに処理する方法
ExcelでVLOOKUP関数を使っていると、検索結果が見つからないときに「#N/A」というエラーが表示されます。
このエラーは「該当データがない」という意味ですが、見た目が悪く、資料として使いづらく感じることもあります。
そこで便利なのが、IFNA関数です。
「#N/Aだけを処理する」関数なので、他のエラーとの区別がつきやすく、原因の特定にも役立ちます。
IFERRORとIFNA、どちらを使うべき?
| 関数 | 対応するエラー | 特徴 |
|---|---|---|
| IFERROR | すべてのエラー(#N/A, #REF!, #VALUE!など) | 万能だが、原因が隠れてしまうことも |
| IFNA | #N/Aのみ | 該当なしだけを明確に処理できる |
IFERRORで起こりがちな「見えないエラー」
たとえば、以下のような式を使った場合
=IFERROR(VLOOKUP(A2, 商品一覧!A:B, 3, FALSE), "該当なし")
この式は「3列目」を指定していますが、範囲 A:B は2列しかないため、#REF!エラーが出ます。
しかし、IFERRORを使うと「該当なし」と表示されてしまい、本当の原因(列番号ミス)が見えなくなります。
IFNAなら「該当なし」だけを処理できる
=IFNA(VLOOKUP(A2, 商品一覧!A:B, 2, FALSE), "該当なし")
この式では、検索結果が見つからないときだけ「該当なし」と表示され、
それ以外のエラー(列番号ミス、範囲指定ミスなど)はそのまま表示されるため、原因の特定がしやすくなります。
実務での使い分けポイント
- VLOOKUPやXLOOKUPなどの検索系関数にはIFNAが最適
→ 該当なしだけを処理し、他のエラーは見逃さない - 複雑な計算式や割り算など、複数のエラーが出る可能性がある場合はIFERRORが便利
→ 見た目を整える目的で使う
まとめ:エラーの「意味」を見極めるために
IFERRORは便利な関数ですが、すべてのエラーを一括で処理してしまうため、
本来の原因が隠れてしまうことがあります。たとえば、列番号の指定ミスによる#REF!エラーや、範囲の記述ミスによる#VALUE!エラーなども、すべて「該当なし」と表示されてしまうと、何が間違っているのか気づきにくくなります。
一方、IFNAは「#N/A」エラーだけをスマートに処理できるため、他のエラーはそのまま表示され、原因の特定や修正がしやすくなります。
「エラーを隠す」のではなく、「エラーの意味を見極める」ために、IFNAを使うという選択肢をぜひ覚えておきましょう。
特に、VLOOKUPにまだ慣れていない初心者の方は、まずIFNAを使うのがおすすめです。
検索結果が見つからないときだけ「該当なし」と表示されるので、他の構文ミスや設定ミスを見逃さずに済み、学習にもつながります。
実務で使える IFERROR / IFNA 活用例
割り算で「0除算エラー」を防ぎたい(集計系)
目的:売上÷件数などの計算で、件数が0のときに「#DIV/0!」を避ける。
=IFERROR(売上/件数, "計算不可")
IFERRORが便利:0除算による #DIV/0! を防げる。
空白セルで「未入力」と表示したい(入力チェック)
目的:計算式に使うセルが空白のとき、「未入力」と表示して確認しやすくする。
=IFERROR(A1+B1, "未入力")
IFERRORが有効:空白による #VALUE! エラーを回避。
複雑な計算式で「エラーを隠す」より「見やすく整える」
目的:複数の関数を組み合わせた式で、どこかにエラーが出ても「処理中」などの表示にする。
=IFERROR(複雑な計算式, "処理中")
IFERRORが安心:どんなエラーでも見た目を整えられる。
商品マスタにないコードを見分けたい(データ検証)
目的:入力された商品コードがマスタに存在しない場合、「コード不明」と表示する。
=IFNA(VLOOKUP(商品コード, 商品マスタ!A:B, 2, FALSE), "コード不明")
IFNAで明確に対応:#N/Aだけを処理するので、他のエラーは見逃さない。
IFERRORを使うときの注意点
- 本当にエラーでいいのか?
データが間違っている場合は、IFERRORで隠すよりも修正が優先です。 - 空欄にするか、メッセージを出すか?
「""」で空欄にするか、「該当なし」などの文言を入れるかは、用途に応じて選びましょう。 - 他の関数との組み合わせも便利
IFERRORはVLOOKUPだけでなく、INDEX・MATCH・計算式などにも使えます。
まとめ:IFERRORで「見た目も中身もスマートなExcel」に
IFERRORは、ただエラーを隠すだけでなく、ユーザーにとってわかりやすい表示をするための工夫です。
実務での信頼性を高め、資料の完成度もアップします。
「エラーが出たら終わり」ではなく、「エラーが出ても安心」なExcelを目指しましょう!
請求書、名簿、商品一覧…Excelでよく使う『表』の中から、必要な情報を自動で取り出すには?
そんなときに活躍するのが、VLOOKUP関数です。
次の記事では、実務でも役立つ“検索の魔法”をわかりやすく解説します!