如何快速提取多工作簿数据?

本文分享excel多个工作簿查询数据提取汇总方法,使用到Power Query插件来完成Excel不同工作簿数据汇总.
小王所在的公司在全国各地都有分部,每到年底小王都很头疼。各个地区的销售数据需要汇总,尽管工作簿模板一致,但是全国那么多城市,工作簿也要逐一打开复制粘贴数据。工作簿容量有的大有的小,一个个打开要花费大量的时间。那有没有什么好方法可以不用打开工作簿直接提取数据呢?今天给大家介绍了两种方法来实现。
如图,在桌面这个文件夹中举例说明了五个城市的12个月的销售数据。
文件名
其中每个工作簿在“销售额”工作表下存储的是该城市1-12月的数据,现在要不打开工作簿批量提取各个城市12月份的合计值,也就是“销售额”工作表C14单元格的值。
表格内容
一、设置引用公式法提取
1.在该文件夹下,新建一个记事本,输入代码dir *.xlsx /b >1.txt ,保存类型选择“所有文件”,另存为bat文件。
获取文件.bat
2.双击新建好的bat文件,该文件夹就会生成1.txt文件,打开文件就能看到当前文件夹下的所有xlsx文件的文件名。通过这种方式我们就获取到了该文件夹所有的工作簿名称。
获取结果
3.新建一个工作簿用来存储提取到的数据。如下图所示,把获取到的工作簿名称输入A列,现在要把各个工作簿C14的值放入对应的B列。在B1单元格列输入
="'C:\Users\Administrator\Desktop\销售\["&A1&"]销售额'!C14" ,在单元格显示为'C:\Users\Administrator\Desktop\销售\[北京.xlsx]销售额'!C14 ,也就是文件夹下“北京”工作簿的“销售额”工作表的C14单元格,然后下拉填充。
填充格式
4.选中B列复制然后粘贴为值
复制为值
5.按住Ctrl+H,打开“查找和替换”窗口,把 'C 替换成 ='C ,点击“全部替换”。
替换文字
这样单元格的值就变成各工作簿的合计值。
这种方法在实际操作中很方便,上面获取文件夹工作簿名称的方法也很实用。但是局限性就是提取的值必须在所有表格的同一单元格内。那有没有什么方法可以不按单元格直接提取出月份为合计那一行的销售额呢?之前给大家的介绍的Power Query就可以实现。
二、Power Query提取
点击数据选项卡下,新建查询—从文件—从文件夹。
从文件
2.浏览窗口找到文件夹的路径,点击确定。
浏览文件
文件夹窗口点击编辑。
文件夹编辑 /><br />
3.在Power Query编辑器呈现的就是该文件夹下的所有内容,这个之前给大家介绍过,把【content】这列binary格式转换成table格式提取data就可以提取文件夹各个表格的数据。我们这里只列出步骤,具体介绍可以点击这里查看:插入链接<br />
<img src=
点击添加列选项卡下的自定义列。
添加自定义列
在自定义列窗口的列公式下输入 =Excel.Workbook([Content]) 点击确定。
自定义内容
4.把除【Name】和【自定义】两列以外的其他列删除。按住Ctrl选中两列,右键选择删除其他列。
删除其他列
5.点击【自定义】列右侧的展开按钮,展开Data这列,不勾选“使用原始列名作为前缀”。
不使用前缀
然后再点击展开的【Data】列右侧的展开按钮,展开所有列。不勾选“使用原始列名作为前缀”

展开所有
勾选结果如下:
勾选结果
6.那现在要做的就是把【Column2】这列的合计筛选出来就可以了。点击右侧的筛选按钮,勾选“合计”,点击确定。
勾选合计
展开结果如下:
7.接下来要做的就是把这个上载到表格。点击开始选项卡下的关闭并上载。

关闭并上传
最终结果:
最终统计结果
使用Power Query就比较智能,这种方法不限定单元格位置,根据条件批量提取跨工作簿的单元格值。更加实用快捷。
目前给大家介绍的大部分都是Power Query最基础的图形化操作,利用简单的图形化操作就能实现这么多功能,加班的小伙伴们还等什么,赶紧收藏吧!