检查大于一年后对一系列数字求和

Summing a range of numbers after checking that is greater than a year

目前我正在 excel 上创建一个未付付款列表,它有助于合并逾期一年以上的数字和数字(单元格 C44)。

图像的问题是,17 年 12 月 12 日金额为 55 美元的发票 #55 还未满一年,但它出现在单元格 C44 中。

我将 dd.mm.yy 中的日期列格式化为文本。那么我如何以这样的方式对其进行编码,它会检查所有日期(B 列)并将其汇总到单元格 C44 中,只有当日期超过一年时才计算在内?

这是代码示例。

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

如有任何帮助,我们将不胜感激。

更新于 2018 年 6 月 1 日

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

但它返回 0。我该怎么办?

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

=DATE("20"&RIGHT(B24:B29,2),MID(B24:B29,4,2),LEFT(B24:B29,2)) - 本答案所有公式均为数组公式; Ctrl + Shift + Enter 同时仍在公式栏中

这将构建一个日期数组。

使用这个你可以对日期值进行逻辑运算:

=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 值以避免错误。