Excel作業をしていて、「#N/A」エラーが出た際の対処法の一つであるIFNA関数について解説しします。
- IFNA関数の基本的な使い方:
構文と役割を理解できます。 - 具体的な活用例:
VLOOKUPやMATCH関数と組み合わせた実践的な使い方をマスターできます。 - IFERROR関数との違い:
似ているようで全く違う、両者の違いと使い分けが分かります。 - 注意点とメリット:
IFNA関数を使う上での注意点や、活用シーンを知ることができます。
IFNA関数とは?超シンプルな基本のキ
IFNA関数は、数式の結果が「#N/A」エラーだった場合に、指定した値に置き換えてくれる役割を持っています。
この関数は、特にデータの検索や参照を行う関数(VLOOKUP、MATCH、XLOOKUPなど)とセットでよく使用します。
関数の基本形(構文)
=IFNA(値, エラーの場合の値)
- 値:エラーをチェックしたい元の数式やセルを指定します。
- エラーの場合の値: もし
値
が「#N/A」になった場合に表示させたい内容を指定します。数字、文字、空白(””)などを指定できます。
たとえば、=IFNA(A1, “エラーです”)と入力すると、もしA1セルが「#N/A」なら「エラーです」と表示され、そうでない場合はA1セルの値がそのまま表示されます。
IFNA関数の便利な使い方:具体的な使用例でマスターしよう!

ここからは、実際にIFNA関数を使った具体的な例をいくつか見ていきましょう。
【使用例1】VLOOKUP関数と組み合わせて検索結果をスッキリさせる
VLOOKUP関数は、指定した値がリスト内にあるかを探し、関連する情報を取得する関数です。
以下の「社員リスト」を使って、社員番号から部署名を検索してみましょう。

別のセルに社員番号を入力し、部署名を検索します。
社員番号「101」を検索する場合
=VLOOKUP(101, A2:B5, 2, FALSE)
この数式は正常に動作し、結果は「営業部」と表示されます。

存在しない社員番号「200」を検索する場合
=VLOOKUP(200, A2:B5, 2, FALSE)
この数式を実行すると、参照先の表に「200」がないため、以下のように「#N/A」エラーが返ってきます。


ここでIFNA関数の出番です!
=IFNA(VLOOKUP(200, A2:B5, 2, FALSE), “該当なし”)

この数式は、VLOOKUP関数の結果が「#N/A」だった場合に、「該当なし」という文字を表示するように指示しています。
エラー表示が消えて、見やすくなりましたね。
【使用例2】検索結果がなければ空白にする
「該当なし」という文字すら表示させたくない、空白にしたいという場合は、エラーの場合の値に“”(ダブルクォーテーションを2つ連続で入力)を指定します。
=IFNA(VLOOKUP(200, A2:B5, 2, FALSE), “”)

このようにすることで、エラーが返されたセルは何も表示されず、空白になります。
【使用例3】IFNA関数とMATCH関数を組み合わせる
MATCH関数も、特定の値をリスト内で探し、その位置を返す関数です。
MATCH関数も、見つからない場合は「#N/A」エラーを返します。
以下の「売上データ」から、特定の商品の位置を検索してみましょう。

商品名「C商品」が何番目にあるかを調べたい場合:
=MATCH(“C商品”, B2:B6, 0)

この数式の結果は「3」となります(リストの3番目にあるため)。
商品名「D商品」が何番目にあるかを調べたい場合:
=MATCH(“D商品”, B2:B6, 0)

結果は「#N/A」エラーです。このエラーを処理するためにIFNA関数を使います。
=IFNA(MATCH(“D商品”, B2:B6, 0), “見つかりません”)

これで、商品が見つからない場合に「見つかりません」と表示され、見た目がすっきりします。
【使用例4】IFNA関数とXLOOKUP関数を組み合わせる
XLOOKUP関数はVLOOKUP関数の進化版で、より柔軟な検索が可能です。XLOOKUPも、見つからない場合は「#N/A」エラーを返します。
以下の「顧客リスト」から、顧客IDを検索し、対応する契約プランを取得してみましょう。

