Excel公式如何避免循环引用?

Excel公式如何避免循环引用?,excel,excel-formula,circular-reference,Excel,Excel Formula,Circular Reference,我正在尝试编写一个公式,如果最后一行至少是第4行或更高,则该公式将对一列求和。我想我可以使用LOOKUP()和INDIRECT()但是当我从列中删除值时,似乎出现了一个问题 起初,当我把这个公式放进去的时候,效果很好 公式: =IF(LOOKUP(2,1/(F:F<>""),ROW(F:F)) >= 4, SUM(INDIRECT("F4:F" & LOOKUP(2,1/(F:F<>""),ROW(F:F)))), 0) =IF(查找(2,1/(F:F“”

我正在尝试编写一个公式,如果最后一行至少是第4行或更高,则该公式将对一列求和。我想我可以使用
LOOKUP()
INDIRECT()
但是当我从列中删除值时,似乎出现了一个问题

起初,当我把这个公式放进去的时候,效果很好

公式:

=IF(LOOKUP(2,1/(F:F<>""),ROW(F:F)) >= 4, SUM(INDIRECT("F4:F" & LOOKUP(2,1/(F:F<>""),ROW(F:F)))), 0)
=IF(查找(2,1/(F:F“”),行(F:F))>=4,和(间接(“F4:F”)和查找(2,1/(F:F“”),行(F:F))),0)
第一个条件为检查且不=真,因此将值设置为零。正如预期的那样:

在第二种情况下,它按预期运行。测试条件如果条件为真,则使用间接和查找运行求和:

但是,在第三种情况下,它无法更新,或者有时会给我一个
循环错误:

出现错误时:

现在我不明白为什么会出现这个错误

当重新计算时,我假设公式以IF语句开始,如果是这种情况,则应检查查找条件,如果不是true,则将值设置为零


那么,在我从我的列中删除所有金额之前,为什么要这样做,并且有办法避免这个错误呢?

次要注释:因为
INDIRECT
是易变的,但是
INDEX
不是易变的,如果用
F4:F>间接(“F4:F”&查找(2,1/(F:F“”),行(F:F))
替换为
F4:INDEX,您可能会获得更好的性能(F:F,查找(2,1/--(F:F“”),第(F:F)行)
我无法纠正您的错误,尽管如果F列除F2中的公式外为空,我确实会收到
#N/A
错误。由于F3中有文本,在您的情况下不应该发生这种情况。您是否能够共享一组样本数据并指出您试图在样本上实现的目标?@TerryW数据无关紧要。我有一个宏,可以添加装载到一列,我希望该列在top@Mike-SMT如果你能提供样本数据和精确的步骤,它将极大地帮助人们重新创建和测试错误(这已经告诉你他们无法做到)