我正在尝试创建一个公式,该公式将对一行中的值求和,但仅与另一行中的最后一个非零列相同的列。
因此,第1行(R1)末尾的公式应该只对第1行的C到H(4月到9月)进行求和,因为只有C到H在第2行中有数据。 10月在第2行仍然具有零值。
但是,只要第二行在第一列(10月)中有数据,第1行中的公式现在应该将列C加到I(4月到10月)
答案 0 :(得分:1)
您可以尝试使用sumif:
= SUMIF(C2:K2, “大于0”,C1:K1)
仅当第2行大于0时,才会对第1行求和。 希望有所帮助!
答案 1 :(得分:1)
另一种选择
=SUMPRODUCT(F9:O9*(F10:O10>0))
其中F9:09是您的第一行数据,F10:O10是您的第二行数据
以上将适用于正值。如果您还想包含负值,请使用以下内容:
=SUMPRODUCT(F9:O9*(F10:O10<>0))
根据Dirk的评论,他是绝对正确的。如果你在中间某个位置的第二行有一个零条目,那么上面的两个公式就不会计算零上方中间的值。要在中间校正并包含零以上的值,请使用以下公式:
=SUM(F9:INDEX(9:9,1,AGGREGATE(14,6,(F10:N10<>0)*COLUMN(F10:N10),1)))
不需要CSE,因为AGGREGATE执行类似于公式14的操作的数组。
答案 2 :(得分:1)
要总结所有值,直到(包括)第2行中的最后一个非零值,您可以使用:
=SUM(C1:INDEX(1:1,1,MAX((C2:H2<>0)*COLUMN(C2:H2),1)))
这是一个数组公式,必须用 ctrl + shift + 输入确认!
到目前为止,所有其他公式仅对第2行非零=&gt;的值求和。如果4月和6月是&lt;&gt; 0且5月是0,他们将只计算4月和6月...我的公式将在3个月内完成;)