IFERROR・IFNA関数で、見た目も使い勝手も整える!
Excelで関数を使っていると、意図しないエラーが表示されて困ることがあります。
「計算式がうまくいかないとき、見た目が悪くなってしまう…」
「#N/A や #DIV/0! が並んでいて、何が正しいのか分かりづらい…」
そんな悩みをスマートに解決してくれるのが、Excelの便利関数
IFERROR(イフエラー) と IFNA(イフエヌエー) です。
この記事では、エラーを「困った表示」から「わかりやすいメッセージ」に変える方法として、
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!)には反応しません。
IFERRORとIFNAの違いと使い分け
IFERRORとIFNAの使い分けガイド
どちらも「エラー対策」の関数
Excelで計算式を使うと、入力ミスや未入力でエラーが出ることがあります。
IFERRORとIFNAは、そんなときに「代わりの値」を表示してくれる便利な関数です。
基本の違い
比較項目 | IFERROR | IFNA |
---|---|---|
対応するエラー | すべてのエラー(#N/A, #DIV/0!, #VALUE!など) | #N/Aのみ |
主な用途 | 幅広いエラー対策 | 検索系関数(VLOOKUP, XLOOKUP)と相性◎ |
安全性 | 万能だが、意図しないエラーも隠す可能性あり | 限定的だが、意図通りの動作になりやすい |
使用例で比較
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, XLOOKUP) | IFNA | #N/Aだけを処理すればOKだから |
複雑な計算式・割り算 | IFERROR | 複数種類のエラーに対応できる |
エラーの種類を限定したい | IFNA | 他のエラーは見逃したいときに便利 |
とりあえず全部のエラーを防ぎたい | IFERROR | 万能型で安心 |
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 | 計算式・集計・複雑な処理 | すべてのエラー |
IFNA | 検索系(VLOOKUP, XLOOKUP) | #N/Aのみ |
IFERRORを使うときの注意点
- 本当にエラーでいいのか?
データが間違っている場合は、IFERRORで隠すよりも修正が優先です。 - 空欄にするか、メッセージを出すか?
「""」で空欄にするか、「該当なし」などの文言を入れるかは、用途に応じて選びましょう。 - 他の関数との組み合わせも便利
IFERRORはVLOOKUPだけでなく、INDEX・MATCH・計算式などにも使えます。
まとめ:IFERRORで「見た目も中身もスマートなExcel」に
IFERRORは、ただエラーを隠すだけでなく、ユーザーにとってわかりやすい表示をするための工夫です。
実務での信頼性を高め、資料の完成度もアップします。
「エラーが出たら終わり」ではなく、「エラーが出ても安心」なExcelを目指しましょう!