在以下情况下,Excel中出现循环引用:
- 公式包含对包含公式本身的单元格的单元格引用 。 上图中显示了这种类型的循环引用的示例,其中单元格C1中的公式包含对公式中该单元格的引用:= A1 + A2 + A3 + C1
- 一个公式引用了另一个公式,它最终返回到包含原始公式的单元格 。 在图像的第二个例子中显示了这种类型的间接参照的示例,其中链接单元格A7,B7和B9的蓝色箭头指示这些单元格中的公式都相互参照。
循环参考警告
如上图所示,如果在Excel工作表中出现循环引用,程序将显示一个警告 对话框,指出该问题。
对话框中的消息具体措词,因为并非公式中的所有循环引用都是无意的,如下所述。
“小心,我们在工作簿中发现了一个或多个循环引用,这可能会导致您的公式计算错误”
用户选项
出现此对话框时的用户选项是单击“ 确定”或“ 帮助”,这两者都不会修复循环引用问题。
如果您在对话框中阅读了很长且有点令人困惑的消息,您会发现:
- 当发生无意的循环参考时,请单击帮助 。 这会将您带到Excel的循环引用帮助文件信息中;
- 点击确定用于告诉Excel循环引用是有意完成的,并且它应该保留原位。
无意的循环引用
如果循环引用是无意中完成的,则帮助文件信息将告诉您如何去查找和删除循环引用。
帮助文件将指导您使用位于功能区上的Formulas> Formula Auditing下的Excel 错误检查工具。
通过简单地校正公式中使用的单元格引用,可以纠正许多无意的单元格引用,而无需进行错误检查。 而不是在单元格中输入单元格引用,请使用鼠标指向 ------------------单击单元格引用-------------- --------在公式中输入参考。
故意循环引用
Excel的循环引用不能解决循环引用问题,因为并非所有的循环引用都是错误。
虽然这些有意识的循环引用不如意外循环引用,但是如果您希望Excel在生成结果之前多次迭代或运行公式,则可以使用它们。
启用迭代计算
如果您计划使用这些迭代计算, Excel可以选择启用这些迭代计算 。
要启用迭代计算:
- 单击文件选项卡(或Excel 2007中的Office按钮)
- 点击选项打开Excel选项对话框
- 在对话框的左侧面板中,单击公式
- 在对话框的右侧面板中,选中启用迭代计算复选框
复选框选项下方可用于:
- 设置最大迭代次数:Excel应重新计算公式的次数
- 设置计算结果之间可接受的最大变化量:数值越小,结果越精确
在受影响的单元格中显示零
对于包含循环引用的单元格,Excel将显示一个零,如示例中的单元格C1所示或单元格中最后一次计算的值。
在某些情况下,公式可能会在他们尝试计算它们所在的单元格引用的值之前成功运行。 发生这种情况时,包含公式的单元显示上次成功计算的值。
更多关于循环参考警告
在工作簿中包含循环引用的公式的第一个实例后,Excel不一定会再次显示警告消息。 它取决于创建附加循环引用的方式和位置的情况。
包含警告消息的警报框将在后续循环参考中显示的示例包括:
- 任何公开工作簿中的循环引用的第一个实例;
- 在所有打开的工作簿中删除所有循环引用后,将创建一个新的循环引用;
- 关闭所有工作簿后,将在新工作簿中创建包含循环引用的公式;
- 包含循环引用的工作簿已打开。