和变量范围:用非易失性替换间接

时间:2017-12-11 13:46:30

标签: excel-vba volatile sumifs excel-indirect vba

我在电子表格中使用了这个公式:

SUM(INDIRECT(ADDRESS(row(),column(B))&":"&ADDRESS(MATCH("*",INDIRECT("A"& row()+1&":A"& row()+250),0)+ row()-1,column(B))))

这可行,但此公式中有几个易失性函数。我想清理这段代码并尽可能快地完成。

在A栏中我有名字(苹果,梨,草莓......)。在B栏中,我有价值观。对于水果我可以有几个值。但是没有值2,3,4的名称......对于值2,3,4,5,列A是空的,... 我想为C列中的每个名称执行求和值。

如果没有易失性功能,我怎么能这样做?

感谢您的帮助:)!

2 个答案:

答案 0 :(得分:0)

将它放在第一行然后复制。

=IF(A1<>"",SUM(B1:B250)-SUM(C2:C252),"")

enter image description here

答案 1 :(得分:0)

我想我找到了一个似乎有用的公式,这是你的第一个公式Scott的分支:

=IF(A1="","",SUM(B1:INDEX(B1:B$10,MATCH("*",INDEX(A1:A$10,2,1):A$10,0),1)))

你怎么看? 即使有足够的细胞使用这个公式(带索引),它是否具有高效性和快速性?