当公式引用无效的单元格时,将显示 #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(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) 将返回有效结果。
不支持对链接工作簿中的表和列名的结构化引用。
不支持对链接工作簿的计算引用。
移动或删除单元格导致无效的单元格引用,或函数返回引用错误。
如果使用了对象链接与嵌入 (OLE) 链接而返回 #REF! 错误,请启动该链接将调用的程序。
注意: OLE 是可用于在程序间共享信息的技术。
如果使用了动态数据交换 (DDE) 主题而返回 #REF! error,首先检查以确保引用了正确的主题。 如果仍收到 #REF! 如果出现错误,请检查 信任中心设置 中的外部内容,如 阻止或取消阻止Microsoft 365 文档中的外部内容中所述。
注意: 动态数据交换 (DDE)是一种已建立的协议,用于Microsoft基于 Windows 的程序之间交换数据。
宏问题
如果宏在工作表上输入一个引用函数上方单元格的函数,并且包含该函数的单元格位于第 1 行中,则该函数将返回 #REF! 因为第 1 行上方没有单元格。 检查函数以查看参数是否引用无效的单元格或单元格区域。 这可能需要在 Visual Basic 编辑器 (VBE) 中编辑宏,以考虑到这种情况。
需要更多帮助吗?
可随时在 Excel 技术社区中咨询专家或在社区中获取支持。