Excel用SQL合并多个工作表

作者:iamlaosong

需求是统计全省各地市全年12个月的累计销售情况,原始数据是每个月一张明细表。简单的做法是合并12个月数据,做一个数据透视表就完成了。但同事不想合并12个月数据,因为那样每次数据变动都要合并一次。后来的做法是每个月做一个数据透视表(做好一个月后复制一份,改下数据源就可以完成另一个月)。然后再将已有月份的数据透视表中的数据求和。

其实可以用SQL语句合并12各月份的数据(没有数据的月份做个带表头的空表),然后对这个合并的表做个数据透视表统计就可以了。这样每次数据变动时,只要刷新一下这个合并的表格和数据透视表就可以完成统计了。具体方法如下:

1、菜单“数据”-“现有连接” ;
2、在连接面板中,点击“浏览更多”,选择要统计的数据源文件;
3、在选择表格面板中,勾选“数据首行包含列标题”,点击“确定” ;

《Excel用SQL合并多个工作表》
4、在导入数据面板中,选择导入数据的形式:表、数据透视表还是直接生成透视图,我们选择“表”

关于数据存放位置,如果已经插入了空表,数据存放点放在现有工作表,否则,选择“新工作表”,最后点击“属性”;

《Excel用SQL合并多个工作表》
5、在连接属性的定义面板中,在命令文本框中输入SQL语句:
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年1月$] union 
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年2月$] union 
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年3月$] union 
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年4月$] union 
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年5月$] union 
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年6月$] union 
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年7月$] union 
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年8月$] union 
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年9月$] union 
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年10月$] union 
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年11月$] union 
select [揽收城市_Pickup city],[应付总计_Total charge_] from [2020年12月$] 

《Excel用SQL合并多个工作表》

注意:只需取所需的字段即可,这样可以防止因表头差异造成无法合并。除非肯定所有表头都一致,才可以用“*”代替所有字段。

字段名中如果存在回车换行,用下划线代替,如字段 [揽收城市_Pickup city],就是下图中的字段名:

《Excel用SQL合并多个工作表》

6、如果有数据变动,右击表格中的数据,点击弹出菜单中的“刷新”即可。

《Excel用SQL合并多个工作表》

    原文作者:宋哥
    原文地址: https://blog.csdn.net/iamlaosong/article/details/115477619
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