我怎样才能把一个SUMIFS在Excel中包含一个OR?
我试图把一个定期付款的日历,将有一个开始的date,一天的钱支付和date取消(如果有的话),但我很努力设置我的SUMIFSfunction。 我在这里设置了一个例子。
我想要做的是在付款当天添加付款价值,如果开始date小于date,并且只有取消date为空或date在取消date之前。
付款清单:
ABC 1 Payment | Begun | Cancelled ---------+------------+------------ 2 £5.00 | 01/01/2016 | 3 £9.00 | 04/01/2016 | 01/02/2016
日历(我期望的):
EF 1 Date | Payment ----------+--------- 2 01/01/16 | £5.00 3 02/01/16 | £0.00 4 03/01/16 | £0.00 5 04/01/16 | £9.00 ... 33 01/02/16 | £5.00 34 02/02/16 | £0.00 35 03/02/16 | £0.00 36 04/02/16 | £0.00
所以在这个例子中:在01/01/16和01/02/16上应该增加5英镑,而在04/01/16上只应该增加9英镑。
到目前为止在F
列我有:
=SUMIFS($A$2:$A$3, DAY($B$2:$B$3), "="&DAY(E2), $B$2:$B$3, "<="&E2, $C$2:$C$3, ">="&E2)
F2中的这个数组公式应该做你想要的:
=SUM(IF((DAY($B$2:$B$3)=DAY(E2))*(E2>=$B$2:$B$3)*(E2<=$C$2:$C$3),$A$2:$A$3))+SUM(IF((DAY($B$2:$B$3)=DAY(E2))*(E2>=$B$2:$B$3)*(""=$C$2:$C$3),$A$2:$A$3))
这是一个数组公式,必须用Ctrl-Shift-Enter确认。 然后复制下来。
数组公式中的“OR”必须使用+
。 如果你所有的都是AND
而且*
会起作用。
我假设你将要添加date列A:C,你可以改变所有的小绝对范围到所需的范围,它将工作倍数。
请原谅我们的倒退date。
你应该在你的情况下添加两个单独的SUMIF()的结果: =SUMIFS($A$2:$A$3, DAY(B$2:B$3), "="&DAY(E2), $B$2:$B$3, "<="&E2, $C$2:$C$3,">="&E2) + SUMIFS($A$2:$A$3, DAY(B$2:B$3), "="&DAY(E2), $B$2:$B$3, "<="&E2, ISBLANK($C$2:$C$3),TRUE)
按Ctrl + Shift +确认