努力想出一个适用于此的公式(A1-E4中的数据)
StartDate EndDate Jan Feb Mar
12/4/2018 4/20/2019 31 28 31
9/26/2018 1/30/2019 30 0 0
1/1/2019 3/31/2019 31 28 31
1/1/2015 3/31/2019 155 141 155
在单元格C2中,公式为:
=SUMPRODUCT(--(TEXT(ROW(INDIRECT($A2 & ":" & IF($B2="",TODAY(),B2))),"mmm")=C$1))
我想做的是从总和中排除过去的日期,例如在第四行中,一月/二月/三月应为31/28/31,不计入前几年。
有什么想法我要去哪里吗?
答案 0 :(得分:0)
为年份添加一个chck:
(YEAR(ROW(INDIRECT($A2 & ":" & IF($B2="",TODAY(),$B2))))=YEAR(TODAY()))
,然后将它们乘以SUMPRODUCT:
=SUMPRODUCT((YEAR(ROW(INDIRECT($A2 & ":" & IF($B2="",TODAY(),$B2))))>=YEAR(TODAY()))*(TEXT(ROW(INDIRECT($A2 & ":" & IF($B2="",TODAY(),$B2))),"mmm")=C$1))
一个注意事项:
INDIRECT易变性,每次Excel重新计算时都会重新计算。我更喜欢用INDEX代替它们:
=SUMPRODUCT((YEAR(ROW(INDEX($A:$A,$A2) :INDEX($A:$A, IF($B2="",TODAY(),$B2))))>=YEAR(TODAY()))*(TEXT(ROW(INDEX($A:$A,$A2) :INDEX($A:$A, IF($B2="",TODAY(),$B2))),"mmm")=C$1))