基于双条件COUNTIF函数忽略重复值的BEV/HEV/ICE车辆年度购买量统计及图表制作问题
基于双条件COUNTIF函数忽略重复值的BEV/HEV/ICE车辆年度购买量统计及图表制作问题
嘿,我来帮你搞定这个统计问题!首先明确一点:你确实需要忽略重复值——因为E列是车辆的唯一标识,要是同一辆车在数据里出现多次(比如重复录入),不去重的话会导致统计出来的数量虚高,每辆车只该被算一次对吧?
接下来分两种Excel版本给你解决方案,你可以根据自己的版本选:
一、适用于所有Excel版本(包括旧版)的SUMPRODUCT公式
假设你的数据范围是:E2:E1000(车辆唯一标识)、K2:K1000(年份)、M2:M1000(车辆类型)。要统计某一年某类车型的不重复数量,公式可以这么写:
比如统计2023年BEV的数量:
=SUMPRODUCT((K2:K1000=2023)*(M2:M1000="BEV")/COUNTIFS(E2:E1000,E2:E1000,K2:K1000,2023,M2:M1000,"BEV"))
公式解释:
- 分子部分
(K2:K1000=2023)*(M2:M1000="BEV"):筛选出所有符合2023年且是BEV的行,符合的返回1,不符合返回0。 - 分母部分
COUNTIFS(E2:E1000,E2:E1000,K2:K1000,2023,M2:M1000,"BEV"):统计每个唯一标识在2023年BEV分类下出现的次数。如果某辆车重复出现3次,分母就是3,分子对应的3个1加起来是3,3/3=1,刚好实现每辆车只计1次。
二、适用于Excel 365/2021及以后(支持动态数组)的更简洁公式
如果你的Excel版本支持动态数组,用FILTER+UNIQUE+COUNT的组合会更直观,比如同样统计2023年BEV的数量:
=COUNT(UNIQUE(FILTER(E2:E1000,(K2:K1000=2023)*(M2:M1000="BEV"))))
公式解释:
FILTER(E2:E1000,(K2:K1000=2023)*(M2:M1000="BEV")):先筛选出2023年所有BEV车辆的唯一标识。UNIQUE(...):把筛选结果里的重复标识去掉,只保留唯一值。COUNT(...):统计去重后的标识数量,就是你要的真实购买量。
三、制作图表的步骤
- 整理统计数据:先在表格里列好年份(比如A列:2020、2021、2022、2023),然后B列放BEV的统计值,C列HEV,D列ICE。把上面的公式对应年份和车型改一下,批量算出所有值。
- 插入图表:选中整理好的统计数据(包括表头),点击「插入」选项卡,选你想要的图表类型——柱状图适合对比每年的数量差异,折线图适合看趋势,按需选择就行。
小提醒
- 要是你的数据会不断更新,建议把数据区域转换成Excel表(选中数据按Ctrl+T),这样公式里的范围会自动扩展,不用手动改。
- 用SUMPRODUCT的时候,注意不要包含表头行,不然会出错;如果用动态数组公式,输入后会自动溢出结果,不用按Ctrl+Shift+Enter。
备注:内容来源于stack exchange,提问作者Davdgup
相关产品推荐
相关产品推荐

