一劳永逸解决数量不定的多个Excel数据合并

每个分店每月提供excel格式数据,需要手工将所有excel数据汇总到一个excel。例如:1月到12月的月度数据,现在需要汇总到一起做年度数据。合并多文档的数据,可能是很常见的一个需求,但是如何一劳永逸得解决这个需求呢?

目标

这里有一个文件夹里包含了若干个Excel文档,而每个文档中又有若干张工作表。同时,这个文件夹中的文档可能被随时增加减少。因此,我们要找一个能够随时适用于可变数量文档,又可以抓取每个文档中的特定区域的数据。何种才是最简单,最有效的手段呢?答案是:Power Query

操作步骤

具体的操作分成三个部分,总共只需要约2分钟:

  • 建立基本的查询
  • 自定义查询内容
  • 返回结果

>>> 第一步:新建查询

首先我们创建一个基础的查询,包含有文件夹中每个工作簿的信息。路径可以是:数据->获取数据->来自文件->从文件夹

选择好文件夹路径,点击确定

加载查询结果后,点击编辑,进入Power Query编辑器

>>> 第二步:自定义查询

使用工具栏工具,添加列。路径为 添加列->自定义列。接着输入以下这条命令:=Excel.Workbook(File.Contents([Folder Path]&[Name]))

对于我们这个新加的列,紧接着需要进行展开。直接将其所有列展开即可。

目前,我们并没有得到任何数据信息,因此需要进一步展开。展开工作簿.data这一列。考虑到我们所需要的数据信息均在原工作表文件的B、C两列中。因而此处仅需对Column2Column3进行展开。

展开以后,我们得到了包含有众多无用信息的表格。

筛选Column2的信息,仅保留Total即可。

删除无用的列,仅保留Name, 工作簿Name, 以及工作簿.Data.Column2。

加载查询结果后, 就得到了这么一个效果。

>>> 第三步:数据更新

正如前文所述,利用查询建立的结果是可以随时被更新的。比如上图所示,我们复制一个file3,只要进行简单的更新,所以数据都能被直接抓取到。真的是2分钟解决一劳永逸的多文档数据合并问题。