我们在平时工作时常常会遇到要对一个工作簿的一个或多个sheet(工作表)进行添加数据透视表分析(例如对一个车间不同岗位的培训信息进行统计),对于单个sheet的数据透视表分析相信大家都不陌生了。这里为大家介绍一种可以利用数据透视表来对多个sheet进行分析的方法。
在我们平时使用数据透视表时,往往是直接在数据源工作表中直接点击“插入”菜单下的插入“数据透视表”,这种方法只能选择一个工作表的数据进行分析
这种方法不能满足同时分析多个数据表的内容。
当然也可以利用数据透视表向导(得先在“选项”→“自定义功能区”里面添加这个命令)进行合并数据区域后添加数据透视表,但这种办法会使需要的字段丢失。所以下面就教大家一种能够同时分析多个数据透视表数据的方法:
这种方法是把数据源工作表和数据透视表分别放在两个独立的工作簿中(这样可以提高数据源工作表的独立性,防止干扰,同时保证建立“连接”时数据源工作簿不受干扰),然后采用“连接”的方法将数据源工作表引用到数据透视表中进行分析,每次更新数据后直接在数据透视表中刷新即可。下面是具体步骤:
1、把数据源工作表(这里是“01提钒一车间安全培训记录表”)放在固定的一个文件夹目录下(方便以后更新数据),新建一个需要放置数据透视表的Excel表格,这里命名为“数据透视表”,放在指定的位置(为了方便都放置在了“示例文件”下),确保数据源工作表处于未被占用状态(未被打开,未被打开,未被打开,重要的事情说三遍)。
2、打开“数据透视表”工作簿中点击插入菜单栏下的插入数据透视表
选择“使用外部数据源”,点击“选择连接”
点击“浏览更多”,找到数据源工作表,点击打开,在要分析的工作表中选择一个,点击确定
选择透视表的位置,这里放置于本工作表的一个位置。点击确定,此时就会得到一个数据透视表(数据源外部的连接)。
3、点击数据透视表区域,菜单栏出现“数据透视表工具”,选择选项菜单栏下的“更改数据源”,“连接属性”
在出现的页面中选择“定义”,并在命令文本下输入神秘代码并点击确定:
select * from [提钒一车间$a2:o] union all
select * from [钒渣预处理工序$a2:o] union all
select * from [配料焙烧工序$a2:o] union all
select * from [浸出净化工序$a2:o] union all
select * from [沉淀洗涤工序$a2:o] union all
select * from [脱氨熔化工序$a2:o] union all
select * from [污水污泥处理工序$a2:o]
代码解释:此SQL语句为工作表连接语句,以第一句为例,“提钒一车间$”为数据源工作簿中要分析的工作表名称,“a2:o”为选择的工作表区域(选择的区域要注意不能包含合并单元格,且标题不要含有空值),这里需要注意的是连接的工作表区域格式要一致,例如,一个工作表统计的为“姓名”、“单位”和“培训老师”的资料,而连接的另一个工作表统计的为“姓名”、“单位”和“培训时间”,此时便会产生数据混乱,不能进行数据透视;其次,SQL语句格式要严格参照示例要求,一定要用英文的状态下符号,嫌麻烦的可以直接复制后再更改即可。
4、对数据透视表的字段进行组合即可产生所需的透视表。
这里可以对在设计中对透视表布局进行更改,这里选择“以表格形式显示”
然后我们需要对培训学时进行求和,在字段列表右下角的“值”字段中,点击 “计数项:培训学时”的下拉三角
进入“值字段设置”,在里面选择计算类型为“求和”即可
可以看到培训学时已经从计数项变为了求和项
到这里就完成了对于多个sheet的数据透视表分析。当数据源内容更改后,保存并关闭数据源工作簿,打开数据透视表所在的工作表刷新数据即可。
5、注意事项:如果选取的数据源其中有空值,那么在创建数据透视表的时候,只会以计数项来而不是求和项,如果想变为求和项,那就需要更改数据源。另外在建立透视表时一定要把数据源工作簿关闭,以保证添加连接时可以访问。