通过不重复运行相同的计算来提高Excel公式的效率



我正试图通过不重复来提高公式繁重的工作表的效率。我有一些循环公式,其中我使用SUMIF(S)值,但仅当它非零时。所以经上记着说:=IF(SUMIF(Table1[ACCOUNT],[@ACCOUNT],Table1[ACTUAL_VAL])<>0,SUMIF(Table1[ACCOUNT],[@ACCOUNT],Table1[ACTUAL_VAL]),"")本质上我得到了公式SUMIF(X)如果不为0,那么SUMIF(X)在同一个公式中做了两次相同的功。有什么办法可以简化以节省资源吗?我想我可以在VBA中创建自定义函数,但我需要的时间和变化量似乎过多。

有一个副本,但是我找不到。

使用倒数的倒数:

=IFERROR(1/(1/SUMIF(Table1[ACCOUNT],[@ACCOUNT],Table1[ACTUAL_VAL])),"")

对于Office 365,我们可以使用LET:

=LET(x,SUMIF(Table1[ACCOUNT],[@ACCOUNT],Table1[ACTUAL_VAL]),IF(x=0,"",x))

正如@GSerg所说(很抱歉看到你的评论时正在打字)

最新更新