Excel单元格仅在第二个单元格更改后更新

Excel单元格仅在第二个单元格更改后更新,excel,formula,auto-update,Excel,Formula,Auto Update,更新:文件 根据请求,我将包含指向以下文件的链接:。文件不再可用 我已经将我的原始数据转换成了一个类似于游戏的环境,在这个环境中,工作表跟踪完成活动的积分,当达到不同的积分量时,用户的排名就会上升。查看问题的一个简单方法是在单元格旁边的F15中输入1(然后输入2和3)和500。当您这样做时,请注意Q5:Q6中的值是如何从0变为1的,但是C2中的排名(计算此范围的和函数)并没有像它应该的那样增加到3。因此,基于它的L12和L14中的值也不会更新。现在,如果你重新计算,排名上升,L单元格更新。现在,

更新:文件

根据请求,我将包含指向以下文件的链接:。文件不再可用

我已经将我的原始数据转换成了一个类似于游戏的环境,在这个环境中,工作表跟踪完成活动的积分,当达到不同的积分量时,用户的排名就会上升。查看问题的一个简单方法是在单元格旁边的F15中输入1(然后输入2和3)和500。当您这样做时,请注意Q5:Q6中的值是如何从0变为1的,但是C2中的排名(计算此范围的和函数)并没有像它应该的那样增加到3。因此,基于它的L12和L14中的值也不会更新。现在,如果你重新计算,排名上升,L单元格更新。现在,基于L单元格的单元格E3没有反映正确的值,您必须再次重新计算图纸以进行更新

希望所有这些都是有意义的-让我知道如果你需要任何澄清

原始问题

输入数据后,我的一些公式没有立即更新。为了在别人建议之前解决这个问题,我确实将工作簿的计算设置为自动,并且我没有打开任何其他工作簿,将其计算方法设置为手动。所以这不是问题所在

我会给出公式的细节,但我认为这与此无关。该公式是一个简单的求和函数,将一个范围相加。范围正确更新-一旦我输入数据,范围中的数字就会相应更改。SUM函数同样应该自动更新,但我必须在另一个单元格中输入数据,或在空单元格中按delete键(基本上,让工作表再次重新计算),以获得SUM函数以反映范围内的变化

我唯一能想到的是,这是因为我启用了迭代计算(在“文件>选项>公式”选项卡中),以便允许单元格在特定条件为真时保留其以前的值,否则更新其值。对于最大迭代次数,我的设置为1;对于最大更改,默认设置为0.001。然而,我以前使用过这个函数,但对于简单的求和函数没有任何问题。我的工作表中还有其他同样简单的函数可以正确更新,所以我有点困惑

让我知道,如果任何更多的信息将是有益的。谢谢你的建议

更新: 对不起,我没听清楚这是公式,不是函数。我的错。 我会留下答案,以防有人有同样的问题,但有一个功能。对不起

尝试在代码中添加以下内容:

Application.Volatile
这将在每次更改该函数出现的工作表上的单元格时强制重新计算该函数


参考:

您有循环参考:范围内的单元格公式
S4:AL103
都是指它们自己(在cetain条件下)。这将导致excel停止计算,因为它无法解决冲突

你需要重新设计最初添加到我最初帖子中的公式;将其移动到实际答案以便可以接受

所以我想出了解决办法。通过对迭代做更多的阅读,我发现在迭代模式下,Excel一次处理一个单元格,按一定的顺序(我想是字母顺序?)。因此,如果单元A依赖于单元B,但单元B稍后会在该过程中更改值,则单元A将保留基于单元B的旧值(而不是新值)的值,直到提示重新计算为止。。。或者,直到另一个迭代开始。因此,将“最大迭代次数”设置为大于1的数字可以解决此问题。因为我给你们的示例表中有两个单元格没有更新,所以需要设置为3左右。在我的实际工作表中,我必须将其设置为5


谢谢你的想法!希望这能帮助其他困惑的灵魂

有一个公式的使用示例会很有帮助。我对所发生的事情有点困惑是的,如果能看到一个样本工作簿(必要时进行消毒)来说明问题,那会有所帮助。你能把工作簿上传到什么地方吗?这是个好建议。我应该想到这一点。我现在正在对工作表进行概括(“消毒”)。我将很快上传。这对我来说很好。。。。(我有xl2010和迭代)@Marcus似乎你已经解决了你自己的问题-现在要做的是将解决方案作为你自己的答案发布,并接受它。这个问题似乎不是VBA basedOh,开枪,我没听清楚!无论如何,谢谢你的回答。我完全不反对使用VBA。我以前从来没有这样做过,一直在避免这样做,因为没有时间真正进入另一种编程语言。不过,我一定会记住这一点。不,我需要那些循环引用,正如我在原来的帖子中解释的那样。这就是我打开迭代的原因。Excel确实支持循环引用,而且它实际上非常强大。它只是在默认情况下没有打开它。无论如何,谢谢你的想法!