Excel多工作表合并可以采用PowerQuery来实现,不需要复杂的代码、不需要额外的插件!
(注:PowerQuery是微软推出的一个功能强大的数据抓取工具,在Excel2013中需要安装官方插件才能使用,在Excel2016及以后版本中已经内置)
例:现有如下N个工作表,每个工作表位于独立的工作薄内,每个工作表的数据都由月份、产品、数量三列组成,现需要所有数据合并至同一个工作薄的一个工作表中。
![8cf364df8887d8e5a2373f5d91f66fb9.png](https://i-blog.csdnimg.cn/blog_migrate/2145a1a2c988f5405e74a597a423274d.jpeg)
Step1:使用PowerQuery抓取文件信息
首先将需要合并的多个Excel文件放到一个文件夹下。然后在其它位置新建并打开一个空白工作薄用于存储汇总好的数据,依次点击【数据】选项卡——新建查询——从文件——从文件夹。
![9e5a9e100c08a4970ef711eadb197ee8.png](https://i-blog.csdnimg.cn/blog_migrate/bb52dd6829efa79e0ea3ec322d81fa49.jpeg)
在弹出的对话框中,“文件夹路径”选择需要合并的多个Excel文件所在的文件夹。
![d27b4372df73210693b366698731a3fa.png](https://i-blog.csdnimg.cn/blog_migrate/c152e5f1cbc2c18bcb9a8c2b8efc7a5a.jpeg)
点击确定后就进入了PowerQuery界面,文件夹下的所有文件基本信息已经被提取至当前页面,包括文件名、后缀名、文件创建时间、文件完整路径等信息。
![538023c73bd2bac69cc50d9f3254d936.png](https://i-blog.csdnimg.cn/blog_migrate/78fd5a1e5989c7df858d0e4787335545.jpeg)
Step2:使用PowerQuery汇总文件数据
依次点击添加列——添加自定义列,并输入自定义列公式=Excel.Workbook([Content]),公式注意首字母要大写。
![fbf139c6f1b6bbfb8500ff4d7654d98f.png](https://i-blog.csdnimg.cn/blog_migrate/d7e42110625b98fbaf1e38e4aa5f76fd.jpeg)
将新添加的列扩展,仅选择“Data”。
![cec11b67456b08569443bc5ae51a3e94.png](https://i-blog.csdnimg.cn/blog_migrate/4ba08591f08fea66d8c6d3eb2d0a8918.jpeg)
将得到的Custom.Data列再次扩展。
![c942207657b1fb0be031ada083a8a28a.png](https://i-blog.csdnimg.cn/blog_migrate/d1a60cdcc96fdb3609cae548f9d1f0a6.jpeg)
此时已经将多个文件的数据汇总完成。
![b09fbf6af128f9291bcecdcf9c337f07.png](https://i-blog.csdnimg.cn/blog_migrate/ea5c5f64aa3d61b55996f7519b27dd9c.jpeg)
Step3:将Power Query中的数据上载到Excel工作界面
选择“关闭并上载至”,将数据加载到Excel工作表界面。
![1b1550a502759f6cfcb4ba2c67fc3b8a.png](https://i-blog.csdnimg.cn/blog_migrate/efc5bb5446a2815ccfc7a009331baed3.jpeg)
删除多余标题行后,最终结果如下。
![29e8089fe8bc7ad5fdde1ad60dda7529.png](https://i-blog.csdnimg.cn/blog_migrate/dd346f9891a6f6fcda51017a8e48bdde.jpeg)
使用PowerQuery汇总数据的一大优点是它存储了一个数据自动汇总过程并建立了一个动态链接,后期如果需要更新数据,只要把新的文件放入文件夹内,并在汇总Excel内刷新查询,即可按照设定好的规则自动提取及汇总所有数据。