【问题标题】:Excel help: sum numbers if within date rangeExcel帮助:如果在日期范围内,则对数字求和
【发布时间】:2018-03-01 00:45:33
【问题描述】:

我有一个费用电子表格,按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")...

【问题讨论】:

    标签: excel excel-formula date-range sumifs


    【解决方案1】:

    我不确定您是否可以使用 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")
    

    【讨论】:

    • 因为sumproduct 执行类似数组的操作,所以应避免全列引用,因为它会导致过多的不必要的计算。
    【解决方案2】:

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

    Excel 将 2018 年 2 月 1 日视为数字 43132(自 1899 年 12 月 31 日以来的天数),但随后格式化为 d-mmm-yyyy显示1-Feb-2018。您可以:

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

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

    1. =SUMIFS(C:P, A:A, "&gt;=43132", A:A, "&lt;=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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多