当公式引用无效的单元格时,将显示 #REF! 错误。 当公式所引用的单元格被删除或被粘贴覆盖时最常发生这种情况。
#REF! 错误
以下示例在 E 列使用公式 =SUM(B2,C2,D2)。
如果要删除列 B、C 或 D,则会导致 #REF! 错误。 在本例中,我们将删除 C 列(2007 年销售额),公式现在显示 =SUM(B2,#REF!,C2)。 使用显式单元格引用(如此 (单独引用每个单元格(用逗号) 分隔并删除引用的行或列)时,Excel 无法解析它,因此会返回 #REF! 错误。 这就是不推荐在函数中使用显式单元格引用的主要原因。
解决 方案
- 如果意外删除了行或列,可以立即选择快速访问工具栏上的“撤消”按钮 (或按 Ctrl+Z) 还原它们。
- 调整公式,令其使用区域引用而不是单个单元格,例如 =SUM(B2:D2)。 现在你可以删除求和区域内的任意列,Excel 将自动调整公式。 还可以对行 和使用 =SUM (B2:B5) 。
示例 - 区域引用不正确的 VLOOKUP
在以下示例中,=VLOOKUP(A8,A2:D5,5,FALSE) 将返回 #REF! 错误,因为它要查找要从第 5 列返回的值,但引用范围是 A:D,它只有 4 列。
解决 方案
将范围调整为更大或减少列查找值以匹配引用范围。 =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,4,4) 将返回有效结果。
使用 INDIRECT 引用已关闭的工作簿
在以下示例中,INDIRECT 函数尝试引用已关闭的工作簿,导致 #REF! 错误。
由
解决 方案
打开引用的工作簿。 如果使用 动态数组函数引用已关闭的工作簿,则会遇到相同的错误。
不支持结构化引用
不支持对链接工作簿中的表和列名的结构化引用。
不支持计算引用
不支持对链接工作簿的计算引用。
无效单元格引用错误
移动或删除单元格导致无效的单元格引用,或函数返回引用错误。
OLE 问题
如果使用了对象链接与嵌入 (OLE) 链接而返回 #REF! 错误,请启动该链接将调用的程序。
注意:OLE 是可用于在程序间共享信息的技术。
DDE 问题
如果使用了动态数据交换 (DDE) 主题而返回 #REF! error,首先检查,以确保引用正确的主题。 如果仍收到 #REF! error,检查外部内容的信任中心设置,如阻止或取消阻止Microsoft 365 文档中的外部内容中所述。
注意:动态数据交换 (DDE) 是一种已建立的协议,用于Microsoft基于 Windows 的程序之间交换数据。
需要更多帮助吗?
你随时可以在 Excel 技术社区 中咨询专家或在 社区中获取支持。