每个分店每月提供excel格式数据,需要手工将所有excel数据汇总到一个excel。例如:1月到12月的月度数据,现在需要汇总到一起做年度数据。合并多文档的数据,可能是很常见的一个需求,但是如何一劳永逸得解决这个需求呢?
目标
这里有一个文件夹里包含了若干个Excel文档,而每个文档中又有若干张工作表。同时,这个文件夹中的文档可能被随时增加或减少。因此,我们要找一个能够随时适用于可变数量文档,又可以抓取每个文档中的特定区域的数据。何种才是最简单,最有效的手段呢?答案是:Power Query
操作步骤
具体的操作分成三个部分,总共只需要约2分钟:
- 建立基本的查询
- 自定义查询内容
- 返回结果
>>> 第一步:新建查询
首先我们创建一个基础的查询,包含有文件夹中每个工作簿的信息。路径可以是:数据->获取数据->来自文件->从文件夹
选择好文件夹路径,点击确定。
加载查询结果后,点击编辑,进入Power Query编辑器。
>>> 第二步:自定义查询
使用工具栏工具,添加列。路径为 添加列->自定义列。接着输入以下这条命令:=Excel.Workbook(File.Contents([Folder Path]&[Name]))
对于我们这个新加的列,紧接着需要进行展开。直接将其所有列展开即可。
目前,我们并没有得到任何数据信息,因此需要进一步展开。展开工作簿.data这一列。考虑到我们所需要的数据信息均在原工作表文件的B、C两列中。因而此处仅需对Column2和Column3进行展开。
展开以后,我们得到了包含有众多无用信息的表格。
筛选Column2的信息,仅保留Total即可。
删除无用的列,仅保留Name, 工作簿Name, 以及工作簿.Data.Column2。
加载查询结果后, 就得到了这么一个效果。
>>> 第三步:数据更新
正如前文所述,利用查询建立的结果是可以随时被更新的。比如上图所示,我们复制一个file3,只要进行简单的更新,所以数据都能被直接抓取到。真的是2分钟解决一劳永逸的多文档数据合并问题。