Excel中如何按年月统计唯一序列号?现有公式无法去重
按年月统计唯一序列号的Excel公式方案
针对你需要按年月(D2单元格的值)统计Consumption per charger and mon工作表中A列非空唯一序列号的需求,以下分Excel版本给出可行公式:
适用于Excel 365/2021及以上版本(支持动态数组函数)
使用FILTER+UNIQUE+ROWS组合实现高效去重统计:
=ROWS(UNIQUE(FILTER('Consumption per charger and mon'!A:A,('Consumption per charger and mon'!G:G=D2)*('Consumption per charger and mon'!A:A<>""))))
- 逻辑说明:
FILTER先筛选出G列匹配D2年月且A列非空的所有序列号;UNIQUE对筛选结果去重;ROWS统计去重后的行数,即唯一序列号的数量。
适用于旧版Excel(无动态数组函数)
使用SUMPRODUCT结合COUNTIF实现去重统计:
=SUMPRODUCT(('Consumption per charger and mon'!G:G=D2)*('Consumption per charger and mon'!A:A<>"")/COUNTIF('Consumption per charger and mon'!A:A,'Consumption per charger and mon'!A:A&""))
- 逻辑说明:
('Consumption per charger and mon'!G:G=D2)*('Consumption per charger and mon'!A:A<>""):生成由0和1组成的数组,标记符合年月条件且序列号非空的行;COUNTIF('Consumption per charger and mon'!A:A,'Consumption per charger and mon'!A:A&""):计算每个序列号在A列的出现次数;- 用第一步的数组除以第二步的次数数组,每个唯一序列号对应的结果会是1(出现n次就n个1/n相加得1),最后
SUMPRODUCT求和得到唯一数量。
优化建议
为提升公式计算效率,建议将整列引用(如A:A、G:G)替换为实际的数据范围(如A2:A1000、G2:G1000),避免不必要的计算。
内容的提问来源于stack exchange,提问作者user3519275
相关产品推荐
相关产品推荐

