Excelでよく使われる検索関数(VLOOKUPやMATCH関数など)では、
参照先が見つからないと #N/Aエラーが返ります。
このエラーメッセージを別のメッセージに置き換えたいときに便利なのが ISNA関数 です。この記事では、ISNA関数の基本から使用例、注意点までを解説します。
ISNA関数とは?
ISNA関数は、数式やセルの結果が#N/Aエラーかどうかを判定し、TRUEまたはFALSEを返す関数です。
書式
=ISNA(値)
- 値:判定対象となるセル参照や計算式を指定します。
ISNA関数の使い方
ISNA関数は、VLOOKUPなどで「#N/A」エラーが出たときに、それを検出して処理を分けるための関数です。
ここでは、次のような3ステップで使い方を理解していきましょう。
①:VLOOKUP関数で「#N/A」エラーを確認する
VLOOKUP関数を使い、商品コード「P005」の商品名を取得します。

=VLOOKUP("P005", B3:C5, 2, FALSE)
この式では、「P005」という商品コードを表から探します。
しかし表に「P005」が存在しないため、結果は #N/A(該当なしエラー)になります。

②:ISNA関数で「#N/A」エラーを判定する
=ISNA(VLOOKUP("P005", B3:C5, 2, FALSE))
「P005」は表に存在しないため、VLOOKUP関数の結果は #N/A になります。
ISNA関数はそのエラーを検出して、結果として TRUE を返します。
- 「P005」が見つからない → TRUE(#N/Aエラーあり)
- 「P002」など存在する場合 → FALSE(正常)

③:IF関数と組み合わせて、メッセージを変更する
=IF(ISNA(VLOOKUP("P005",B3:C5,2,FALSE)),"該当なし",VLOOKUP("P005",B3:C5,2,FALSE))
この式では、ISNAの判定結果をもとに表示を切り替えています。
- TRUE → 「該当なし」
- FALSE → VLOOKUP関数で商品名を取得(例:「バナナ」)

IF関数と組み合わせることで、エラーのまま「#N/A」と表示されるのではなく、
「該当なし」「データ未登録」などの分かりやすいメッセージを表示できます。
活用例
- VLOOKUPやMATCHで検索結果が見つからないときの処理
→ ISNAを使って「検索結果がない場合の代替メッセージ」を表示できる。 - データチェック
→ 参照データの有無を判定し、報告や集計の精度を高める。
注意点
- #N/A以外のエラーは対象外
- #DIV/0! や #REF! などは FALSE になります。
- 「全てのエラーを判定」したい場合は ISERROR関数 を使います。
関連関数
まとめ
ISNA関数は、VLOOKUPなどの検索結果が「#N/A」エラーになったときに、その状態を判定できる関数です。
単体で使うよりも、IF関数と組み合わせて「該当なし」や「データ未登録」といったメッセージを表示する使い方が一般的です。
検索結果のエラーをわかりやすく処理できるため、
データ管理や一覧表の作成で欠かせない関数のひとつといえるでしょう。