将多行总计为具有不同日期格式的一个单元格

时间:2019-11-11 12:34:06

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

我想搜索格式为 YYYY-MM-DD (G列-随机顺序)的日期列,并汇总同一个月中所有日期的所有相应费用值

sheets

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

我当前的公式是:

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

这可以正确地给我该月的总费用,但是如果不对年份和月份进行硬编码,我就无法确定该怎么做!

我该如何使用公式(鉴于两个日期列的格式不同)?

2 个答案:

答案 0 :(得分:1)

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

enter image description here

  

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的格式来查看它(图表将执行相同的操作)。

答案 1 :(得分:1)

粘贴在 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))

0