如何更正 #N/A 错误

应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016 Excel for iPad Excel Web App Excel for iPhone Excel for Android 平板电脑版 Excel for Android 手机版 Excel for Windows Phone 10 Excel Mobile

#N/A 错误通常指示公式找不到要求查找的内容。

热门解决方案

#N/A 错误的最常见原因是,如果公式找不到引用的值,则使用 XLOOKUP、VLOOKUP、HLOOKUP、LOOKUP 或 MATCH 函数。 例如,查找值在源数据中不存在。

查找值不存在。单元格 E2 中的公式为 =VLOOKUP (D2,$D$6:$E$8,2,FALSE) 。找不到值 Banana,因此公式返回 #N/A 错误。 在这种情况下,查找表中未列出“Banana”,因此 VLOOKUP 返回 #N/A 错误。

解决方案:可确保源数据中存在查阅值,或在公式中使用 IFERROR 等错误处理程序。 例如,=IFERROR(FORMULA(),0),即:

  • =IF (公式计算结果为错误,然后显示 0,否则显示公式的结果)

可以使用“”显示任何内容,或替换自己的文本:=IFERROR (FORMULA () ,“此处的错误消息”)

注意

如果不确定此时该怎么做或需要哪种帮助,可以在 Microsoft社区中搜索类似问题,或发布自己的问题之一。

Excel 社区论坛的链接

如果在修复此问题方面仍然需要帮助,以下清单提供了疑难解答步骤,可帮助你弄清公式中可能已经出错的内容。

不正确的值类型

查阅值和源数据是不同数据类型。 例如,你尝试让 VLOOKUP 引用数字,但源数据却存储为文本。

值类型不正确。示例显示一个 VLOOKUP 公式返回 #N/A 错误,因为查阅项的格式为数字,但查阅表格的格式为文本。 解决方案:确保数据类型相同。 可以通过选择单元格或单元格区域来检查单元格格式,然后右键单击并选择“设置单元格>编号” (或按 Ctrl+1) ,并根据需要更改数字格式。

“设置单元格格式”对话框显示“数字”选项卡和选中的“文本”选项

提示

如果需要对整列强制更改格式,请先应用所需的格式,然后使用 “数据>文本到列>完成”。

单元格中有多余的空格

可使用 TRIM 函数删除前导或尾随空格。 以下示例使用嵌套在 VLOOKUP 函数中的 TRIM 删除 A2:A7 中的名称的前导空格,然后返回部门名称。

在数组公式中使用 VLOOKUP 和 TRIM 可删除前导/尾随空格。单元格 E3 中的公式为 {=VLOOKUP (D2,TRIM (A2:B7) ,2,FALSE) },需要使用 CTRL+SHIFT+ENTER 输入。 =VLOOKUP (D2,TRIM (A2:B7) ,2,FALSE)

注意

动态数组公式 - 如果你有 当前版本的 Microsoft 365,并且处于 预览体验成员快速 发布通道上,则可以在输出区域的左上角单元格中输入公式,然后按 Enter 确认该公式作为动态数组公式。 否则,必须首先选择输出区域,在输出区域的左上角单元格中输入公式(公式必须作为遗留的数组公式进行输入),然后按 Ctrl + Shift + Enter 进行确认。 Excel 将使用括号将公式括起来。 有关数组公式的详细信息,请参阅数组公式指南和示例

使用近似匹配与完全匹配方法 (TRUE/FALSE)

默认情况下,查阅表格中信息的函数必须按升序排列。 但是 VLOOKUP 和 HLOOKUP 工作表函数包括 range_lookup 参数,此参数命令函数即使在未对表格排序的情况下,也要查找精确匹配。 若要查找精确匹配,请将 range_lookup 参数设置为 FALSE。 请注意:如果使用 TRUE(表示命令函数查找近似匹配),不仅会导致 #N/A 错误,还会返回如以下示例显示的错误结果。

将 VLOOKUP 与 TRUE range_lookup 参数结合使用的示例可能会导致错误的结果。 在此示例中,“香蕉”不仅返回 #N/A 错误,“Pear”返回错误的价格。 导致这种结果的原因是使用 TRUE 参数,此参数命令 VLOOKUP 查找近似匹配而非精确匹配。 “香蕉”没有非常匹配,“梨”按字母顺序排在“桃子”之前。 在这种情况下,将 VLOOKUP 与 FALSE 参数一起使用将返回“Pear”的正确价格,但“香蕉”仍会导致 #N/A 错误,因为查找列表中没有相应的“香蕉”。

