我有一些数据需要总结匹配某些标准
示例数据:
A B C D
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 重新运行sumif,因为表格很重。
到目前为止我一直在做的是
= 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") ...
(如果我记得正确的sumif语法)
是否有更快的方法可以避免重新运行每个 ID 的sumif?
答案 0 :(得分:3)
如果您想以这种方式计算大量SUM
,最好使用pivot table。
您也可以尝试DSUM
,但我怀疑它会比SUMIF更快。
答案 1 :(得分:2)
你也可以做array formula,这也应该是闪电般的。
因此,选择您想要结果的范围,然后按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")
其中G1
到G4
包含您想要迭代的值。
这样做只会抓取数据一次而不是多次,并且会返回所有值一次而不是多次。
如果您想从左向右迭代,请在数组中使用comma
而不是semicolon
。
输入数组公式时,请按以下方式输入:
Ctrl+Shift+Enter