在发表这篇文章之前,我已经阅读了以下文章:
- 谷歌表单中按月求和
- 获取每月金额的总和-谷歌表
- 带有日期条件的谷歌表格汇总
以及以下网站的页面:
- 使用SUMIF组合公式在谷歌表格中按月求和
- 按月求和–Excel&谷歌工作表
我试图做的只是在列中包含的范围的元素之间进行条件求和,如果它们满足一个月内的条件。我的工作表设置如下:
- 命名范围DATES(A4:A1000(
- 一个命名范围的费用(C4:C1000(
我尝试了以下功能(A6是一个包含日期的单元格(:
- =SUMPRODUCT(费用,--(月(日期(=月(A6((
- =汇总(费用,日期,>=&日期(年(A6(,月(A6(1(,日期<"amp;EOMONTH(A6,0((
- =安排公式(SUMIFS(费用,月(日期(,12,年(日期(2020((
- ={{unique(ArrayFormula(text(DATES,"MMMM"((},{ArrayFormula(sumif(ArrayFormum(text(DATES,unique(ArrayFormula(text(DATES,"MMMM"((,EXPENSES(}
- 等等
所有尝试都会给我返回一个";公式分析错误";代码#ERROR(意味着谷歌表单无法理解您编写的公式(。老实说,我不知道我的错误在哪里,是我传递了不正确的参数类型,还是忘记添加大括号、逗号等。
你提出的第一个公式(使用SUMPRODUCT
的公式(实际上对我有效。实际上,双重否定甚至没有必要。如果你有空的日期,你可能会遇到问题,所以你可以在条件中添加一个ISDATE(DATES)
,比如:
=SUMPRODUCT(EXPENSES; ISDATE(DATES)*MONTH(DATES)=MONTH(A6))
还要注意,语法错误可能是由您的区域设置引起的。请注意,我使用分号;
而不是逗号,
,因为在我的区域设置中,逗号被用作小数分隔符。类似的事情可能会发生在你身上。
参考文献
- SUMPRODUCT功能(谷歌编辑器帮助(
- MONTH功能(谷歌编辑器帮助(
- ISDATE功能(谷歌编辑器帮助(
请尝试以下公式之一
(其中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))