Table of contents
本教程深入探讨了在Excel中使用ISNA函数来处理#N/A错误的各种方法。
当Excel找不到它所要求的东西时,单元格中就会出现#N/A的错误。 为了拦截和处理这种错误,你可以使用ISNA函数。 这有什么实际用途呢? 从本质上讲,它有助于使你的公式更方便用户使用,使你的工作表更美观。
Excel中的ISNA函数
Excel的ISNA函数用于检查单元格或公式是否存在#N/A错误,其结果是一个逻辑值:如果检测到#N/A错误则为TRUE,否则为FALSE。
该功能在Excel 2000到2021年的所有版本和Excel 365中都可用。
ISNA函数的语法是尽可能简单的。
ISNA(价值)在哪里? 价值 是你要检查的#N/A错误的单元格值或公式。
要创建一个基本形式的ISNA公式,需要提供一个单元格引用作为其唯一参数。
=ISNA(A2)
如果引用的单元格包含一个#N/A的错误,你会得到TRUE。 如果有任何其他的错误、数值或空白单元格,你会得到FALSE。
如何在Excel中使用ISNA
以纯粹的形式使用ISNA函数没有什么实际意义。 更多的时候,它与其他函数一起使用,以评估某个公式的结果。 为此,只需将其他公式放在 价值 穆斯林协会的论点。
ISNA( 你的公式 ())在下面的数据集中,假设你想比较两个列表(A列和D列),找出两个列表中都有的名字和只出现在列表1中的名字。
为了将A3中的名字与D列中的每个名字进行比较,公式为:。
=match(a3, $d$2:$d$9, 0)
如果找到一个查找值,MATCH函数会返回它在查找数组中的相对位置,否则会发生#N/A错误。 为了测试MATCH的结果,我们将它嵌套在ISNA中。
=isna(match(a3, $d$2:$d$9, 0))
这个公式进入B3,然后通过B14进行复制。
现在,你可以清楚地看到哪些学生通过了所有的测试(D列中没有名字>;MATCH返回#N/A>;ISNA返回TRUE),哪些学生至少有一次测试失败(D列中出现名字>;没有错误>;ISNA返回FALSE)。
提示:在Excel 365和Excel 2021中,你可以使用更现代的XMATCH函数。 而不是MATCH。
Excel中的IF ISNA公式
根据设计,ISNA函数只能返回两个布尔值。 要显示你的自定义信息,请将其与IF函数结合使用。
if(isna(...), " text_if_error ", " text_if_no_error ")进一步完善我们的例子,让我们找出A组中哪些学生没有通过任何测试,并为他们返回 "没有失败的测试"。 对于其余的学生,我们将返回 "失败"。 要做到这一点,将ISNA MATCH公式嵌入IF的逻辑测试中,使IF成为最外层函数。
=IF(ISNA(MATCH(A3,$D$2:$D$9,0)), "没有测试失败", "失败")
现在的结果看起来好多了,也更直观了,同意吗?
如何用VLOOKUP在Excel中使用ISNA
IF ISNA组合是一个通用的解决方案,可以用于任何在一组数据中搜索某些东西的函数,并在没有找到查找值时返回一个#N/A错误。
带有VLOOKUP的ISNA函数的语法如下。
if(isna(vlookup(...), " 自定义文本 ", vlookup(...))翻译成人类的语言,它说:如果VLOOKUP的结果是#N/A错误,返回自定义文本,否则返回VLOOKUP的结果。
在我们的示例表中,假设你希望返回学生没有通过测试的科目。 对于那些成功通过所有测试的学生,将显示 "没有失败的测试"。
为了查询科目,我们构建这个经典的VLOOKUP公式。
=vlookup(a3, $d$3:$e$9, 2, false)
然后将其嵌套在上面讨论的通用IF ISNA公式中。
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "没有测试失败", VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
在Excel 2013及以后的版本中,你可以利用IFNA函数来捕捉和处理#N/A错误。 这使你的公式更短,更容易阅读。
作为一个例子,我们用破折号("-")替换#N/A错误,得到这个优雅的解决方案。
=ifna(vlookup(a3, $d$3:$e$9, 2, false), "-")
Excel 365和2021年的用户根本不需要任何包装函数,因为VLOOKUP的现代继承者XLOOKUP函数可以原生处理#N/A错误。
=xlookup(a3, $d$3:$d$9, $e$3:$e$9, "-")
结果将与上面的屏幕截图完全相同。
SUMPRODUCT ISNA公式来计算#N/A错误
要计算一定范围内的#N/A错误,可以通过这种方式将ISNA函数与SUMPRODUCT一起使用。
产品(--isna( 范围 ))这里,ISNA返回一个TRUE和FALSE值的数组,双重否定(--)将逻辑值胁迫为1和0,SUMPRODUCT将结果加起来。
例如,要想知道有多少学生在所有的测试中获得成功,请修改MATCH公式的查询值范围(A3:A14)并将其嵌套在ISNA中。
=sumproduct(--isna(match(a3:a14, d2:d9, 0))
该公式确定9名学生没有不合格的测试,即MATCH函数返回9个#N/A错误。
这就是如何在Excel中创建和使用ISNA公式的方法。 感谢你的阅读,期待下周在我们的博客上见到你
可用的下载
ISNA公式示例(.xlsx文件)。