Excel2007如何使用COUNTIFS统计指定月份匹配文本条件的数据
公式错误原因
你的公式返回0值是几个核心语法/逻辑错误导致的:
- COUNTIFS的参数规则是
(条件区域1, 条件1, 条件区域2, 条件2, ...),所有条件区域的尺寸、行号必须完全对齐,且必须指向你要统计的原始数据。你第二个条件区域错误写了RESULT SHEET!A2:L31,这是结果表的多列范围,既和第一个条件区域'FIRST SHEET'!D2:D35尺寸不匹配,也和你要判断的日期列完全无关。 - 你写的
MONTH('FIRST SHEET'!C2:C30)=06属于数组运算逻辑,COUNTIFS不支持直接把这类运算式作为匹配条件,无法被正常识别。 - 第一个条件区域选了D列2-35行,日期列却只选了C列2-30行,行范围不统一,会直接导致统计错位。
- 额外逻辑错误:Excel日期本质是数字序列,直接用
=06匹配日期列,只会匹配到1900年1月6日的日期,不可能识别到6月的所有日期。
正确实现方法
优先用日期区间做匹配,兼容所有Excel版本,统计效率最高,不会出现识别问题:
场景1:统计指定年份6月的匹配数据
如果要统计固定年份(比如2024年)6月、且D列值为"1. New"的行数,直接写:
=COUNTIFS('FIRST SHEET'!D2:D35,"1. New",'FIRST SHEET'!C2:C35,">=2024/6/1",'FIRST SHEET'!C2:C35,"<2024/7/1")
如果要自动匹配公式当年的6月,不需要固定年份,可以用DATE函数生成日期边界:
=COUNTIFS('FIRST SHEET'!D2:D35,"1. New",'FIRST SHEET'!C2:C35,">="&DATE(YEAR(TODAY()),6,1),'FIRST SHEET'!C2:C35,"<"&DATE(YEAR(TODAY()),7,1))
场景2:统计所有年份6月的匹配数据
如果不分年份,只要是6月的记录都算,且你用的是Excel 365/2021及以上支持动态数组的版本,可以用FILTER+COUNT实现:
=COUNT(FILTER('FIRST SHEET'!D2:D35,('FIRST SHEET'!D2:D35="1. New")*(MONTH('FIRST SHEET'!C2:C35)=6)))
注意事项
- 写多条件统计公式时,所有条件区域必须严格对齐行号范围,不要出现不同条件选的行数不一致的情况。
- COUNTIFS的条件区域只需要引用原始数据表的对应列即可,不需要把存放结果的工作表区域写到参数里,公式写在哪个单元格,结果就会输出到哪个单元格。
内容的提问来源于stack exchange,提问作者palsud4
相关产品推荐
相关产品推荐

