ISNA関数は、セルの値が「#N/A」エラーかどうかを判定する関数です。
エラーなら「TRUE」を返し、エラーでなければ「FALSE」を返します。「#N/A」エラーは、検索系の関数(例えば、VLOOKUP関数)で目的の検索対象が見つからなかった場合に発生するエラーです。
「#N/A」に限らず、セルの値がエラーかどうか判定する場合は「ISERROR関数」か「ISERR関数」を使います。
ISNA関数の基本的な使い方
対応バージョン:Excel365 2019 2016 2013 2010
ISNA関数の書式です。
=ISNA(テストの対象)
※カッコ内の「テストの対象」を引数といいます。
引数の説明
- 〔テストの対象〕:エラーになっているかを調べるセルを指定。数式や関数も指定可能
ISNA関数の使用例
下記のサンプルは、商品コード・商品名・単価を保存してある商品一覧から、商品コードをキーにVLOOKUP関数で商品名と単価を検索しています。

=VLOOKUP(A2,A5:C10,2)
サンプルは、4行目からの商品一覧から商品コードを検索キーワードにして、「VLOOKUP関数」で商品名と単価を検索していますが、商品一覧に存在しない商品コードを入力したためエラー(#N/A)となったという例です。
このままでは、見た目が良くないので「ISNA関数」を使ってエラー処理をします。
ISNA関数は、「#N/A」となったかどうかを判定し、「#N/A」なら「TRUE」を返す関数なので、その戻り値を使い、予め検索結果がエラーになると分かる場合は何らかの処理を行い、エラーでなければ通常の処理を行うよう制御します。
この処理をする場合、「IF関数」と「ISNA関数」を組合せて使用します。

=IF(ISNA(VLOOKUP(A2,A5:C10,2)),”該当なし”,VLOOKUP(A2,A5:C10,2))
関数の説明
- ISNA関数の引数に計算式「VLOOKUP(A2,A5:C10,2)」を指定
- IF関数でISNA関数の戻り値を評価し、TRUE(真の場合)は「該当なし」を表示。FALSE(偽の場合)は、再度「VLOOKUP関数」を実行
このように、IF関数と組合せてエラーのときは任意の文字列を表示する、もしくは空白を表示するというような処理を追加するだけで、見た目にも分かりやすいものになります。
ISNA関数と同じ分類の関数
ISNA関数と同じ系列の関数は以下のページで探せます。