跳转至

ISNA 函数

函数概述

ISNA 用于判断某个值是否为 #N/A 错误。若参数的计算结果是 #N/A,返回 TRUE;否则返回 FALSE

它常用于:

  • 判断查找类函数(如 VLOOKUP/XLOOKUP/MATCH)找不到匹配时产生的 #N/A
  • #N/A 转换为更友好的提示文字
  • 在数据清洗、对账、匹配结果检查中做“是否匹配成功”的标记

说明:ISNA 只判断 #N/A,不会把 #VALUE!#DIV/0! 等其他错误当作 TRUE

基础语法

=ISNA(value)

参数说明

参数 类型 必填 说明
value 任意(值/引用/公式) 需要判断的值、单元格引用,或会返回结果的公式

返回值:

  • TRUEvalue#N/A
  • FALSEvalue 不是 #N/A(包括正常值、空白、其他错误)

基础用法示范

示例1:直接判断单元格是否为#N/A

数据源示例:

A列(结果)
#N/A
100
#VALUE!

公式:

=ISNA(A2)

结果逻辑:

  • A2 为 #N/ATRUE
  • A3 为 100FALSE
  • A4 为空 → FALSE
  • A5 为 #VALUE!FALSE

示例2:配合MATCH判断是否匹配成功

数据源示例:

A列(名单) C列(要查找)
张三 李四
王五 赵六
李四

在 D2 判断 C2 是否在 A列中出现过:

=ISNA(MATCH(C2, A:A, 0))

解释:

  • MATCH(C2, A:A, 0) 找不到会返回 #N/A
  • ISNA(...) 就能把“找不到”变成 TRUE,找到则为 FALSE

常见用法:把它当作“是否缺失/是否未匹配”的标记列。


示例3:把#N/A替换成提示文字

数据源示例:

A列(商品) B列(价格表-商品) C列(价格表-单价)
苹果 苹果 5
香蕉 6
香蕉

在 D2 查询 A2 的单价(用 VLOOKUP 举例),并把 #N/A 变成“未找到”:

=IF(ISNA(VLOOKUP(A2, B:C, 2, FALSE)), "未找到", VLOOKUP(A2, B:C, 2, FALSE))

效果:

  • 找到商品 → 返回单价
  • 找不到商品导致 #N/A → 显示“未找到”

提示:如果你只需要处理 #N/AISNA 很精准;若要处理所有错误,通常会用 IFERROR

总结

  • ISNA 专门用于判断 是否为 #N/A 错误:是则 TRUE,否则 FALSE
  • 适合与 VLOOKUP/XLOOKUP/MATCH 等查找函数搭配,做“是否匹配成功”的判断。
  • 常见组合是 IF + ISNA:把找不到产生的 #N/A 转换为自定义提示或默认值。
  • 若你希望捕获并处理“所有错误类型”,则应考虑使用 IFERROR;但如果你只想识别 #N/AISNA 会更精确。