Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是Excel';s';依赖链';增加还是减少?_Excel_Vba - Fatal编程技术网

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

是Excel';s';依赖链';增加还是减少?,excel,vba,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)) i、 e.IF函数是否指示Excel不计算UDF“NI_Calc”?从而减轻了负荷 或者Excel是否仍然计算UDF,而IF函数只是将其加载 谢谢如果第一部分满足条件,ex

我有一个公式,其中包括使用UDF计算国民保险责任(英国的一种税收)。它很复杂,使用次数很多,因此计算速度很慢

它从中获取工资的某些单元格未使用,因此其中有零

公式如下:

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

=IF(D9=0,0,NI_Calc(D9,A1:A5,B1:B5,F1:F5))
i、 e.IF函数是否指示Excel不计算UDF“NI_Calc”?从而减轻了负荷

或者Excel是否仍然计算UDF,而IF函数只是将其加载


谢谢

如果第一部分满足条件,excel中的IF语句将不会计算语句的第二部分。从文件中

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

编辑:事实上,这还不是很清楚


此答案表明,如果If不为假,则不计算NI_计算值。您可以使用命令观察这一点。在具有多个条件的嵌套Ifs中,将最稀有的放在第一位可以提高计算效率。