Excel SUMIFS日期范围公式--如果在两个日期之间求和

  • Share This
Michael Brown

在处理报告、投资计划或任何其他带有日期的数据集时,你可能经常需要对特定时期的数字进行求和。 本教程将教你一个快速而简单的解决方案--以日期范围为标准的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文件)。

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.