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

当公式引用无效的单元格时,将显示 #REF! 错误。 当公式所引用的单元格被删除或被粘贴覆盖时最常发生这种情况。

以下示例在 E 列使用公式 =SUM(B2,C2,D2)

如果删除了某列,则使用显式单元格引用(如 =SUM(B2,C2,D2))的公式可能会导致 #REF! 错误。

如果要删除 B、C 或 D 列,将导致 #REF! 错误。 在本例中,我们将删除 C 列(2007 年销售额),公式现在显示 =SUM(B2,#REF!,C2)。 使用此类显式单元格引用(分别引用各单元格,以逗号分隔)并删除引用的行或列时,Excel 无法进行解析,因此将返回 #REF! 错误。 这就是不推荐在函数中使用显式单元格引用的主要原因。

删除列导致的 #REF! 错误的示例。

解决方案

  • 如果意外删除了行或列,可以立即单击“快速访问工具栏”上的“撤消”按钮(或按 CTRL+Z)将其还原。

  • 调整公式,令其使用区域引用而不是单个单元格,例如 =SUM(B2:D2)。 现在你可以删除求和区域内的任意列,Excel 将自动调整公式。 也可以使用 =SUM(B2:B5) 对行进行求和。

在以下示例中,=VLOOKUP(A8,A2:D5,5,FALSE) 将返回 #REF! 错误,因为它将查找从第 5 列返回的值,但引用区域 A:D 仅有 4 列。

区域不正确的 VLOOKUP 公式示例。  公式为 =VLOOKU(A8,A2:D5,5,FALSE)。  VLOOKUP 区域中没有第五列,因此 5 将导致 #REF! 错误。

解决方案

调整区域使其扩大,或减少列查找值使其与引用区域匹配。 =VLOOKUP(A8,A2:E5,5,FALSE) 将为有效的引用区域,= VLOOKUP(A8,A2:D5,4,FALSE) 也一样。

在此示例中,公式 =INDEX(B2:E5,5,5) 将返回 #REF! 错误,因为 INDEX 区域是 4 行乘 4 列,但公式要求返回第 5 行第 5 列中的内容。

区域引用无效的 INDEX 公式示例。  公式为 =INDEX(B2:E5,5,5),但区域只是 4 行 4 列。

解决方案

调整行或列引用,使其处于 INDEX 查找区域内。 =INDEX(B2:E5,4,4) 将返回有效结果。

在以下示例中,INDIRECT 函数将尝试引用已关闭的工作簿,导致 #REF! 错误。

引用已关闭工作簿的 INDIRECT 导致的 #REF! 错误示例。

解决方案

打开引用的工作簿。 如果使用 动态数组函数引用已关闭的工作簿,则会遇到相同的错误。

不支持对链接工作簿中的表和列名的结构化引用。

不支持对链接工作簿的计算引用。

移动或删除单元格导致无效的单元格引用,或函数返回引用错误。

如果使用了对象链接与嵌入 (OLE) 链接而返回 #REF! 错误,请启动该链接将调用的程序。

注意: OLE 是可用于在程序间共享信息的技术。

如果使用了动态数据交换 (DDE) 主题而返回 #REF! error,首先检查,以确保引用正确的主题。 如果仍收到 #REF! error,检查 Microsoft 365 文档中阻止或取消阻止外部内容中所述的外部内容的信任中心设置

注意: 动态数据交换 (DDE)是用于在基于 Microsoft Windows 的程序之间交换数据的既定协议。

宏问题

如果宏在工作表上输入一个引用函数上方单元格的函数,并且包含该函数的单元格位于第 1 行中,则该函数将返回 #REF! 因为第 1 行上方没有单元格。 检查函数以查看参数是否引用无效的单元格或单元格区域。 这可能需要在 Visual Basic 编辑器 (VBE) 中编辑宏,以考虑到这种情况。

需要更多帮助吗?

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

另请参阅

Excel 中的公式概述

如何避免损坏的公式

检测公式中的错误

Excel 函数(按字母顺序)

Excel 函数(按类别列出)

需要更多帮助?

需要更多选项?

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

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

此信息是否有帮助?

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

谢谢您的反馈!

×