Excel Power Query批量合并文件
在日常工作中,不可避免的需要对相同字段的表格进行合并,一般这个时候要么手肝要么就使用VBA代码。但并不是所有人都对VBA熟悉,今天叫教会大家一种在Excel中对文件批量合并的方法。
关于在Excel中如何使用Power Query,请看我的另一篇文章,此处不再累赘。传送门-认识Power Query并了解基本功能
如果我们有N个字段相同的表格需要合并,那么可以使用Excel中的插件, Power Query进行合并,而只需要掌握一个M函数“Excel.Workbook"函数即可。此处要求需要合并的数据字段相同。
第一步
打开数据菜单—新建查询—从文件—从文件夹,选择文件所在文件夹位置,点击确定。请注意该方式是从文件夹加载,因此选择的是文件夹地址,不是选择某个文件。
-
点击选择文件所在的文件夹路径
-
点击编辑
-
点击编辑后自动打开Power Query编辑界面
第二步
-
由于我把合并的文件和源文件放在一个路径下,因此通过筛选,取消掉该文件及其缓存文件或其他不需要的数据。在PQ中,筛选和在Excel中不同,Excel对数据筛选后依然保留数据的可用性,仅起到对筛选数据显示,而在PQ中筛选后数据将不再保留,其操作步骤在右侧应用步骤保留操作记录,如果操作有误,可以对其再次编辑。你可以理解为你录制了一个复杂的宏,而且这个宏是可以随意编辑任何一个步骤的,而这些操作点点按钮就可以完成。
-
右侧保留操作步骤,后面的小齿轮按钮点击可编辑操作步骤。
第三步
- 使用Excel.Workbook函数展开数据,点击添加列菜单,点击自定义列
- 填入自定义公式:
= Excel.Workbook([Content])//严格区分大小写,且无提示和自动补全功能
其中[Content],是通过双击右侧的可用列中的Content自动填入的。也可以直接将代码复制进去,因为每次合并不同的表格,该步骤是一样的。
-
点击确定,会新增一个自定义列,且在右侧应用步骤会多一步刚刚自定义添加列的操作步骤。
-
点击自定义列右侧的双向外展箭头,在弹出的菜单中,取消所有打勾选项,仅选择Date,点击确定。
-
你没有看错,需要再次点击展开,而此时刚刚叫自定义的列,现在叫Date。
-
但是先别着急,我们得把旁边不需要的列全部删除,为了方便后续编辑,建议使用开始菜单-选择列-取消除了Date之外的全部选项,点击确定,确定后我们发现就剩一列了,右侧又增加了对应的操作步骤。
-
再次点击展开按钮,展开数据,取消使用原始列名作为前缀的选项,点击确定。
-
由于我展开的数据没有标题,需要第一行提升为标题。
-
点击将第一行用作标题后,右侧自动新增了一个更改的数据类型步骤,该操作步骤是系统自动识别并调整,如果你不懂建议删除,否者会对后续步骤造成影响,删除后也可以手动调节数据格式。
-
请注意删除前后数据的变化
删除更改的类型-前
删除更改的类型-后 -
因为是多表合并,有重复的标题,我们需要将其筛选掉。找一个分类较少的列,点击右侧的筛选按钮,将标题取消筛选。如果数据较多,无法显示全部可以点击右侧的加载更多显示全部分类。
-
取消重复的标题选项,确定完成操作。
第四步
- 合并后需要将数据返回到Excel中进行使用,若有更加复杂的需求可导入的模型当中进行使用。此处我们将合并后的数据返回到Excel中,点击开始菜单下的关闭并上载。若直接点击则会调整到Excel中,新建一个Excel工作表来显示数据,若选择关闭并上载至则会弹出选择按钮,选择数据存放的位置。
- 关闭并上载
关闭并上载如果你对这部分不熟悉,直接点击关闭并上载最简单
-
关闭并上载至 根据自己的需要选择存放的位置
关闭并上载至 -
可以选择自己需要的位置,该步骤操作有人会报错,具体不再解释,可以多尝试几种方式,如果搞不定可以用第一种方式直接关闭并上载。
-
我们返回的数据会被Excel自动调整数据类型,下单时间列我们看到变成了数字,此处选中下单时间列,将数据格式调整为日期,也可也在刚刚PQ中在返回数据到Excel之前给该列指定一个数据格式。
调整数据类型
总结:
一般来说文件的合并需要VBA代码才能操作,而使用该方式我们虽然第一次麻烦一些,但是后续如果数据有变动或者新增、删除等操作,仅需在返回的数据上右击选择“刷新”即可自动把我们刚刚的步骤全部计算一遍,分分钟完成工作,是不是很爽呢?
该操作是一个数据加载的入门教程,如果我们搭建复杂的数据分析模型,类似这样的数据加载和处理会非常多,而操作也非常复杂。
但是Power Query中很多工具栏按钮与Excel很类似,可以通过点击查看其功能,这将有助于你很快掌握基础的使用方法。
点击刷新自动执行我们之前的操作步骤