Excel中的ISNA函数与公式实例

  • Share This
Michael Brown

本教程深入探讨了在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文件)。

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.