Excel表格中用COUNTIFS按姓名和月份统计LE列L值的次数
嘿,我来给你几个不用额外加月份列的高效统计方法,完全适配你的Excel场景~
方法1:用COUNTIFS函数(最推荐,简单直接)
这是Excel里多条件统计的首选工具,完全不需要额外辅助列,而且能精准匹配你的日期、姓名和LE值。
公式结构如下:
=COUNTIFS( Date列范围, ">="&DATE(目标年份, 目标月份, 1), Date列范围, "<="&EOMONTH(DATE(目标年份, 目标月份, 1), 0), Name列范围, "你要统计的姓名", LE列范围, "L" )
举个实际例子:假设你的数据存在A2:C6(A列是Date,B列是Name,C列是LE),要统计2018年3月Jan的L次数,公式就是:
=COUNTIFS(A:A, ">="&DATE(2018,3,1), A:A, "<="&EOMONTH(DATE(2018,3,1),0), B:B, "Jan", C:C, "L")
注:这个公式会直接读取单元格里实际存储的日期值,完全不受你设置的4-April-18显示格式影响,非常靠谱。
方法2:用SUMPRODUCT函数(兼容旧版Excel)
如果你的Excel版本比较旧,或者习惯用数组类函数,SUMPRODUCT也是个不错的选择:
=SUMPRODUCT( (YEAR(Date列范围)=目标年份)* (MONTH(Date列范围)=目标月份)* (Name列范围="你要统计的姓名")* (LE列范围="L") )
同样用刚才的例子,公式就是:
=SUMPRODUCT((YEAR(A:A)=2018)*(MONTH(A:A)=3)*(B:B="Jan")*(C:C="L"))
小提示:如果数据量很大,建议用具体的单元格范围(比如A2:A6)代替整列引用(A:A),能提升运算速度。
方法3:Excel 365/2021 用FILTER+COUNT(灵活拓展)
要是你用的是新版Excel(365或2021及以后),可以用FILTER先筛选出符合条件的记录,再统计数量,后续想查看具体数据也很方便:
=COUNT(FILTER( LE列范围, (YEAR(Date列范围)=目标年份)* (MONTH(Date列范围)=目标月份)* (Name列范围="你要统计的姓名")* (LE列范围="L"), 0 ))
进阶技巧:动态参数输入
如果你想快速切换统计的年份、月份和姓名,可以把这些参数放到单独的单元格里(比如E1填年份,E2填月份,E3填姓名),然后把公式改成动态引用:
=COUNTIFS(A:A, ">="&DATE(E1,E2,1), A:A, "<="&EOMONTH(DATE(E1,E2,1),0), B:B, E3, C:C, "L")
这样只要修改E1-E3的内容,就能自动更新统计结果,比手动改公式高效太多啦!
内容的提问来源于stack exchange,提问作者user21354




