如何更正 #REF! 错误

如何更正 #REF! 错误

注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。本页面是自动翻译的,可能包含语法错误或不准确之处。我们的目的是使此内容能对你有所帮助。可以在本页面底部告诉我们此信息是否对你有帮助吗?请在此处查看本文的英文版本以便参考。

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

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

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

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

如果您要删除 B 列, C 或 D 将导致 #REF!消息.在这种情况下, 我们将删除 C 列 (2007 Sales), 该公式现在读取= SUM (B2, #REF!, C2)。当你使用如下显式单元格引用 (如逐个引用每个单元格, 用逗号分隔) 并删除引用的行或列时, Excel 无法解析它, 因此它将返回 #REF!消息.这是不建议在函数中使用显式单元格引用的主要原因。

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

解决方案

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

  • 调整公式, 使其使用区域引用, 而不是单个单元格, 例如= SUM (B2: D2)。现在, 你可以删除 sum 范围内的任何列, 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 (B2: E5, 4, 4)将返回有效的结果。

示例 - 使用 INDIRECT 引用已关闭的工作簿

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

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

解决方案

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

OLE 问题

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

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

DDE 问题

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

注意: 动态数据交换 (DDE)是一种在基于 Microsoft Windows 的程序之间交换数据的已建立协议。

宏问题

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

需要更多帮助吗?

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

另请参阅

Excel 中的公式概述

如何避免损坏的公式

检测公式中的错误

Excel 函数(按字母顺序)

Excel 函数(按类别列出)

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

此信息是否有帮助?

谢谢您的反馈!

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

×