【问题标题】:Totaling multiple lines into once cell with different date formats将多行汇总到一个具有不同日期格式的单元格中
【发布时间】:2020-03-07 03:30:59
【问题描述】:

我想搜索格式为 YYYY-MM-DD 的日期列(G 列 - 以随机顺序),并将同一个月内所有日期的所有相应成本值相加.

因此,例如,2019 年 12 月的总费用为 200。

我目前的公式是:

=SUMPRODUCT((MONTH(G2:G6)=12)*(YEAR(G2:G6)=2019)*(H2:H6))

这给了我正确的那个月的总成本,但是如果不硬编码年份和月份,我无法计算出如何做到这一点!

我将如何使用公式来执行此操作(假设两个日期列的格式不同)?

【问题讨论】:

  • 看看SUMIFS,列G 似乎就是你所需要的。检查MONTHYEAR。如果该假设不正确,请更新您的问题,详细说明您为什么以及如何合并这两个不同的列。
  • 我已经更新了我的问题^我需要左侧的月份列,因为我有另一个应用程序读取这些值来绘制每月总成本图表
  • 数据透视表怎么样?您可以创建按月分组的数据透视表,并获取所需的值,并将其与数据透视图结合起来

标签: date google-sheets google-sheets-formula array-formulas google-sheets-query


【解决方案1】:

您可以轻松地将 SUMIFS 与 EDATE 结合使用:

SUMIFS function

EDATE function

我在 B2 单元格中使用的公式是:

=SUMIFS($F$2:$F$6;$E$2:$E$6;">="&A2;$E$2:$E$6;"<="&(EDATE(A2;1)-1))

要使此公式生效,A 列必须是每个月的第一天!。在单元格A2 中,值为01/11/2019,但应用mmmm yyyy 的格式来查看它(图表也会这样做)。

【讨论】:

    【解决方案2】:

    粘贴到D2单元格:

    =ARRAYFORMULA(QUERY({EOMONTH(G2:G, -1)+1, H2:H}, 
     "select Col1,sum(Col2) 
      where Col1 is not null 
        and not Col1 = date '1900-01-01' 
      group by Col1 
      label sum(Col2)'' 
      format Col1 'mmm yyyy'", 0))
    

    【讨论】:

      猜你喜欢
      • 2021-12-14
      • 2019-09-14
      • 1970-01-01
      • 2019-09-16
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多