Excel:优化一堆非常繁重的SUMIFS

我有一些数据,我想总结匹配某些标准

示例数据:

ABCD Id Id2 Id3 Val 1 1 8 6 1 2 7 7 1 3 3 8 1 4 6 4 1 4 78 7 1 1 2 9 1 3 1 4 1 4 3 6 1 1 5 8 1 4 7 2 

现在我想为每个Id添加Val ,根据一定的标准(例如Id2 = 4和Id3 = 2),每个Id有100个值,但是我想避免重复运行每个Id的总和,因为表格很重。

我到目前为止所做的是

 = SUMIFS(D:D, A:A, "=1", B:B, "=4", C:C, "=2") = SUMIFS(D:D, A:A, "=2", B:B, "=4", C:C, "=2") = SUMIFS(D:D, A:A, "=3", B:B, "=4", C:C, "=2") = SUMIFS(D:D, A:A, "=4", B:B, "=4", C:C, "=2") ... 

(如果我记得正确的sumifs的语法)

有一个更快的方法,避免重新运行每个Id的总和?

如果你想以这种方式计算大量的SUM ,最好用一个数据透视表来完成 。

你也可以尝试DSUM ,但我怀疑它会比SUMIF更快。

你也可以做一个数组公式 ,这也应该是闪电般的。

所以select你想要的结果范围,然后按F2进入你想要的第一个公式。 然后放入下面的数组公式:

 = SUMIFS(D:D, A:A, "="&{1;2;3;4}, B:B, "=4", C:C, "=2") 

要么

 = SUMIFS(D:D, A:A, "="&G1:G4, B:B, "=4", C:C, "=2") 

G1G4有你想要迭代的值。

这将使得它只能抓取一次数据而不是多次,并将一次而不是多次返回所有的值。

如果要从左向右迭代,请在数组中使用comma而不是semicolon

当你input一个数组公式时,就这样input:

 Ctrl+Shift+Enter