Excelでよく使われる検索関数(VLOOKUPやMATCHなど)では、参照先が見つからないと #N/A
エラー が返ります。このとき、ユーザーにとってわかりやすいメッセージに置き換えたいことがあります。そんなときに便利なのが ISNA関数 です。本記事では、ISNA関数の基本から使用例、注意点までを解説します。
ISNA関数とは?
ISNA関数は、数式やセルの結果が #N/A
エラーかどうか を判定し、TRUE または FALSE を返す関数です。
- 結果が
#N/A
→TRUE
- それ以外(正常値や他のエラー) →
FALSE
書式
=ISNA(値)
- 値:判定対象となるセル参照や計算式を指定します。
使用例
#N/A
エラーを判定=ISNA(#N/A)
→ 結果:TRUE- 検索結果が見つからない場合
=ISNA(VLOOKUP(100,A1:B10,2,FALSE))
→ 検索値100が範囲内に見つからなければ TRUE - IF関数と組み合わせ
=IF(ISNA(VLOOKUP(100,A1:B10,2,FALSE)),"データなし","データあり")
→ 見つからなければ「データなし」、見つかれば「データあり」と表示
活用例
- VLOOKUPやMATCHで検索結果が見つからないときの処理
→ISNA
を使って「検索結果がない場合の代替メッセージ」を表示できる。 - データチェック
→ 参照データの有無を判定し、報告や集計の精度を高める。
注意点
#N/A
以外のエラーは対象外#DIV/0!
や#REF!
などはFALSE
になります。- 「全てのエラーを判定」したい場合は ISERROR関数 を使います。
- Excel 2013以降は IFNA関数が便利
ISNA
とIF
を組み合わせなくても、=IFNA(VLOOKUP(100,A1:B10,2,FALSE), "データなし")
と書けば簡潔に「#N/Aのときだけ代替値」を指定できます。
関連関数
- ISERR関数:
#N/A
を除いたエラーを判定 - ISERROR関数:全てのエラーを判定
- IFNA関数:
#N/A
エラー時に代替値を返す(Excel 2013以降推奨) - IFERROR関数:すべてのエラーをまとめて処理する(Excel 2007以降)
まとめ
ISNA関数は、#N/A
エラーだけを判定できる関数です。
- 書式:
=ISNA(値)
#N/A
のときだけ TRUE、それ以外は FALSE- VLOOKUPやMATCHの「検索結果なし」を検出するのに便利
- Excel 2013以降は IFNA関数 の方が簡潔でおすすめ