Excel:对行进行求和,直到单元格具有特定值

Excel:对行进行求和,直到单元格具有特定值

我的电子表格中有成本和子成本。我想自动计算成本总额。是否有一个公式可以计算item_cost此列下所有行的总数直到第一行被标记rollup。类似SUM(A13:A[first_row_with_rollup=Yes]-1)

答案1

您可以使用该函数MATCH(lookup_value, lookup_array, match_type)查找列中某个值的第一次出现。然后您可以使用该值来生成求和函数的范围。例如:

=SUM(INDIRECT(CONCATENATE("B1:B";MATCH("asd";B:B;0)-1)))

解释:

MATCH("asd";B:B;0) - 1 // finds the first occurrence of "asd" on B column, gets the cell above it
CONCATENATE("B1:B";$) // get the interval b1 to bn, where n is the cell found
INDIRECT($) // makes reference to the cell specified by the string "b1:bn"
SUM($) // sums the interval

在 Google Spreasheets 中测试,但根据文档应该可以在 Excel 上运行。

答案2

我知道这个帖子已经很旧了,但是为了其他可能寻找此问题解决方案的人的利益,您可以尝试以下操作:

假设要求和的数字列在 A 列,例如A10:A20
假设“汇总”在 B 列中,在每个点处求和。
然后将以下公式放入 中C10

=SUM(OFFSET(A10,0,0,MATCH("Rollup",B10:$B$20,FALSE),1))

请注意,数字列中的最后一个单元格具有绝对引用。您可以将其复制到其中C11:C20以查看其实际作用。

相关内容