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

示例 - 删除列导致的 #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

在以下示例中,=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

在此示例中,公式 =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 引用已关闭的工作簿

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

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

解决方案

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

OLE 问题

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

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

DDE 问题

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

注意 :DDE Exchange (DDE)是一种已建立的协议,用于交换 Microsoft Windows 程序之间的数据。

宏问题

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

需要更多帮助吗?

你始终可以在 Excel 技术社区中咨询专家或在 Answers 社区获取

另请参阅

Excel 中的公式概述

如何避免损坏的公式

检测公式中的错误

Excel 函数(按字母顺序)

Excel 函数(按类别列出)

需要更多帮助?

扩展你的技能
了解培训

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?

谢谢您的反馈!

×