如果使用的是 MATCH 函数,请尝试更改 match_type 参数的值以指定表格的排序顺序。 若要查找精确匹配项,请将 match_type 参数设置为 0(零)。

数组公式引用的行数或列数与包含数组公式的区域不同

若要修复此错误,请确保数组公式引用的区域中的行数和列数与其中输入了数组公式的单元格区域中的行数和列数相同,或在更少或更多单元格中输入该数组公式以匹配公式中的区域引用。

在此示例中,单元格 E2 引用了不匹配的范围:

具有不匹配的范围引用导致 #N/A 错误的数组公式示例。单元格 E2 中的公式为 {=SUM (IF (A2:A11=D2,B2:B5) ) },必须使用 CTRL+SHIFT+ENTER 输入。 =SUM (IF (A2:A11=D2,B2:B5) )

要使公式正确计算,需要对其进行更改,使两个范围反映行 2 – 11。

=SUM(IF(A2:A11=D2,B2:B11))

注意

动态数组公式 - 如果你有 当前版本的 Microsoft 365,并且处于 预览体验成员快速 发布通道上,则可以在输出区域的左上角单元格中输入公式,然后按 Enter 确认该公式作为动态数组公式。 否则,必须首先选择输出区域,在输出区域的左上角单元格中输入公式(公式必须作为遗留的数组公式进行输入),然后按 Ctrl + Shift + Enter 进行确认。 Excel 将使用括号将公式括起来。 有关数组公式的详细信息,请参阅数组公式指南和示例

如果由于缺少数据而手动在单元格中输入了 #N/A 或 NA () ,请在实际数据可用时立即将其替换为实际数据。 在执行此操作之前,引用这些单元格的公式无法计算值,而是返回 #N/A 错误。

在单元格中输入 #N/A 的示例,这会阻止 SUM 公式正确计算。 在这种情况下,May-December 具有 #N/A 值,因此 Total 无法计算,而是返回 #N/A 错误。

使用预定义或用户定义的函数的公式缺少一个或多个必需参数。

若要解决此问题,检查正在使用的函数的公式语法,并在返回错误的公式中输入所有必需的参数。 这可能需要使用 Visual Basic 编辑器 (VBE) 检查函数。 可从“开发工具”选项卡,或使用 ALT+F11 访问 VBE。

输入的用户定义函数不可用。

若要修复此错误,请验证包含用户定义函数的工作簿是否已打开,以及该函数是否工作正常。

运行的宏所用函数返回了 #N/A

若要修复此错误,请验证该函数中的参数是否正确,以及是否用在正确的位置中。

编辑包含 CELL 等函数的受保护文件,然后单元格的内容变为 N/A 错误

若要修复此错误,请按 Ctr+Alt+F9 以重新计算工作表

理解函数的参数时是否需要帮助?

如果不确定是否是恰当的参数,可使用函数向导获得帮助。 选择包含有问题的公式的单元格,然后转到“ 公式 ”选项卡,然后按 “插入函数”。

“插入函数”按钮。 Excel 将自动为你加载向导:

“公式向导”对话框的示例。 单击每个参数时,Excel 将为每个参数提供相应的信息。

对图表使用 #N/A

#N/A 可能很有用! 在对图表使用类似以下示例的数据时,通常使用 #N/A,因为 #N/A 值不会在图表上绘制。 下面是 0 与 #N/A 的图表的外观示例。

绘制 0 个值的折线图示例。 在前面的示例中,你将看到 0 值已绘制并显示为图表底部的平线,然后向上拍摄以显示 Total。 在下面的示例中,你将看到 0 值替换为 #N/A。

不绘制 #N/A 值的折线图示例。

需要更多帮助吗?

你随时可以在 Excel 技术社区 中咨询专家或在 社区中获取支持。

另请参阅

将存为文本的数字转换成数字

VLOOKUP 函数

HLOOKUP 函数

LOOKUP 函数

MATCH 函数

Excel 中的公式概述

如何避免损坏的公式

检测公式中的错误

Excel 中的键盘快捷方式

所有 Excel 函数(按字母顺序)

所有 Excel 函数(按类别列出)