来自:Excel不加班(ID:Excelbujiaban)
作者:卢子
关于多表或者多工作簿合并,一直以来都是大难题。Excel2013以上有POWER QUERY,高手有VBA,普通人有Ctrl+C和Ctrl+V。无数次的重复操作,吃力不讨好,普通人真不容易,累死累活,效率低下。
其实,在Excel中还存在一种比较通俗易懂的语言,SQL语言。
以前微信文章讲过几次SQL,不过因为很多人都是第一次接触,对这个功能还是非常陌生。今天,再详细说明SQL语言如何来合并多工作表和多工作簿。
格式相同的三张工作表,现在要将这三张表格合并起来,并统计每个省份的销售金额。
Step 01 按快捷键Alt、D、D、D一个个慢慢按,别心急!找到相应的工作簿,点击打开。
注:别怀疑快捷键,这个是正确的。
Step 02 找到输入SQL语句的地方:命令文本,详见动画。
Step 03 输入SQL语句。
SELECT * FROM [2015年$]
UNION ALL
SELECT * FROM [2016年$]
UNION ALL
SELECT * FROM [2017年$]
这个语句的意思,就是将2015年、2016年和2017年三个表合并在一起,UNION ALL就是合并起来的意思。
SELECT语法:
SELECT 标题名称 FROM [工作表名称$]
用*就是代表所有标题名称,如果只需要省份和销售额,也可以这样写。
SELECT 省份,销售金额 FROM [2015年$]
UNION ALL
SELECT 省份,销售金额 FROM [2016年$]
UNION ALL
SELECT 省份,销售金额 FROM [2017年$]
直接写2个标题名称,在生成的数据透视表就只有2个标题,其他都不显示。
Step 04 再借助数据透视表拖动两下就完成统计。
--------------------
现在假设原来是多个工作簿,并且存在桌面的多工作簿文件夹内,同样要统计每个省份的销售金额。
Step 01 新建一个空白工作簿,按快捷键Alt、D、D、D一个个慢慢按,找到文件夹内任意一个工作簿打开。
Step 02 输入SQL语句。
SELECT 省份,销售金额 FROM [C:UserschenxiluDesktop多工作簿5年.xlsx].[Sheet1$]
UNION ALL
SELECT 省份,销售金额 FROM [C:UserschenxiluDesktop多工作簿6年.xlsx].[Sheet1$]
UNION ALL
SELECT 省份,销售金额 FROM [C:UserschenxiluDesktop多工作簿7年.xlsx].[Sheet1$]
看到长长的一段语句,被吓到了吧。其实,SQL只是外表吓人,其实很简单的,很多内容都不需要自己输入。
Win10有一个直接复制路径到Excel的功能,这个前几天的文章也讲到了。
一下子就将所有工作簿包含路径复制出来,非常简单。
如果你使用的系统找不到这个功能,直接右键属性也可以找到。
多工作簿SQL语句的用法:
SELECT 字段标题 FROM [路径工作簿名称.后缀].[工作表名称$]
不管多表还是多工作簿,用法其实差不多。
Step 03 数据透视表统计。
后台回复“动画教程”,获取《全套Excel原创动画教程》
后台回复“简历模板”,获取《100份简历模板》
后台回复“面试题”, 获取《100份名企笔试、面试题》
后台回复“报表模板”,获取《全套财务报表模板》
想要更多精品干货,请持续关注我们的微信公众号 Excel技巧精选(ID:ExcelSkill)↓↓↓
●进入公众号输入851发送,即可阅读本文
●进入公众号输入m发送,获取全部文章目录