ISNA 函数¶
函数概述¶
ISNA 用于判断某个值是否为 #N/A 错误。若参数的计算结果是 #N/A,返回 TRUE;否则返回 FALSE。
它常用于:
- 判断查找类函数(如
VLOOKUP/XLOOKUP/MATCH)找不到匹配时产生的#N/A - 将
#N/A转换为更友好的提示文字 - 在数据清洗、对账、匹配结果检查中做“是否匹配成功”的标记
说明:
ISNA只判断#N/A,不会把#VALUE!、#DIV/0!等其他错误当作TRUE。
基础语法¶
参数说明¶
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| value | 任意(值/引用/公式) | 是 | 需要判断的值、单元格引用,或会返回结果的公式 |
返回值:
TRUE:value为#N/AFALSE:value不是#N/A(包括正常值、空白、其他错误)
基础用法示范¶
示例1:直接判断单元格是否为#N/A¶
数据源示例:
| A列(结果) |
|---|
| #N/A |
| 100 |
| #VALUE! |
公式:
结果逻辑:
- A2 为
#N/A→TRUE - A3 为
100→FALSE - A4 为空 →
FALSE - A5 为
#VALUE!→FALSE
示例2:配合MATCH判断是否匹配成功¶
数据源示例:
| A列(名单) | C列(要查找) |
|---|---|
| 张三 | 李四 |
| 王五 | 赵六 |
| 李四 |
在 D2 判断 C2 是否在 A列中出现过:
解释:
MATCH(C2, A:A, 0)找不到会返回#N/AISNA(...)就能把“找不到”变成TRUE,找到则为FALSE
常见用法:把它当作“是否缺失/是否未匹配”的标记列。
示例3:把#N/A替换成提示文字¶
数据源示例:
| A列(商品) | B列(价格表-商品) | C列(价格表-单价) |
|---|---|---|
| 苹果 | 苹果 | 5 |
| 梨 | 香蕉 | 6 |
| 香蕉 |
在 D2 查询 A2 的单价(用 VLOOKUP 举例),并把 #N/A 变成“未找到”:
效果:
- 找到商品 → 返回单价
- 找不到商品导致
#N/A→ 显示“未找到”
提示:如果你只需要处理
#N/A,ISNA很精准;若要处理所有错误,通常会用IFERROR。
总结¶
ISNA专门用于判断 是否为 #N/A 错误:是则TRUE,否则FALSE。- 适合与
VLOOKUP/XLOOKUP/MATCH等查找函数搭配,做“是否匹配成功”的判断。 - 常见组合是
IF + ISNA:把找不到产生的#N/A转换为自定义提示或默认值。 - 若你希望捕获并处理“所有错误类型”,则应考虑使用
IFERROR;但如果你只想识别#N/A,ISNA会更精确。