在检查超过一年后对一系列数字求和

时间:2018-01-05 05:40:32

标签: excel excel-formula excel-2016

目前我在excel上创建一个未完成的付款清单,有助于整合逾期超过一年的数字和数字(Cell C44)。

Image here

图片的问题在于,12.12.17的发票#55日期为55美元,尚未成为未偿还的一年,但它出现在Cell C44中。

我将dd.mm.yy中的日期列格式化为Text。那么我该如何对其进行编码,以便检查所有日期(B列)并将其汇总到Cell C44中,如果它的日期超过一年?

这是代码示例。

=SUMIF(B24:B29,"<31.12.16",E24:E29)-SUMIF(B24:B29,"<31.12.16",G24:G29)

任何帮助都将不胜感激。

于06/01/2018更新

我尝试将MID公式集成到代码中,如=SUMIF(B24:B29,MID(B24:B29,7,2)<="16",E24:E29)-SUMIF(B24:B29,MID(B24:B29,7,2)<="16",G24:G29)

Image 2 但它返回0.我该怎么办?

1 个答案:

答案 0 :(得分:1)

由于您的日期总是dd.mm.yy,您可以使用DATE()函数从部分构建日期:

=DATE("20"&RIGHT(B24:B29,2),MID(B24:B29,4,2),LEFT(B24:B29,2)) - 这个答案中的所有公式都是数组公式; Ctrl + Shift + 输入但仍在公式栏中

这将构建一个日期数组。

使用此功能,您可以对日期值执行逻辑操作:

=IF(DATE("20"&RIGHT(B24:B29,2),MID(B24:B29,4,2),LEFT(B24:B29,2))<DATE(2016,12,31),E24:E29-G24:G29)

这样做我们现在已经在E中构建了一个值数组,减去G中的值,所以剩下的就是求和:

=SUM(IF(DATE("20"&RIGHT(B24:B29,2),MID(B24:B29,4,2),LEFT(B24:B29,2))<DATE(2016,12,31),E24:E29-G24:G29))

修改

=SUM(IF(IFERROR(DATE("20"&RIGHT(B24:B29,2),MID(B24:B29,4,2),LEFT(B24:B29,2))<DATE(2016,12,31),0),E24:E29-G24:G29,0))

生成0值以避免错误。