在用数据透视表分析数据的过程中,有时需要统计某字段中不重复值(唯一值)的数量。例如下所示的数据源为一个随日期不断增加记录的销售流水表,其中各“分店”都有一些人员包含多条销售记录,如“姓名4”。现在需要在数据透视表中得到各“分店”有销售记录的人员数量,即得到表中各“分店”不重复“姓名”的数量。
???
??? 如果直接在数据透视表中把“姓名”字段放到“数值”区域,仅能得到全部记录的计数值,而不是唯一的“姓名”数量。
???
??? 在这种情况下,可以用添加辅助列、使用SQL命令和利用PowerPivot的方法在数据透视表中得到不重复值数量。本文以上图中的数据为例,介绍在Excel 2010的实现方法,供参考。
??? 方法一:添加辅助列
??? 1.在表格的右侧增加一个辅助列,并设置一个列标题,如“人员数量”,在E4单元格中输入公式:
??? =IF(COUNTIF($C$4:C4,C4)=1,1,"")
??? 然后填充公式到最后一行。
???
??? 2.将数据区域转换为Excel 表格,这样当增加记录后,数据透视表可自动扩展数据源。方法是选择数据区域中的某个单元格,如C10单元格,依次选择“插入→表格”,弹出“插入表”对话框,单击确定。Excel将创建一个名称为“表1”的Excel表。
??? 3.创建数据透视表。
??? 选择上述表格中的某个单元格,依次选择“插入→数据透视表→数据透视表”,弹出“创建数据透视表”对话框,设置放置数据透视表的位置后确定。
???
??? 将“分店”字段拖入到“行区域”,将“人员数量”字段拖入到“数值区域”。
??? 右击数据透视表中的“人员数量”字段,选择“值字段设置”,在弹出的对话框中将该字段的“值汇总方式”由“计数”改为“求和”后确定,即可得到各“分店”中唯一“姓名”的数量。
???
……