如何利用Org ID在Excel数据透视表中准确统计餐厅类型数量?
解决重复记录导致餐厅类型统计失真的问题
你遇到的问题本质是:同一餐厅因为支持多种用餐方式被拆成了多条记录,数据透视表默认会把每条记录都算进去,导致餐厅类型的计数虚高。好在Org ID是每家餐厅的唯一标识,我们可以用这几种方法来准确统计:
方法1:先去重再制作数据透视表
这是最直接的方案,先清理掉重复的餐厅记录:
- 选中整个数据源(包括表头)
- 切换到「数据」选项卡,点击「删除重复值」
- 在弹出的窗口里,只勾选
Org ID(只要Org ID相同,就代表是同一家餐厅,不管其他字段) - 点击确定后,重复的记录会被移除。此时再创建数据透视表:
- 把
Restaurant Type拖到「行」区域 - 把
Org ID拖到「值」区域(默认是计数),这样得到的就是每个类型下的真实餐厅数量
- 把
方法2:直接在数据透视表中使用「唯一计数」(适用于Excel 365/2021及以上版本)
如果不想修改原始数据源,可以直接在透视表里设置去重计数:
- 正常创建数据透视表,将
Restaurant Type拖到「行」区域,Org ID拖到「值」区域 - 右键点击值区域的「Count of Org ID」,选择「值字段设置」
- 在对话框中,选择「值汇总方式」为「计数」,然后勾选**「将值汇总为唯一计数」**(这个功能是新版Excel才有的,专门用来统计不重复值的数量)
- 确认后,透视表就会自动统计每个餐厅类型下不重复的Org ID数量,也就是你要的准确结果
方法3:用公式直接计算(无需透视表)
如果不想用透视表,也可以用SUMPRODUCT结合COUNTIFS来实现:
- 统计所有餐厅类型的唯一餐厅总数:
=SUMPRODUCT(1/COUNTIFS(A:A,A:A,D:D,D:D)) - 单独统计「Fast Food」类型的餐厅数量:
这个公式的原理是:先按=SUMPRODUCT((D:D="Fast Food")/COUNTIFS(A:A,A:A,D:D,"Fast Food"))Org ID和Restaurant Type分组,计算每组的重复次数,再取倒数求和,这样每个唯一的餐厅只会被计算一次,避免了重复统计。
按照上面的方法处理后,你就能得到准确的统计结果:Fast Food类型1家,Diner类型1家。
内容的提问来源于stack exchange,提问作者Danny
相关产品推荐
相关产品推荐

