如何更正 #REF! 错误

如何更正 #REF! 错误

公式引用无效单元格时将显示 #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/DDE 问题

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

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

如果使用了动态数据交换 (DDE) 主题而返回 #REF! 错误,请确保引用了正确的主题。

注意:DDE 是针对基于 Microsoft Windows 的程序间交换数据的既定协议。

宏问题

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

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

另请参阅

Excel 中公式的概述

如何避免公式损坏

使用错误检查功能检查公式中的错误

Excel 函数(按字母顺序)

Excel 函数(按类别)

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×