使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

本主题介绍出现“#N/A 错误”的最常见原因是 INDEXMATCH 函数。
 

注意: 如果希望 INDEXMATCH 函数返回有意义的值而不是 #N/A,请使用 IFERROR 函数,然后将 INDEXMATCH 函数嵌套在该函数中。 将 #N/A 替换为自己的值只会识别错误,但无法解决错误。 因此,在使用 IFERROR 之前,请务必确保公式按原样正常工作。

问题:没有要匹配的数据

MATCH 函数在查找数组中找不到查找值时,它将返回 #N/A 错误。

如果你认为电子表格中存在数据,但 MATCH 无法找到它,可能是因为:

  • 单元格具有意外字符或隐藏空格。

  • 单元格的格式可能不是正确的数据类型。 例如,单元格具有数值,但格式可能设置为 Text
     

解决方案:若要删除意外字符或隐藏空格,请分别使用 CLEANTRIM 函数。 此外,验证单元格的格式是否为正确的数据类型。

你已使用数组公式而不按 Ctrl+Shift+Enter

INDEXMATCH 或这两个函数的组合中使用数组时,必须按键盘上的 Ctrl+Shift+Enter。 Excel 将自动将公式括在大括号 {} 内。 如果尝试自己输入方括号,Excel 会将公式显示为文本。

注意: 如果你有当前版本的 Microsoft 365,则只需在输出单元格中输入公式,然后按 Enter 确认公式为动态数组公式。 否则,必须首先选择输出区域,在输出单元格中输入公式,然后按 Ctrl+Shift+ENTER 进行确认,从而将公式作为旧数组公式输入。 Excel 将使用括号将公式括起来。 有关数组公式的详细信息,请参阅数组公式指南和示例

问题:匹配类型和数据的排序顺序不一致

使用 MATCH 时, match_type 参数中的值与查找数组中值的排序顺序之间应保持一致。 如果语法偏离了以下规则,则会看到 #N/A 错误。

  • 如果 match_type 为 1 或未指定, 则 lookup_array 中的值应按升序排列。 例如,-2、-1、0 、1 、2...、A、B、C...、FALSE、TRUE 等。

  • 如果 match_type 为 -1, 则 lookup_array 中的值应按降序排列。

在以下示例中, MATCH 函数为

=MATCH (40,B2:B10,-1)

excel match 函数

语法中的 match_type 参数设置为 -1,这意味着 B2:B10 中值的顺序应为降序,以便公式正常工作。 但值按升序排列,这会导致 #N/A 错误。

解决 方案:match_type 参数更改为 1,或以降序格式对表进行排序。 然后重试。

需要更多帮助吗?

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

另请参阅

如何更正 #N/A 错误

如何在 Excel 中使用具有多个条件的 INDEX 和 MATCH 工作表函数

INDEX 函数

MATCH 函数

Excel 中的公式概述

如何避免损坏的公式

检测公式中的错误

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

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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×