删除或允许使用循环引用

您已输入一个公式,但是不起作用。 相反,您已获得有关“循环引用”的消息。 许多人具有相同的问题,发生这种情况的原因是您的公式试图计算自身,您应关闭迭代计算功能。 下图显示了它的外观:

导致循环引用的公式

公式 = D1 + D2 + D3 中断,因为它在单元格 D3 中,并且正在尝试计算自身。 若要解决此问题,您可以将公式移动到另一个单元格。 按ctrl + X剪切公式,选择另一个单元格,然后按Ctrl + V进行粘贴。

另一个常见错误是使用包含对其自身的引用的函数;例如,单元格 F3 包含 =SUM(A3:F3)。 示例如下:

你的浏览器不支持视频。 请安装 Microsoft Silverlight、Adobe Flash Player 或 Internet Explorer 9。

还可尝试以下方法之一:

  • 如果刚输入公式,则从该单元格开始,检查是否引用了单元格本身。 例如,单元格 A3 可能包含公式 =(A1+A2)/A3。 =A1+1(位于单元格 A1 中)等公式也会导致循环引用错误。

查找时,请检查是否存在间接引用。 在单元格 A1 中输入公式时,它使用 B1 中的公式,而该公式反过来引用单元格 A1,此时会发生这种情况。 如果这使您感到迷惑,则想象它会对 Excel 产生什么影响。

  • 如果你无法找出错误,请单击“公式”选项卡,单击“错误检查”旁边的箭头,指向“循环引用”,然后单击子菜单中列出的第一个单元格。

    “循环引用”命令

  • 检查单元格中的公式。 如果不能确定循环引用是否是由该单元格引起,请单击“循环引用”子菜单中的下一个单元格。

  • 重复步骤 1 至步骤 3 中的任意步骤或所有步骤,以继续检查和更正工作簿中的循环引用,直至状态栏中不再显示“循环引用”。

提示    

  • 左下角的状态栏显示“循环引用”和循环引用的单元格地址。

    如果循环引用位于其他工作表而非活动工作表中,则状态只会显示“循环引用”而不含单元格地址。

  • 可以通过双击追踪箭头在循环引用所涉及的单元格之间移动。 箭头表示影响当前所选单元格数值的单元格。 依次单击“公式”、“追踪引用单元格”或“追踪从属单元格”,以显示追踪箭头。

    追踪引用单元格

了解循环引用警告消息

Excel 首次发现循环引用时,它将显示警报消息。 单击“确定”或关闭消息窗口。

关闭消息时,Excel 将在单元格中显示零或最后计算的值。 现在,您也许会说,“等等,是最后计算的值吗? ”是的。 在某些情况下,公式在尝试计算自身之前可以成功运行。 例如,使用 IF 函数的公式可能会一直进行运算,直到用户输入一个让该公式计算自身的参数(公式正常运行所必须的一条数据)时为止。 上述情况发生时,Excel 会保留最后一次成功计算的数值。

如果您怀疑在某个不显示零的单元格中有循环引用,请尝试以下操作:

  • 单击编辑栏中的公式,然后按 Enter。

必要    在许多情况下,如果您创建了包含循环引用的其他公式,Excel 不会再次显示警告消息。 以下列表显示了将显示警告消息的部分(但不是全部)方案:

  • 在任何打开的工作簿中创建第一个循环引用实例

  • 删除所有打开的工作簿中的所有循环引用,然后创建新的循环引用

  • 关闭所有工作簿,创建新工作簿,然后输入包含循环引用的公式

  • 打开包含循环引用的工作簿

  • 在未打开任何其他工作簿时,打开工作簿,然后创建循环引用

了解迭代计算

有时,您可能希望使用循环引用,因为它们能使函数迭代重复,直到满足特定的数值条件。 这可能会减慢计算机的速度,因此,迭代计算在 Excel 中通常处于禁用状态。

除非您熟悉迭代计算,否则您可能不想使任何循环引用保持不变。 如果这样做,您可以启用迭代计算,但您需要确定公式应重新计算的次数。 当您启用迭代计算而未更改最大迭代次数或最大误差的值时,Excel 将在 100 次迭代后或迭代之间的所有循环引用误差值低于 0.001 后停止计算,以先满足的条件为准。 但是,您可以控制最大迭代次数和可接受误差的值。

  1. 如果使用的是 Excel 2010 或更低版本,请单击“文件”>“选项”>“公式”。 如果使用的是 Excel for Mac,请单击“Excel”菜单,然后单击“首选项”>“计算”。

    如果您使用的是 Excel 2007,请单击 " Microsoft Office 按钮 Office 按钮图像 ",单击 " Excel 选项",然后单击 "公式" 类别。

  2. 在“计算选项”部分中,选中“启用迭代计算”复选框。 在 Mac 上,单击“使用迭代计算”。

  3. 若要设置 Excel 进行重新计算的最大次数,请在“最多迭代次数”框中键入迭代次数。 迭代次数越高,Excel 计算工作表所需的时间就越长。

  4. 在“最大误差”框中,键入继续迭代所需的最小值。 这是所有计算值中的最小误差。 数值越小,结果就越精确,Excel 计算工作表所需的时间也越长。

迭代计算可能有三种结果:

  • 解析收敛,这意味着达到稳定的最终结果。 这是理想情况。

  • 解析分离,这意味着从一个迭代到另一个迭代的当前和先前的结果差异不断增加。

  • 解析在两个值之间切换。 例如,第一次迭代后结果为 1,下一次迭代后结果为 10,再下一次迭代后结果为 1,依此类推。

返回页首

需要更多帮助吗?

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

另请参阅

Excel 中的公式概述

如何避免损坏的公式

查找和更正公式中的错误

Excel 键盘快捷方式和功能键

Excel 函数(按字母顺序)

Excel 函数(按类别列出)

注意:  本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 能否告知我们此信息是否有所帮助? 下面是该参考内容的英文版

需要更多帮助?

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

此信息是否有帮助?

谢谢您的反馈!

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

×