支付日期之间账单日期的每月出现次数



供参考;今天是24/01/2018。

我有公式将我以前的付款日期放在以"YYYYMM"格式命名的工作表单元格中。在这种情况下,单元格201712!B1,基于上次发薪日期的月份。

下一个付款日期模板中!b1

账单从我的帐户中取出的日期在 [@[开始日期]]

目前我设法想出的最好的公式是数组公式:

要计算付款发生的次数,请执行以下操作:

{=SUMPRODUCT(--(TEXT(ROW(INDIRECT(INDIRECT(TEXT(DATE(YEAR(TEMPLATE!$B$1),MONTH(TEMPLATE!$B$1)-1,DAY(TEMPLATE!$B$1)),"yyyymm")&"!$b$1")&":"&DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY())))),"dd")=TEXT([@[START DATE]],"dd")))}

以上似乎运行正常...但我现在质疑它,因为

为了计算出付款仍会发生多少次,我有:

{=SUMPRODUCT(--(TEXT(ROW(INDIRECT(DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY())+1)&":"&TEMPLATE!$B$1-1)),"dd")=TEXT([@[START DATE]],"dd")))}

我最后的发薪日期是 22/12/2017,下一个发薪日期是 25/01/2018

第二个公式显示,对于在此支付期内每月 25 日发生的付款,我还有一笔付款要支付,今天应该是最后一天。

我想我可能把这复杂化了...任何帮助将不胜感激。

您的第二个公式由于函数的工作方式而出现故障ROW例如ROW(3:1)为您提供与ROW(1:3)相同的公式,因此在您的公式中,当今天+1在下一个发薪日-1之后时,您仍然会得到这两个日期,因此计算超出范围的付款日期

为什么不只检查账单日期是否在今天之后,而是在下一个发薪日之前,就像这样:

=COUNTIFS([@[START DATE]],">"&TODAY(),[@[START DATE]],"<"&TEMPLATE!$B$1)

对于在上发薪日和今天(含)之间支付的账单,您可以做类似的事情,即

=COUNTIFS([@[START DATE]],">="&INDIRECT(TEXT(EDATE(TEMPLATE!$B$1,-1),"yyyymm")&"!B1"),[@[START DATE]],"<="&TODAY())

最新更新