基于日期范围的COUNTIFS用法:按月统计各层级(Tier1-3)数量
用COUNTIFS统计2023年各月份Tier层级数量的正确方法
你的思路没问题,确实可以用COUNTIFS实现多条件计数,但之前的写法不符合函数语法规则,下面是具体的解决方法:
单个月份单个层级的基础公式
假设你的日期数据在E列,Tier层级数据在F列(如果层级列不是F,请自行替换),统计2023年1月Tier1的数量,公式如下:
=COUNTIFS(E:E,">="&DATE(2023,1,1), E:E,"<="&EOMONTH(DATE(2023,1,1),0), F:F,"Tier1")
- 用
DATE(2023,1,1)生成标准日期,避免因系统日期格式差异导致的匹配错误 EOMONTH(DATE(2023,1,1),0)自动返回当月最后一天(1月31日),不用手动输入每个月的天数
批量统计所有月份和层级
如果需要一次性统计1-12月、Tier1-Tier3的所有数据,有两种便捷方式:
方法1:下拉填充公式
- 在表格中列出月份(1-12)和层级(Tier1-Tier3)的组合
- 对应单元格输入公式(假设月份在A列,层级在B列):
=COUNTIFS(E:E,">="&DATE(2023,A2,1), E:E,"<="&EOMONTH(DATE(2023,A2,1),0), F:F,B2)
- 下拉/右拉公式即可自动生成所有统计结果
方法2:Excel 365/2021动态数组公式
如果使用支持动态数组的Excel版本,直接输入以下公式会自动生成12行3列的统计矩阵:
=LET( months, SEQUENCE(12), tiers, {"Tier1","Tier2","Tier3"}, BYROW(months, LAMBDA(m, BYCOL(tiers, LAMBDA(t, COUNTIFS(E:E,">="&DATE(2023,m,1), E:E,"<="&EOMONTH(DATE(2023,m,1),0), F:F,t) )) )) )
常见问题排查
- 日期格式错误:确保E列是真正的日期格式(不是文本),可以用
=ISNUMBER(E9)验证,返回TRUE才是有效日期 - 文本匹配问题:检查层级列的文本和公式中的是否完全一致(比如有没有多余空格、大小写差异)
- 范围优化:尽量避免整列引用(如
E:E),改用实际数据范围(如E9:E1000),提升计算速度
内容的提问来源于stack exchange,提问作者CurranC
相关产品推荐
相关产品推荐

