Excel 将行的值加至与另一行相同的列

Excel 将行的值加至与另一行相同的列,excel,excel-formula,Excel,Excel Formula,我正在尝试创建一个公式,该公式将对一行中的值求和,但只对与另一行中最后一个非零列相同的列求和 因此,第1行(R1)末尾的公式应该只对第1行的C列到H列(Apr到sept)求和,因为只有C到H列在第2行中有数据。 第2行中的十月值仍然为零 但是,一旦第二行的第I列(10月)中有数据,第1行的公式现在应该将第C列和第I列(4月到10月)您可以尝试使用sumif: =SUMIF(C2:K2,“>0”,C1:K1) 只有当第2行大于0时,才会对第1行求和。 希望有帮助 另一种选择 =SUMPRODU

我正在尝试创建一个公式,该公式将对一行中的值求和,但只对与另一行中最后一个非零列相同的列求和

因此,第1行(R1)末尾的公式应该只对第1行的C列到H列(Apr到sept)求和,因为只有C到H列在第2行中有数据。 第2行中的十月值仍然为零


但是,一旦第二行的第I列(10月)中有数据,第1行的公式现在应该将第C列和第I列(4月到10月)

您可以尝试使用sumif:

=SUMIF(C2:K2,“>0”,C1:K1)

只有当第2行大于0时,才会对第1行求和。 希望有帮助

另一种选择

 =SUMPRODUCT(F9:O9*(F10:O10>0))
其中F9:09是第一行数据,F10:O10是第二行数据

以上内容适用于正值。如果还希望包含负值,请使用以下命令:

=SUMPRODUCT(F9:O9*(F10:O10<>0))
=SUMPRODUCT(F9:O9*(F10:O100))
根据德克的评论,他是绝对正确的。如果在中间的某个第二行中有0个条目,那么上面的两个公式将不计算在零以上的中间值。为了纠正和包含中间值高于零,使用下面的公式:

=SUM(F9:INDEX(9:9,1,AGGREGATE(14,6,(F10:N10<>0)*COLUMN(F10:N10),1)))
=总和(F9:索引(9:9,1,聚合(14,6,(F10:N100)*列(F10:N10),1)))

不需要CSE,因为聚合对公式14执行类似数组的操作。

要将所有值相加,直到(包括)第2行中的最后一个非零值,可以使用以下方法:

=SUM(C1:INDEX(1:1,1,MAX((C2:H2<>0)*COLUMN(C2:H2),1)))
=和(C1:索引(1:1,1,最大值((C2:H20)*列(C2:H2),1)))
这是一个数组公式,必须用ctrl+shift+enter确认


到目前为止,所有其他公式仅在第2行为非零时求和=>如果Apr和Jun为0且May为0,则它们将仅求和Apr和Jun。。。我的配方奶粉可以维持三个月;)

{=SUM(C1:H1*(C2:H20))}
?你试过什么<代码>SUMIFS()?或者..呃,@DirkReichel说的:DHmm。。。Jun是0但Jul有一个值呢?还是把Jun加到sum?到目前为止我一直在尝试sum if。德克,我试过你的公式,但它返回了一个#值!error=SUMIF(C39:N39,查找(1,1/(C39:N39>0),C39:N39),C39:N39)从这个开始,但仍然没有得到我需要的。我不确定在哪里引用另一行。这很有效!谢谢凯西:)我显然想得太多了!你在底部添加了非常明智的注释我喜欢你的非CSE方法+1@DirkReichel我不喜欢范围内的CSE公式,但我更接受单细胞CSE公式。如果我能一起避开它们,我会的。我昨天读到,定义名称中的公式计算为CSE。我有点惊讶地发现这一点。当我在发布答案后进行比较时,我也很惊讶我们的公式是多么相似。