如何将 Excel 中的 SUMIFS 放在一起以包含 OR?
How can I put together a SUMIFS in Excel to include an OR?
我正在尝试整理一个定期付款日历,其中包含开始日期、支付日期和取消日期(如果有的话),但是我在设置 SUMIFS 时遇到了困难功能。我已经设置了一个示例 here。
我想做的是在付款当天添加支付的价值,如果开始日期小于日期,并且只有取消日期为空或日期早于日期取消。
付款清单:
A B C
1 Payment | Begun | Cancelled
---------+------------+------------
2 £5.00 | 01/01/2016 |
3 £9.00 | 04/01/2016 | 01/02/2016
日历(我期望的):
E F
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
所以在这个例子中:£5 应该在 01/01/16 和 01/02/16 添加,而 £9 应该只在 04/01/16 添加。
到目前为止,在 F
列中,我有:
=SUMIFS($A:$A, DAY($B:$B), "="&DAY(E2), $B:$B, "<="&E2, $C:$C, ">="&E2)
在您的情况下,您应该只添加两个单独的 SUMIF() 的结果:
=SUMIFS($A:$A, DAY(B:B), "="&DAY(E2), $B:$B, "<="&E2, $C:$C,">="&E2)
+
SUMIFS($A:$A, DAY(B:B), "="&DAY(E2), $B:$B, "<="&E2, ISBLANK($C:$C),TRUE)
使用 Ctrl+Shift+enter 确认
F2 中的这个数组公式应该可以满足您的要求:
=SUM(IF((DAY($B:$B)=DAY(E2))*(E2>=$B:$B)*(E2<=$C:$C),$A:$A))+SUM(IF((DAY($B:$B)=DAY(E2))*(E2>=$B:$B)*(""=$C:$C),$A:$A))
是数组公式,必须用Ctrl-Shift-Enter确认。然后复制下来。
数组公式中的'OR'必须使用+
。如果你只有 AND
,那么 *
就可以了。
我假设您要将日期添加到列 A:C,您可以将所有小的绝对范围更改为所需的范围,它适用于倍数。
请原谅我们倒退的日期。
我正在尝试整理一个定期付款日历,其中包含开始日期、支付日期和取消日期(如果有的话),但是我在设置 SUMIFS 时遇到了困难功能。我已经设置了一个示例 here。
我想做的是在付款当天添加支付的价值,如果开始日期小于日期,并且只有取消日期为空或日期早于日期取消。
付款清单:
A B C
1 Payment | Begun | Cancelled
---------+------------+------------
2 £5.00 | 01/01/2016 |
3 £9.00 | 04/01/2016 | 01/02/2016
日历(我期望的):
E F
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
所以在这个例子中:£5 应该在 01/01/16 和 01/02/16 添加,而 £9 应该只在 04/01/16 添加。
到目前为止,在 F
列中,我有:
=SUMIFS($A:$A, DAY($B:$B), "="&DAY(E2), $B:$B, "<="&E2, $C:$C, ">="&E2)
在您的情况下,您应该只添加两个单独的 SUMIF() 的结果:
=SUMIFS($A:$A, DAY(B:B), "="&DAY(E2), $B:$B, "<="&E2, $C:$C,">="&E2)
+
SUMIFS($A:$A, DAY(B:B), "="&DAY(E2), $B:$B, "<="&E2, ISBLANK($C:$C),TRUE)
使用 Ctrl+Shift+enter 确认
F2 中的这个数组公式应该可以满足您的要求:
=SUM(IF((DAY($B:$B)=DAY(E2))*(E2>=$B:$B)*(E2<=$C:$C),$A:$A))+SUM(IF((DAY($B:$B)=DAY(E2))*(E2>=$B:$B)*(""=$C:$C),$A:$A))
是数组公式,必须用Ctrl-Shift-Enter确认。然后复制下来。
数组公式中的'OR'必须使用+
。如果你只有 AND
,那么 *
就可以了。
我假设您要将日期添加到列 A:C,您可以将所有小的绝对范围更改为所需的范围,它适用于倍数。
请原谅我们倒退的日期。