如果另一个行列表具有特定值(列表大小不相等),则对行求和
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。
我将尝试解释我的问题,但无法在任何地方找到答案,因为它很难表述。
假设我们有一份成本和子成本清单(更详细的成本明细)。此外,我们还有一个仅包含成本的列表(它比前一个更短,因为只包含成本,没有子成本)。第二个列表的值为 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。