如何在Excel中使用IFNA函数及示例

  • Share This
Michael Brown

在你的工作表中有很多#N/A的错误,并且很想知道是否有办法显示一个自定义的文本? IFNA公式是你需要的解决方案。

当一个Excel公式不能识别或找到某些东西时,它会抛出#N/A错误。 为了捕捉这样的错误,并用一个用户友好的信息来取代它,你可以使用IFNA函数。 换句话说,#N/A是Excel的方式,表示你正在寻找的值不存在于引用的数据集中。 IFNA是你捕获和处理这个错误的方式。

    Excel中的IFNA函数

    Excel的IFNA函数是用来捕捉和处理#N/A错误的。 如果一个公式评估为#N/A,IFNA会捕捉这个错误,并用你指定的自定义值来替换它;否则会返回公式的正常结果。

    IFNA语法

    IFNA函数的语法如下。

    IFNA(value, value_if_na)

    在哪里?

    价值 (required) - 检查#N/A错误的公式、数值或参考。

    价值_if_na (required) - 如果检测到#N/A错误,要返回的值。

    使用说明

    • IFNA函数只处理#N/A,不抑制任何其他错误。
    • 如果 价值 参数是一个 阵列公式 ,IFNA返回一个结果数组,每个单元格一个,如本例所示。

    IFNA的可用性

    IFNA函数是在Excel 2013中引入的,并在所有后续版本中可用,包括Excel 2016、Excel 2019、Excel 2021和Microsoft 365。

    在早期版本中,你可以通过同时使用IF和ISNA函数来捕捉#N/A错误。

    如何在Excel中使用IFNA函数

    为了在Excel中有效地使用IFNA,请遵循这个通用方法。

    1. 在第一个参数( 价值 ),把一个受#N/A错误影响的公式。
    2. 在第二个参数( 价值_if_na ),输入你想返回的文本,而不是标准的错误符号。 如果没有发现任何东西,要返回一个空单元格,提供一个空字符串('"")。

    返回 自定义文本 ,通用公式为。

    IFNA( 公式 (), " 自定义文本 ")

    要返回一个 空白单元格 ,通用公式为。

    IFNA( 公式 (), "")

    让我们在一个简单的例子中看看它是如何工作的。 在下表中,假设你想知道某个学生的分数在其他学生中的排名。 由于数据是按 分数 为了得到这个位置,你可以使用MATCH函数的最简单形式。

    =match(e1, a2:a10, 0)

    因为查询值(Neal)在查询数组(A2:A10)中不可用,所以发生#N/A错误。

    遇到这种错误,没有经验的用户可能会认为公式有问题,而你作为工作簿创建者会收到很多问题。 为了避免这种情况,你可以明确指出公式是正确的,只是找不到要求它寻找的值。 因此,你在IFNA的第一个参数中嵌套MATCH公式,在第二个参数中,输入你的自定义文本,在我们的案例中是 "未找到"。

    =IFNA(MATCH(E1, A2:A10, 0), "未找到")

    现在,你自己的文本显示在一个单元格中,而不是标准的错误符号,通知用户查询值不存在于数据集中。

    如何用VLOOKUP使用IFNA

    大多数情况下,#N/A错误发生在查找东西的函数中,如VLOOKUP、HLOOKUP、LOOKUP和MATCH。 下面的例子涵盖了一些典型的使用情况。

    例1.基本的IFNA VLOOKUP公式

    为了捕捉VLOOKUP无法找到匹配时发生的#N/A错误,可以使用IFNA检查其结果,并指定要显示的值,而不是错误。 通常的做法是使用这种语法将IFNA函数包在你现有的VLOOKUP公式中。

    ifna(vlookup(), " 您的文本 ")

    在我们的示例表中,假设你想检索一个特定学生(E1)的分数。 为此,你要使用这个经典的VLOOKUP公式。

    =vlookup(e1, a2:b10, 2, false)

    问题是,尼尔没有参加考试,因此他的名字不在列表中,显然VLOOKUP未能找到匹配。

    为了隐藏错误,我们用IFNA这样的方式来包装VLOOKUP。

    =IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "没有参加考试" )

    现在,这个结果对用户来说并不那么令人生畏,而且信息量更大。

    例2.IFNA VLOOKUP在多个工作表上进行查询

    IFNA功能还可以用来执行所谓的 连续的 被锁住的 其原理是,你用这种方式将几个不同的IFNA(VLOOKUP(...))公式嵌套到另一个公式中。

    IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), "未发现"))

    如果一个主要的VLOOKUP没有找到任何东西,它的IFNA函数会运行下一个VLOOKUP,直到找到所需的值。 如果所有的查找都失败了,该公式将返回指定的文本。

    假设你将不同班级的分数列在不同的表上(名为 A级 , B类 ,以及 C级 你的目标是获得某位学生的分数,他的名字被输入到当前工作表的B1单元格中。 为了完成任务,请使用这个公式。

    =IFNA(VLOOKUP(B1, 'Class A'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class B'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class C'!A2:B5, 2, FALSE), "未找到") )

    该公式按照VLOOKUP的嵌套顺序,在三个不同的工作表中依次查找指定的名称,并带来第一个找到的匹配。

    例3.带有INDEX MATCH的IFNA

    以类似的方式,IFNA可以捕捉由其他查找函数产生的#N/A错误。 作为一个例子,让我们把它和INDEX MATCH公式一起使用。

    =IFNA(INDEX(B2:B10, MATCH(E1, A2:A10, 0)), "未找到")

    公式的要点与之前所有的例子相同--INDEX MATCH执行查找,IFNA评估结果,如果没有找到引用的值,则捕获一个#N/A错误。

    IFNA将返回多个结果

    如果内部函数(即放置在 价值 参数)返回多个值,IFNA将单独测试每个返回的值,并输出一个结果数组。 例如。

    =IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "未找到" )

    在动态阵列Excel(Microsoft 365和Excel 2021)中,最上面的单元格(E2)中的常规公式会自动溢出邻近单元格中的所有结果(就Excel而言,它被称为溢出区域)。

    在前动态版本(Excel 2019及以下版本)中,可以通过使用多单元格数组公式实现类似的效果,通过Ctrl + Shift + Enter快捷键完成。

    IFNA和IFERROR之间有什么区别?

    根据问题的根本原因,Excel公式可以触发不同的错误,如#N/A、#NAME、#VALUE、#REF、#DIV/0、#NUM等。 IFERROR函数可以捕捉所有这些错误,而IFNA只限于#N/A。 选择哪一个更好? 这取决于情况。

    如果你想压制 任何种类的错误 在复杂的计算中,当一个公式包括几个可能产生不同错误的函数时,它特别有用。

    查询功能 你最好使用IFNA,因为它只在找不到查询值时显示一个自定义的结果,而不会隐藏公式本身的潜在问题。

    为了说明这个区别,让我们把基本的IFNA VLOOKUP公式拿出来,"不小心 "把函数的名字拼错了(VLOKUP而不是VLOOKUP)。

    =IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "没有参加考试" )

    IFNA并没有抑制这个错误,所以你可以清楚地看到其中一个函数名称出了问题。

    现在,让我们看看如果你使用IFERROR会发生什么。

    =IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "没有参加考试" )

    嗯......它说奥利维亚没有参加考试,这不是真的!这是因为IFERROR函数捕获了#NAME? 的错误,而返回自定义文本。 在这种情况下,它不仅返回错误的信息,而且还掩盖了公式的问题。

    这就是如何在Excel中使用IFNA公式。 感谢你的阅读,期待下周在我们的博客上见到你

    可用的下载

    Excel IFNA公式实例(.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.