设想:我在计算中使用一个变量,我将其称为弗雷德.我想计算弗雷德将 B 列中的最后一个非零条目除以该条目的行号。
但是,B 列变为零的位置取决于 A 列。A 列取决于弗雷德另一个值我称之为乔治。
问题:这会产生循环引用错误。
尝试解决:有一种方法可以计算默认值弗雷德这与 B 列无关,所以这就是我现在要做的。但这个默认值仅适用于乔治如果我改变乔治, 我需要弗雷德按照上面描述的设置进行更新。
我可以通过更改乔治然后输入一些常量弗雷德直到我让 B 列在正确的时间变为零(即当行时间弗雷德= 该行的值)。但我宁愿让这个过程自动化,而不是每次都猜测和检查。
问题:我想告诉 Excel 使用默认值弗雷德计算 A 列和 B 列,只是为了得到一些数字。然后我希望 Excel 更新弗雷德根据新列,然后重新计算这些列(或者基本上只是正常进行)。这样,乔治已改变;Excel 不会给我循环引用错误。
有没有办法告诉 Excel 对单元格求值一次,等待事情发生,然后再次求值并正常进行?在理想情况下,Excel 只会更新弗雷德根据 A 和 B 列,直到弗雷德变得稳定了,但无论我怎么尝试都无法让它做到这一点。启用迭代会有帮助吗?(我试图避免启用它,因为另一个原因。)
答案1
弗雷德,嗯?
可以关闭自动电子表格计算,而且通常建议这样做,尤其是在包含复杂公式的大型工作表中。“假人”网站:
要将工作簿置于手动重新计算模式,请在功能区 (Alt+MXM) 的“公式”选项卡上的“计算选项”按钮上选择“手动”选项。切换到手动重新计算后,只要您对工作表进行更改,并且更改会以某种方式影响其公式的当前值,Excel 就会在状态栏上显示 CALCULATE。每当 Excel 处于计算模式时,您都需要在保存工作簿之前更新工作表中的公式(就像在打印工作表之前所做的那样)。
若要在手动计算时重新计算工作簿中的公式,请按 F9 或 Ctrl+=(等号),或者选择“公式”选项卡上的“立即计算”按钮(计算组右上角带有计算器图片的按钮)(Alt+MB)。
我搜索到的其他链接提供了避免循环引用错误的具体理由。