用Excel 数据透视表对多个工作表或工作薄汇总的方法

       我们经常在实际工作中要对多个工作表进行汇总,使用函数太麻烦,要用VBA你可能对代码不熟悉而无从下手。实际天无绝人之路,Excel 数据透视表加简单的SQL代码就可以解决问题,不妨我们试试。先看图片:  

图片

有A、B、C三张表,而且表的字段最后一个都不一样,大家可以详细看看到颜色的单元格,现在要求对三张表汇总。汇总结果如下:    1、对三张表汇总,结果如下图。 

图片

2.、按文理科组汇总,并要求排序。如下图所示  

图片

        你如果刚看到这三张表要做成所需结果,肯定会大吃一惊,怎么可能呢?我不会怎么办?别担心,我教你用简单的SQL现汇总,然后再按数据透视表要求得到结果。        SQL 就叫结构化查询语言,至于其他的你可以看看我在有关网站的(http://club.excelhome.net/thread-589756-1-1.html)的帖子吧,这里不详细介绍。三张表汇总的代码是:   select 文理科,班级,组,座位号,语文,数学,英语,历史,0 as 政治, 柳州市人才网0 as 物理 from[A$] union all   select 文理科,班级,组,座位号,语文,数学,英语,0,政治,0 from[B$] union all   select 文理科,班级,组,座位号,语文,数学,英语,0,0 ,物理 from[C$]解释:select 是英语的选择意思。也就是选择“文理科,班级,组,座位号,语文,数学,英语,历史,0 as 政治,0 as 物理”这几个字段。            0 as 政治  是添加一个以“政治”命名的字段,单元格区域值为0 。from是从的意思,[A$]是Excel所特有的工作表命名形式。             union  all 联合所有的工作表为一个汇总。要想详细了解union  all 请看上面链接的相关帖子。注意最后一段代码取消了union  all 。          0 第一个代码已经有了所有的字段,下面字段可以省略 0 as,写作0,也可以不省略 0 as ......。          现在我做一个演示,大家看看动画视频。 

图片

 

图片

      如何对按文理科组汇总,并要求排序呢?这个简单多了。请看视图操作步骤: 

图片

  知道了对多个工作表汇总,那么多个工作薄汇总也就不难解决了,大家看看存放到E盘这几个工作的汇总方法。  

图片

 我们要将车间1、车间2和车间3三个工作薄汇总到汇总工作表里,方法如下,看视频动画:  

图片

 这个是我们从获取外部数据-----其他来源-----来自 Microsoft  Query 里获取工作薄地址后改动代码:SELECT * FROM `E:\工作薄\车间1.xls`.[车间1$] union allSELECT * FROM `E:\工作薄\车间2.xls`.[车间2$] union allSELECT * FROM `E:\工作薄\车间3.xls`.[车间3$]    备注: * 星号代表所有工作表字段。大家还可以汇总成这样的样式,看图: 

图片

 代码如下:SELECT ''车间1'',* FROM `E:\工作薄\车间1.xls`.[车间1$] union allSELECT ''车间2'',* FROM `E:\工作薄\车间2.xls`.[车间2$] union allSELECT ''车间3'',* FROM `E:\工作薄\车间3.xls`.[车间3$] 今天就学习这些,不会的可以提问,祝大家新春快乐,万事如意,学习进步。