打开文件时出现图5.31所示的警告信息,是什么原因?如何才能取消此对话框?
图5.31 循环引用警告
解题步骤
图5.31属于循环引用警告,当工作簿中有任意单元格的公式引用了公式所在单元格的值时,打开该工作簿时就会产生循环引用警告。消除此警告的方法是修改产生循环引用的公式或删除该公式。
打开工作簿后,在Excel的状态栏可以看到活动工作表中产生循环引用的单元格地址,因此消除此警告的方法是根据状态栏的显示内容判断活动工作表是否存在循环引用,如果有循环引用则修改公式,具体步骤如下。
1.打开工作簿,当产生图5.31所示的警告时单击“确定”按钮关闭对话框。
2.查看状态栏,在图5.32中,Sheet1的状态栏只显示了“循环引用”却未标注单元格地址,说明Sheet1中不存在循环引用。
图5.32 Sheet1的状态栏
3.切换到 Sheet2 工作表,在状态栏中可以看到循环引用的单元格地址为 C12,因此选中C12后从编辑栏查看其公式,从图5.33中可以看到其公式“=SUM(C2:C12)”明显有问题,公式应该引用C2:C11而非C2:C12,原来的公式已将公式所在单元格C12也一并引用进去,从而导致公式运算出错。。
4.将公式改为“=SUM(C2:C11)”,C12的公式马上返回正确结果,但是在状态栏又显示了新的循环引用地址E12,效果如图5.34所示,因此还需要继续修改E12单元格的公式。
图5.33 Sheet2的状态栏与循环引用公式
图5.34 修改公式后
5.选中E12单元格,可以看到其公式是“=AVERAGE(E2:E12)”,将其中的E12修改为E11,修改后公式会马上生成正确的计算结果,同时状态栏不再显示“循环引用”字样。
知识扩展
1.循环引用是公式引用了公式所在单元格的值去参与运算,导致公式无法得到正确结果。如果只是引用公式所在单元格的行号、列号,那么是不会造成循环引用的,只有引用公式所在单元格的值才会造成循环引用。
例如,在A2单元格输入公式“=Row(a2)”不会造成循环引用,在A2单元格输入公式“=a2”会造成循环引用。
2.除了状态栏,依次单击功能区的“公式”→“错误检查”→“循环引用”也能看到工作表中的循环引用单元格地址。
3.循环引用也不只是缺点,在特殊情况下还会故意让公式循环引用,从而实现特殊需求。不过这超出了本例的知识范畴,不再详述。