如何将 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,您可以将所有小的绝对范围更改为所需的范围,它适用于倍数。

请原谅我们倒退的日期。