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

Google Sheets按年、月及状态统计数量的公式问题求助

Google Sheets 按年月+决策状态统计汇总解决方案

问题分析

你遇到的两个公式问题根源都是COUNTIFS的参数限制:

  • COUNTIFS要求所有条件参数必须是单元格范围,不能是函数生成的数组(比如YEAR($B$2:$B$1679)返回的是计算后的数组),这会导致统计失效或报错。

可行解决方案

方案1:用SUMPRODUCT处理数组统计(灵活适配多条件)

SUMPRODUCT支持直接处理数组运算,适合这种按年、月、状态的多维度统计:

  • 总数(对应年月的所有记录)

    =SUMPRODUCT(--(YEAR($B$2:$B$1679)=F5), --(MONTH($B$2:$B$1679)=E5))
    

    注:--的作用是把布尔值(TRUE/FALSE)转换为1/0,SUMPRODUCT会将所有条件都满足的项相加计数。

  • 已购买数(对应年月+状态为purchase)

    =SUMPRODUCT(--(YEAR($B$2:$B$1679)=F5), --(MONTH($B$2:$B$1679)=E5), --($A$2:$A$1679="purchase"))
    
  • 拒绝/稍后提醒数(对应年月+状态为reject或remind later)

    =SUMPRODUCT(--(YEAR($B$2:$B$1679)=F5), --(MONTH($B$2:$B$1679)=E5), --(($A$2:$A$1679="reject")+($A$2:$A$1679="remind later")>0))
    

方案2:用日期范围判断(更高效,适配COUNTIFS)

直接通过日期区间匹配年月,避免数组运算,让COUNTIFS正常工作:

  • 总数

    =COUNTIFS($B$2:$B$1679, ">="&DATE(F5,E5,1), $B$2:$B$1679, "<"&DATE(F5,E5+1,1))
    

    注:DATE(F5,E5,1)生成对应年月的第一天,DATE(F5,E5+1,1)生成下一月第一天,两者构成完整的年月区间。

  • 已购买数

    =COUNTIFS($B$2:$B$1679, ">="&DATE(F5,E5,1), $B$2:$B$1679, "<"&DATE(F5,E5+1,1), $A$2:$A$1679, "purchase")
    
  • 拒绝/稍后提醒数

    =COUNTIFS($B$2:$B$1679, ">="&DATE(F5,E5,1), $B$2:$B$1679, "<"&DATE(F5,E5+1,1), $A$2:$A$1679, "reject") + COUNTIFS($B$2:$B$1679, ">="&DATE(F5,E5,1), $B$2:$B$1679, "<"&DATE(F5,E5+1,1), $A$2:$A$1679, "remind later")
    

内容的提问来源于stack exchange,提问作者Albert Tjornejoj

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 09:02:10