如果另一个行列表具有特定值(列表大小不相等),则对行求和

Sum rows if another list of rows has a specific value (lists are not equal size)

我将尝试解释我的问题,但无法在任何地方找到答案,因为它很难表述。

假设我们有一份成本和子成本清单(更详细的成本明细)。此外,我们还有一个仅包含成本的列表(它比前一个更短,因为只包含成本,没有子成本)。第二个列表的值为 TRUE 或 FALSE。我想对第二个列表中具有 TRUE 值的第一个列表中的所有成本求和。 SUMIF 不起作用,因为列表的大小不相等。

图片上有例子。总和必须为 8(因为 A 和 C 在第二个列表中为 TRUE)。

您可以借助辅助列来完成此操作。在C1中输入=VLOOKUP(A1,$G:$H,2,0)并复制下来。

那么你的总和就变成了=SUMIF(C:C,TRUE,B:B)

在适当的单元格中尝试这个数组公式¹。

=SUM(SUMIFS(B:B, A:A, IF(H1:H3, G1:G3)))


¹ 数组公式需要用Ctrl+Shift+Enter↵。如果输入正确,Excel 会将公式括在大括号中(例如 {})。您不会自己输入大括号。一旦正确输入第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们。尝试将整列引用减少到更接近代表实际数据范围的范围。数组公式以对数方式消耗计算周期,因此最好将参考范围缩小到最小值。有关详细信息,请参阅 Guidelines and examples of array formulas

Sample in cloud