Office中国论坛/Access中国论坛

标题: 合并工作表——“导入数据法”简明教程 [打印本页]

作者: roych    时间: 2016-11-25 12:20
标题: 合并工作表——“导入数据法”简明教程
这是一个版友提出的问题,如何把多个相同格式的工作表合并起来。这在实际工作中很常见。例如,汇总各个部门的目标。
在Excel中,完成这个一般有两三个办法。
1、复制、粘贴;再复制,再粘贴……
2、用VLOOKUP写公式一个个列出来(前提是得先编号哦,不然可能就需要使用复杂的数组公式了)。
3、用导入数据法。修改SQL语句来合并。
4、用强大的VBA。
5、如果含有数值类型的字段,可以考虑合并计算。

由于这个例子没有数值计算,所以只能从1-4中选择了。
个人觉得3比较好。从效率上看,肯定是比1和2要高的,当数据很多的时候,公式始终会慢一些的;而从学习成本来看,则比4要好。用VBA的话,数组、字典和ADO,你总得选一个,得花时间去学习它的属性和方法,对于VBA零基础的人来说,也许还要学下VBA语法。而SQL语句,避开Create Table之类的定义查询语句,剩下的谓词还真不多。

好了,啰里啰嗦地开场了半天,就是为了让大家好好去学下如何用联合查询+导入数据来合并工作表。下面就跟我按图操作吧:

1、点击数据,现有连接,打开我们的目标工作簿(即当前文件)。
[attach]60368[/attach]
2、选择任意一个工作表(后面还会改的)。
[attach]60369[/attach]
3、选择新工作表(用于放置合并后的数据),点击“属性”。
[attach]60370[/attach]
4、选择定义(默认是有表头的,如果不需要则在“连接字符串”里修改),然后修改为SQL,并输入SQL语句:
  1. select * from [本部1$]
  2. union all
  3. select * from [本部8$]
  4. union all
  5. select * from [第1分公司$]
  6. union all
  7. select * from [第3分公司$]
  8. union all
  9. select * from [第5分公司$]
  10. union all
  11. select * from [支撑中心1$]
  12. union all
  13. select * from [支撑中心5$]
复制代码

[attach]60371[/attach]
5、返回界面后点击“确定”。
[attach]60372[/attach]
6、最终效果如下:
[attach]60373[/attach]

附件如下:
[attach]60374[/attach]

作者: tmtony    时间: 2016-11-25 12:41
,我默默的加分了
作者: 风中漫步    时间: 2016-11-25 13:18
社会需要热心人呐
作者: ly    时间: 2016-11-25 13:31
本帖最后由 ly 于 2016-11-25 13:33 编辑

Roych老师的课一定要学的,谢谢无私贡献。
期待后续课程。

站长是个沙发王,羡慕!

作者: Henry D. Sy    时间: 2016-11-25 16:42
本帖最后由 Henry D. Sy 于 2016-11-25 16:45 编辑

Excel 2016 自带了Power Query
(Excel 2013 开始支持,但要自己安装)
用Power Query,点几次鼠标就能完成的。
作者: 刘青梅    时间: 2016-12-4 14:19
社会需要热心人呐
作者: czwziy    时间: 2016-12-10 22:24
高端大气上档次,重点是很实用,做为一个新人,这个站真是个好地方,谢谢有roych和tmtony!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3