是Excel的依赖链'增加还是减少?

时间:2016-02-22 11:45:54

标签: excel vba

我有一个公式,其中包括使用计算国家保险责任(英国税)的UDF。它很复杂并且使用很多次,因此计算起来很慢。

获得工资的一些单元格未使用,因此有零。

是公式:

=NI_Calc(D9,A1:A5,B1:B5,F1:F5)

优于:

=IF(D9=0,0,NI_Calc(D9,A1:A5,B1:B5,F1:F5))

即。 IF函数是否指示Excel不计算UDF' NI_Calc'?从而减轻负荷。

或Excel是否计算UDF并且IF函数只是增加了它的负载?

由于

1 个答案:

答案 0 :(得分:3)

如果第一部分满足条件,则excel中的IF语句将不计算语句的第二部分。来自文档...

“当Excel完成第一个条件的评估时,结果可能会匹配(在这种情况下会出现Approve结果),或者它们可能不匹配。如果它不匹配,则父IF函数已经运行了三个参数中的两个。你仍然有两个可能的结果!你通过将第二个IF函数嵌套在父IF的第三个参数(value_if_false)中来完成你的公式。嵌套的IF成为父IF的自包含的第三个参数。当嵌套的IF完成评估时,它决定两个剩余的可能结果,显示结果,然后功能结束。“

https://support.office.com/en-us/article/IF-function-69aed7c9-4e8a-4755-a9bc-aa8bbff73be2

编辑:实际上,那并不是真正大规模清除...

这个答案Does Excel evaluate both result arguments supplied to the IF function?更好地显示了