Excel中不重复计数可以说是一个经久不衰的话题。可以用函数解决,也可以用超级透视表解决。本文详细介绍在超级透视表中如何实现不重复计数,并且详细揭示背后的原理。 数据以及函数实现方法 我们想统计一下有多少不同的售点,和不同的产品。 简单的使用Counta是不行的,必须借助辅助列。在表格最右边添加辅助列,输入公式: =1/(COUNTIF($C$3:$C$2138,C3)) 得到了一列莫名奇妙的小数。 然后这个不重复计数就很简单了: =SUM(E3:E2138) 当然,你也可以不用辅助列,直接使用数组公式: {=SUM(1/COUNTIF($C$3:$C$2138,$C$3:$C$2138))} 用普通的数据透视表实现 要想用普通透视表实现,必须在创建透视表的时候,选择“将此数据添加到数据模型” 然后将产品添加到值字段,并且修改汇总方式: 点击“确定”后,就得到了产品的不重复计数。 超级透视表中的实现 如果只想简单的得到不重复计数,用上面介绍的普通透视表就可以实现了。但是如果想深入了解不重复计数,并且应用到更多场景下,就需要了解在超级透视表中如何实现不重复计数。 DISTINCTCOUNT 首先,将我们的数据表转换为表格(Table,Ctrl+T转换)。然后基于这个表格超级透视表(具体方法参见这里) 然后在“Power Pivot”选项卡下,创建新的度量值,公式为: =DISTINCTCOUNT('表2'[产品]) 可以看到这个公式的使用跟在Excel中是一样的。 我们来看一看这个度量值出现在什么地方了: (我们可以形象的理解为:)实际上,度量值就可以理解为在透视表的数据源上添加了一列(注意,实际不是这么回事,只是便于初学者理解)。作用相当于在透视表字段中加了一个新的字段,就跟原来的数量列一样。 另外一种不重复计数 可以看到每个门店每种销量下的不同产品个数都是1,符合我们对不重复的定义。 现在我们增加一个新的度量值如下: 点击确定,然后将新添加的度量值放在值字段中: 得到了新的透视表。你可以看到在新的透视表中。两个不重复计数是不同的。新添加的度量值不管在任何行上,显示的都是本售点的产品的不重复计数。 总结 从我们的例子可以看出,使用Power Pivot的不重复技术,可以适应各种各种场景的要求。当然,这就需要用到在创建度量值时的那些函数,要充分发挥超级透视表的功能,就有必要了解这些函数。 取得本文模板文件的方式:
|
|