Google 表格 - 按月汇总列范围的元素

时间:2021-05-20 02:44:04

标签: date google-sheets google-sheets-formula

在发这个帖子之前,我已经阅读了以下帖子:

以及以下网站的页面:

我尝试做的只是在列中包含的范围元素之间进行条件求和,前提是它们满足在一个月内的条件。我的工作表的设置如下:

  • 命名范围 DATES (A4:A1000)
  • 命名范围费用 (C4:C1000)

我尝试了以下函数(A6 是一个包含日期的单元格):

  • = SUMPRODUCT(EXPENSES, --(MONTH(DATES) = MONTH(A6))) [这个似乎只能在 Excel 中工作]
  • = SUMIFS(EXPENSES, DATES, ">="&DATE(YEAR(A6), MONTH(A6), 1), DATES, "<="&EOMONTH(A6,0))
  • = ArrayFormula(SUMIFS(EXPENSES, MONTH(DATES), 12, YEAR(DATES), 2020))
  • ={{unique(ArrayFormula(text(DATES,"MMMM")))}, {ArrayFormula(sumif(ArrayFormula(文本(日期,“MMMM”)), unique(ArrayFormula(text(DATES,"MMMM"))),EXPENSES))}}

所有尝试都会返回“公式解析错误”,代码为 #ERROR (Meaning Google Sheets cannot make sense of the formula you have written)。老实说,我不知道我的错误在哪里,是我传递了错误的参数类型还是忘记添加大括号、逗号等。

2 个答案:

答案 0 :(得分:1)

您提出的第一个公式(使用 SUMPRODUCT 的公式)实际上对我有用。实际上,双重否定甚至没有必要。如果您有空日期,您可能会遇到问题,因此您可以在条件中添加一个 ISDATE(DATES),如下所示:

=SUMPRODUCT(EXPENSES; ISDATE(DATES)*MONTH(DATES)=MONTH(A6))

另请注意,您的语言环境可能会导致语法错误。请注意,我使用的是分号 ; 而不是逗号 ,,因为在我的语言环境中,逗号用作小数点分隔符。类似的事情可能会发生在您身上。

参考文献

答案 1 :(得分:0)

请尝试以下公式之一
(其中 A2:A 是您的日期范围,A1 是您的日期,C2:C 是您的费用范围)

如果所有日期都在同一年内,请尝试

=ArrayFormula(SUMIF(MONTH(A2:A),"="&MONTH(A1),C2:C))

如果你有不同的年份使用

=ArrayFormula(SUMIF(MONTH(A2:A)&YEAR(A2:A),"="&MONTH(A1)&YEAR(A1),C2:C))
相关问题