Excel:其他字段使用的动态范围日期:Sumproduct

Excel: Dynamic Range Date used in other fields: Sumproduct

我正在使用 sumproduct 公式获取前四个月、第二个四个月、第三个四个月的净销售额,直到今天前一个月。这是我使用的公式:

=IFERROR(SUMPRODUCT($B3:$Y3*(COLUMN($B3:$Y3)>=AGGREGATE(15,6,COLUMN($B3:$Y3)/($B3:$Y3<>0),1)+4*(COLUMNS(B3)-1))*(COLUMN($B3:$Y3)<AGGREGATE(15,6,COLUMN($B3:$Y3)/($B3:$Y3<>0),1)+4*(COLUMNS(B3)))*($B:$Y<EOMONTH(TODAY(),-1)+1)),0)

但是,在我的示例中,我需要捕获与净销售额相同的范围,以及其他指标(如销货成本)。我不能将上面的公式用于 COGS 等其他度量,因为有时它们在与网络相同的范围内为零 Sales.But 我也需要在此处捕获零。

Example 1

Example 2

净销售额

Jan Feb Mar Apr May June July Aug Sept Oct Nov Dec
0 0 2 3 4 5 2 3 2 3 2 4
---> 1st period= 14 2nd period= 10 

COGS(遵循与净销售额相同的日期范围)

Jan Feb Mar Apr May June July Aug Sept Oct Nov Dec
0 0 0 0 0 2 1 4 2 3 2 4

---> 第一期= 2 第二期= 11

您可以保留第一个公式中的整个范围检查逻辑并仅更改值范围,即我示例中的第一个公式:

=IFERROR(SUMPRODUCT($A3:$L3*(COLUMN($A3:$L3)>=AGGREGATE(15,6,COLUMN($A3:$L3)/($A3:$L3<>0),1)+4*(COLUMN(A3)-1))*(COLUMN($A3:$L3)<AGGREGATE(15,6,COLUMN($A3:$L3)/($A3:$L3<>0),1)+4*(COLUMN(A3)))*($A:$L<EOMONTH(TODAY(),-1)+1)),0)

COGS 的第二个公式:

=IFERROR(SUMPRODUCT($O3:$Z3*(COLUMN($A3:$L3)>=AGGREGATE(15,6,COLUMN($A3:$L3)/($A3:$L3<>0),1)+4*(COLUMN(A3)-1))*(COLUMN($A3:$L3)<AGGREGATE(15,6,COLUMN($A3:$L3)/($A3:$L3<>0),1)+4*(COLUMN(A3)))*($A:$L<EOMONTH(TODAY(),-1)+1)),0)