You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets如何用SUMIFS结合月份与当前年份汇总捐款?

Google Sheets 按当前年份+月份汇总捐款金额解决方案

方法一:利用日期区间匹配(推荐,不受区域语言影响)

直接构造当前年份对应月份的起止日期,用SUMIFS限定日期范围求和,公式如下(假设汇总表中D2为目标月份名称,如January):

=SUMIFS(Donation[Amount], 
         Donation[Date], ">="&DATE(YEAR(TODAY()), MONTH(DATEVALUE(D2&" 1")), 1),
         Donation[Date], "<="&EOMONTH(DATE(YEAR(TODAY()), MONTH(DATEVALUE(D2&" 1")), 1), 0))
  • 逻辑说明:
    1. DATEVALUE(D2&" 1")将月份名称转换为对应日期(如January 1转为日期值),再用MONTH()提取月份数字
    2. DATE(YEAR(TODAY()), ..., 1)生成当前年份下该月的第一天
    3. EOMONTH(..., 0)生成当前年份下该月的最后一天
    4. SUMIFS筛选日期在该区间内的记录,求和对应捐款金额

方法二:用SUMPRODUCT处理双数组条件

如果坚持用月份名称和年份文本匹配,可改用SUMPRODUCT处理数组条件,规避SUMIFS的区域限制问题:

=SUMPRODUCT(
    --(TEXT(Donation[Date], "YYYY")=TEXT(TODAY(), "YYYY")),
    --(TEXT(Donation[Date], "MMMM")=D2),
    Donation[Amount]
)
  • 逻辑说明:
    1. TEXT(Donation[Date], "YYYY")提取每条记录的年份文本,与当前年份文本匹配
    2. TEXT(Donation[Date], "MMMM")提取每条记录的月份名称文本,与D2的月份匹配
    3. --将布尔匹配结果转换为1/0,三个数组相乘后求和,仅同时满足两个条件的金额会被累加

为什么之前的SUMIFS写法失效?

SUMIFS要求条件区域为单元格区域,直接嵌套ARRAYFORMULA+TEXT生成的数组时,容易因格式匹配、区域语言设置(如月份名称的本地化显示)导致条件不匹配,而上述两种方法要么用日期数值区间(更精准),要么用SUMPRODUCT原生支持数组运算,避免了这类问题。

内容的提问来源于stack exchange,提问作者Scott K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 23:37:02