【问题标题】:Google Sheets - Sum Elements of a Column's Range by MonthGoogle 表格 - 按月对列范围的元素求和
【发布时间】:2021-08-09 06:53:59
【问题描述】:

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

以及以下网站的页面:

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

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

我已经尝试了以下功能(A6是一个包含日期的单元格):

  • = SUMPRODUCT(EXPENSES, --(MONTH(DATES) = MONTH(A6))) [这个似乎只在 Excel 中有效]
  • = SUMIFS(EXPENSES, DATES, ">="&DATE(YEAR(A6), MONTH(A6), 1), DATES, "
  • = ArrayFormula(SUMIFS(EXPENSES, MONTH(DATES), 12, YEAR(DATES), 2020))
  • ={{独特的(ArrayFormula(文本(DATES,"MMMM")))}, {ArrayFormula(sumif(ArrayFormula(text(DATES,"MMMM")), 唯一的(ArrayFormula(text(DATES,"MMMM"))),EXPENSES))}}

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

【问题讨论】:

  • SUMIFS() 应该可以工作。你能提供一些样本数据吗?

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


【解决方案1】:

请尝试以下公式之一
(其中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))

【讨论】:

    【解决方案2】:

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

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

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

    参考文献

    【讨论】:

    • 你是对的。关键在于语言环境的分隔符(无论是分号还是逗号)。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多