
注:今天的方法的强大远不止文中的例子所展示,需要体验的小伙伴自己学会之后去亲测哦~
今天,boss交给办公室的小美一个任务,让她合并很多张工作表,于是理所应当的找来了办公室我这个表哥。首先观察了一下她的数据源

每张表的表头顺序不一样。还有字段数量也不一样,有的多有的少。
遇到这个情况,当然首选power query方法。
有些同学说power query是自带识别表头的功能的,所以表头顺序一致跟不一致操作方法没有什么差异。
Emmm,划重点,如果你是这样想的,最多正确了一半,首先PQ的确自带识别表头的功能,但是!仅限于表头字段比较少的情况,如果表头有20多个,比如很多公司的工资表,表头就很长,那样的表就识别不了啦。常规操作不能解决合并。
下面我们介绍通用的方法。
Step 01
首先在电脑上新建一个文件夹,然后将需要合并的表放在里面。
然后另外新建一张表。进入PQ编辑器。

Step 02
进入PQ编辑器后,在左边空白的地方鼠标右键,“新建查询”,“其他源”,“空查询”。这样就建立了一个空查询。
点“主页”,“高级编辑器”,然后将下面这段PQ代码粘贴进去。
你不用知道它的意思,只管复制粘贴即可。然后将需要合并的文件的“地址”写在第一句。

代码如下:
let
源 = Folder.Files("C:\Users\windows\Desktop\需要合并的表"),
替换的值 = Table.ReplaceValue(源,".xlsx","",Replacer.ReplaceText,{"Name"}),
已添加自定义 = Table.AddColumn(替换的值, "自定义", each Excel.Workbook([Content],true)), 删除的其他列 = Table.SelectColumns(已添加自定义,{"Name", "自定义"}),
展开的自定义 = Table.ExpandTableColumn(删除的其他列, "自定义", {"Name", "Data"}, {"Name.1", "Data"}),
字段 = List.RemoveNulls(List.Distinct( List.Combine(List.Transform(展开的自定义[Data],each Table.ColumnNames(_))))),
#"展开的“Data”" = Table.ExpandTableColumn(展开的自定义, "Data", 字段)
in
#"展开的“Data”"
小贴士:地址可以右键文件夹,“属性”中查看位置得知,找到了之后直接复制,粘贴到我们的代码中,记得不要忘记在地址的最后补充文件夹的名称。
代码粘贴好,地址也粘贴好后,直接运行代码。工作簿就全部合并成功了。

然后我们点击“关闭并上载”上传到工作表就可以了

用这种方法合并工作表就算是一百张表头顺序不一致的表也是可以迅速合并,操作简单又强大。记得学会了给小编点个赞哦,下次继续分享更多的excel黑科技。
有一点需要大家注意的,在合并之前不要让你的表头有合并单元格喔。
今天的分享就到这,如果教程对大家有用,希望大家多多分享点赞支持小编哦!你的每一次点赞和转发都是支持小编坚持原创的动力。
点击阅读原文一键登录官网,海量视频vip任意学!(可试看)
夜雨聆风


