Excel帮助:如果在日期范围内,则汇总数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel帮助:如果在日期范围内,则汇总数字相关的知识,希望对你有一定的参考价值。

我有一个费用电子表格,按照CP列中的类别排序(例如,C栏中的“出租”,D栏中的“餐饮”等)。日期在A列中。我想在列C:P中找到所有费用的总和,但只能找到日期介于某个范围之间的所有费用的总和。这是我试过的:

=SUMIFS(C:P,A:A,">=1-Feb-2018",A:A,"<=28-Feb-2018")

但我得到一个#VALUE!错误。我认为这是因为C:PA:A的尺寸选择不同?如果我这样做的话

=SUMIFS(C:C,A:A,">=1-Feb-2018",A:A,"<=28-Feb-2018")

是否有其他公式可以不使用而工作

= SUMIFS(C:C,A:A,">=1-Feb-2018",A:A,"<=28-Feb-2018")
 +SUMIFS(D:D,A:A,">=1-Feb-2018",A:A,"<=28-Feb-2018")
 +SUMIFS(E:E,A:A,">=1-Feb-2018",A:A,"<=28-Feb-2018")...
答案

我不确定你是否可以使用SUMIFS,但这是一个SUMPRODUCT版本:

=SUMPRODUCT(C:P * (A:A <= DATE(2018,2,28)) * (A:A >= DATE(2018,2,1)))

你也可以创建一个辅助列,比如Q,它总结了C:P并使用你的SUMIFS

=SUMIFS(Q:Q, A:A, ">=1-Feb-2018", A:A, "<=28-Feb-2018")
另一答案

这是因为1-Feb-2018不被Excel识别为日期 - 它将在公式中给出#Name?错误,因为它甚至不是字符串(">=""1-Feb-2018"""))

2018年2月1日由Excel处理数字43132(自1991年12月31日以来的天数),然后格式化为d-mmm-yyyy以显示为1-Feb-2018。你可以:

  1. 输入数字:">=43132"
  2. 将0添加到字符串版本以进行转换:">=(0+""1-Feb-2018"")"
  3. 使用DATE函数:">=" & DATE(2018,2,1)

所有这三个都与SUMIFS一起工作,如下所示:

  1. =SUMIFS(C:P, A:A, ">=43132", A:A, "<=43159")
  2. =SUMIFS(C:P, A:A, ">=(0+""01-Feb-2018"")", A:A, "<=(0+""28-Feb-2018"")")
  3. =SUMIFS(C:P, A:A, ">=" & DATE(2018,2,1), A:A, "<=" & DATE(2018,2,28))

就个人而言,我推荐方法3

以上是关于Excel帮助:如果在日期范围内,则汇总数字的主要内容,如果未能解决你的问题,请参考以下文章

如何在excel中生成一个在一定范围内的随机数

在一个范围内选择最大和最小日期时间

Excel公式用于搜索范围内的所有单元格是不是为“True”,如果不是,则显示“False”

使用 Excel 显示日期范围内的出现次数

如果某列范围内的所有单元格均为空白,则删除 Excel 中的一行

访问 VBA - 在大范围内更改 Excel 单元格值的更快方法?