検索したい顧客ID:1004
=XLOOKUP(1004, A2:A4, B2:B4)

この数式を実行すると、リストに「1004」がないため、「#N/A」エラーが返ってきます。
このエラーをIFNA関数で処理し、「該当なし」と表示させます。
=IFNA(XLOOKUP(1004, A2:A4, B2:B4), “該当なし”)

このように、IFNA関数を使うことで、XLOOKUP関数の結果が「#N/A」になった場合に、「該当なし」という文字を表示できます。
補足:XLOOKUPの「見つからない場合」の引数
XLOOKUP関数には、第4引数として「見つからない場合」を指定する機能があります。
=XLOOKUP(1004, A2:A4, B2:B4, “該当なし”)

XLOOKUP単体でエラー処理ができるため、IFNA関数とXLOOKUPを組み合わせることは必須ではありません。
しかし、旧バージョンとの互換性を持たせたい場合や、数式の意図をより明確にしたい場合に、あえてIFNA関数を使うこともあります。
IFNA関数とIFERROR関数の違いを理解しよう!
Excelには、IFNA関数と似た「IFERROR関数」があります。
どちらもエラーを処理する関数ですが、処理できるエラーの種類に大きな違いがあります。
- IFNA関数:
「#N/A」エラーのみを処理します。 - IFERROR関数:
#N/Aだけでなく、すべてのエラーを処理します。(例:#VALUE!、#REF!、#DIV/0!など)

IFNA関数を使うメリット:数式ミスに気づきやすい
例えば、VLOOKUPの数式を間違えた結果、#VALUE!エラーが発生したとします。
IFERROR関数を使っていると、この#VALUE!エラーも「該当なし」や「空白」と表示されてしまい、「なぜエラーが出たのか?」という原因に気づきにくくなります。
一方、IFNA関数を使っていれば、#VALUE!エラーはそのまま表示されるので、「あれ、何か数式がおかしいぞ」とすぐに間違いに気づき、原因を突き止めることができるのです。
補足:IFNA関数の注意点と活用シーン

IFNA関数はとても便利ですが、いくつかの注意点も覚えておきましょう。
注意点
- Excelのバージョン:
IFNA関数はExcel2013以降のバージョンでしか利用できません。
もし古いバージョンを使っている場合は、IFERROR関数を使うか、IF関数とISNA関数を組み合わせる必要があります。 - 「#N/A」以外のエラーはそのまま:
前述の通り、#VALUE!や#REF!などのエラーはIFNA関数では処理されません。 - 計算負荷:
大量のデータに対してIFNA関数を適用すると、処理が少し重くなる場合があります。
大量のデータを扱う際は、パフォーマンスも考慮して関数を設計しましょう。
活用シーン
- VLOOKUPやXLOOKUPの検索結果を美しく整形したいとき:
検索対象が見つからない場合に「該当なし」や空白に置き換えることで、見た目をスッキリさせます。 - 複数のデータを統合する際のエラー処理:
複数のシートやブックからデータを統合する際に、「#N/A」エラーが表示されることがあります。IFNA関数を使って、不要なエラー表示を非表示にできます。 - データの照合・突合作業:
二つのリストを照らし合わせる際に、一方のリストにないデータを特定する目的で、IFNA関数を使うことがあります。
まとめ:IFNA関数はVLOOKUPとセットで覚えておこう!

この記事では、IFNA関数の基本的な使い方から、VLOOKUPやMATCH関数と組み合わせる便利な方法、そしてIFERROR関数との違いについて解説しました。
- IFNA関数は「#N/A」エラーを、指定した値(文字や空白など)に置き換える関数。
- VLOOKUPやMATCH関数とセットで使うのが定番。
- IFERROR関数は「#N/A」を含むすべてのエラーを処理する。
- 数式の間違いに気づきたいなら、IFNA関数を使うのがおすすめ。
これで、面倒なエラー表示に悩まされることなく、スッキリと見やすい表を作成できますね。
ぜひ、今日からIFNA関数をExcel作業に活用してみてください!
コメント