Table of contents
在处理报告、投资计划或任何其他带有日期的数据集时,你可能经常需要对特定时期的数字进行求和。 本教程将教你一个快速而简单的解决方案--以日期范围为标准的SUMIFS公式。
在我们的博客和其他Excel论坛上,经常有人问如何使用日期范围的SUMIF。 重点是,要在两个日期之间求和,你需要定义两个日期,而Excel的SUMIF函数只允许一个条件。 幸运的是,我们还有支持多个条件的SUMIFS函数。
如何在Excel中对两个日期之间进行求和
要对某一日期范围内的值进行求和,请使用以开始和结束日期为标准的SUMIFS公式。 SUMIFS函数的语法要求你首先指定要加的值(sum_range),然后提供范围/标准对。 在我们的例子中,范围(一个日期列表)对两个标准都是相同的。
考虑到上述情况,两个日期之间的数值相加的通用公式采取这种形式。
包括门槛日期。
SUMIFS( 总数_范围 , 枣庄 ,">= 开始日期 ", 枣庄 , "<= 结束日期 ")不包括门槛日期。
SUMIFS( 总数_范围 , 枣庄 ,"> 开始日期 ", 枣庄 , "< 结束日期 ")正如你所看到的,区别只在于逻辑运算符。 在第一个公式中,我们使用了 大于 或 等于 (>=)和 小于或等于 (<=),在结果中包括阈值日期。 第二个公式检查一个日期是否是 大于 (>) 或 不到 (<),省去了开始和结束日期。
在下表中,假设你想把在某一特定日期范围内到期的项目加起来,包括在内。 要做到这一点,使用这个公式。
=SUMIFS(B2:B10, C2:C10, ">=9/10/2020", C2:C10, "<=9/20/2020" )
如果你不想在公式中硬编码日期范围,那么你可以在F1中输入开始日期,在G1中输入结束日期,将逻辑运算符和单元格引用连接起来,并像这样将整个条件用引号括起来。
=SUMIFS(B2:B10, C2:C10, ">="&F1, C2:C10, "<="& G1)
为了避免可能的错误,你可以在DATE函数的帮助下提供日期。
=SUMIFS(B2:B10, C2:C10, ">="&DATE(2020,9,10), C2:C10, "<="& DATE(2020,9,20))
根据今天的日期,在动态范围内求和
如果你需要在一个动态的日期范围内求和(从今天开始往前追溯X天或往前追溯Y天),可以通过使用TODAY函数来构建标准,它将获得当前日期并自动更新。
例如,要对过去7天内到期的预算进行汇总 包括今天的日期 ,公式为。
=SUMIFS(B2:B10, C2:C10, "" &TODAY()-7)
如果你不希望在最终结果中包括当前日期,可以使用 不到 操作符(<)为第一个条件,排除今天的日期和 大于或等于 (>=)为第二个标准,包括今天之前7天的日期。
=SUMIFS(B2:B10, C2:C10, "="&TODAY()-7)
以类似的方式,如果一个日期往前推了一定的天数,你可以将数值相加。
例如,要获得未来3天内到期的预算总额,请使用以下公式之一。
今天的日期包括在结果中。
=SUMIFS(B2:B10, C2:C10, ">="&TODAY(), C2:C10, "<"&TODAY()+3)
今天的日期不包括在结果中。
=SUMIFS(B2:B10, C2:C10, ">"&TODAY(), C2:C10, "<="&TODAY()+3)
如果在两个日期和另一个标准之间求和
要对一个日期范围内符合其他条件的不同列的值进行求和,只需在SUMIFS公式中再添加一个范围/条件对。
例如,要对所有名称中含有 "tip "的项目在某一日期范围内的预算进行汇总,可以用通配符条件扩展公式。
=SUMIFS(B2:B10, C2:C10, ">="&F1, C2:C10, "<="&G1, A2:A10, "提示*")
其中A2:A10是项目名称,B2:B10是要加的数字,C2:C10是要检查的日期,F1是开始日期,G1是结束日期。
当然,你也可以在一个单独的单元格中输入第三个条件,并像截图中所示那样引用该单元格。
SUMIFS日期标准的语法
当涉及到使用日期作为Excel SUMIF和SUMIFS函数的标准时,你不会是第一个感到困惑的人 :)
然而,仔细一看,所有各种各样的用例都可以归结为几个简单的规则。
如果你把日期直接放在 标准论据 然后在日期前输入一个逻辑运算符(>, <, =, ),并将整个标准用引号括起来。 例如。
=SUMIFS(B2:B10, C2:C10, ">=9/10/2020", C2:C10, "<=9/20/2020" )
当一个日期被输入到一个预定义的 电池 例如,以文本字符串的形式提供标准:用引号括住逻辑运算符,开始一个字符串,用安培号(&)连接并结束字符串。 例如。
=SUMIFS(B2:B10, C2:C10, ">="&F1, C2:C10, "<="& G1)
当一个日期是由 另一个功能 例如DATE或TODAY(),连接一个比较运算符和一个函数。 例如。
=SUMIFS(B2:B10, C2:C10, ">="&DATE(2020,9,10), C2:C10, "<="& TODAY()
Excel中日期之间的SUMIFS不工作
如果你的配方不工作或产生错误的结果,下面的故障排除提示可能会阐明它失败的原因并帮助你解决问题。
检查日期和数字的格式
如果一个看似正确的SUMIFS公式只返回0,首先要检查的是你的日期是否真的是日期,而不是看起来像日期的文本字符串。 其次,要确定你是在求数字,而不是以文本形式存储的数字。 下面的教程将帮助你发现和解决这些问题。
- 如何将 "文本日期 "改为真实日期
- 如何将文本转换为数字
为标准使用正确的语法
当使用SUMIFS检查日期时,日期应放在引号内,如">=9/10/2020";单元格引用和函数应放在引号外,如"<="&G1或"<="&TODAY()。 关于详细情况,请参见日期标准语法。
验证该公式的逻辑
预算中的一个小错误可能会造成数百万的损失。 公式中的一个小错误可能会花费数小时的调试时间。 因此,当在两个日期之间求和时,检查开始日期前面是否有 大于 (>) 或 大于或等于 (>=)运算符,并且结束日期的前缀是 不到 (<) 或 小于或等于 (<=)。
确保所有范围都是相同的尺寸
为了使SUMIFS函数正常工作,总和范围和标准范围的大小应该相等,否则会发生#VALUE!错误。 要解决这个问题,确保所有的 标准_范围 参数的行数和列数与 总数_范围 .
这就是如何使用Excel的SUMIFS函数来对一个日期范围内的数据进行求和。 如果你有一些其他有趣的解决方案,如果你在评论中分享,我将非常感激。 谢谢你的阅读,希望下周在我们的博客上看到你!
供下载的实践工作手册
SUMIFS日期范围示例(.xlsx文件)。