表头顺序不一致的工作簿如何合并?用Power Query一秒搞定!
作者:过儿来源:部落窝教育发布时间:2021-04-08 12:52:08点击:14589
编按:
在Excel工作中,即使需要1秒完成100个工作薄的合并,我们也能用Power Query插件轻松搞定!但是如果表头顺序不一致,用Power Query还能成功合并吗?今天,小E和大家介绍的就是合并工作薄的升级版!无须理解代码,大家只需要复制粘贴即可!
正文:
哈喽,大家好,今天跟大家就合并工作簿说道说道,合并表格是表哥表姐们经常遇到的问题,所以关于合并表格的问题一直是excel圈子的兵家必争之地。解决它的方法也是不尽其数。有多重合并数据透视表法,VBA法。之前咱们也发过以power query为工具合并表格的方法的教程,不知道大家都学会了没有。如果没有,今天的文章要看好哦,一定要学会!理由很简单,今天的合并功能相比之前升级了,功能更加强大,操作更简单 ,笔者已经将代码写好了,你只需要复制粘贴就可以了。瞬间合并一百个工作簿的所有工作表,哪怕表头顺序不一致,咱也不care。
该方法用到的是powerquery。跟之前发的power query教程有什么区别呢?当然有!
1.Powerquery合并文件夹时,表头不一样就不行了吗?
NoNoNo!
2.用powerquery合并时一定要做那么多步,鼠标来回找按钮点那么多次嘛?
NoNoNo!
本着“刁难笔者,方便读者”的态度,下面是笔者优化过的M语言操作代码(读者老爷们听到代码别慌,不需要你理解代码逻辑,只需要您复制粘贴即可)。
let
源 = Folder.Files("C:UserswindowsDesktop模拟销售数据"),
替换的值 = Table.ReplaceValue(源,".xlsx","",Replacer.ReplaceText,{"Name"}),
已添加自定义 = Table.AddColumn(替换的值, "自定义", each Excel.Workbook([Content],true)), 删除的其他列 = Table.SelectColumns(已添加自定义,{"Name", "自定义"}),
展开的自定义 = Table.ExpandTableColumn(删除的其他列, "自定义", {"Name", "Data"}, {"Name.1", "Data"}),
字段 = List.Distinct( List.Combine(List.Transform(展开的自定义[Data],each Table.ColumnNames(_)))),
#"展开的“Data”" = Table.ExpandTableColumn(展开的自定义, "Data", 字段)
in
#"展开的“Data”"
上面的代码怎么用呢?
下面,就用它来合并文件夹里的一百张工作簿,每一张工作簿中有12张表:
第一步:用PQ建立“空查询”
首先进入Power query(后面统一用简称PQ)建立一个空查询。“数据”→“获取数据”→“启动power query编辑器”;然后在左边空白区域“右键”→“新建查询”→“其他源”→“空查询”。
第二步:使用Pq编辑器
复制上面那段M语言,粘贴到PQ中的高级编辑器。学习过VBA的都知道,VBA有VBA编辑器,大家的PQ当然也有它的编辑器啦。点“主页”→“高级编辑器”就到了大家粘贴M语言的地方了。
删除里面已有的代码,粘贴上述给大家分享的代码。
注意:
这部分粘贴的代码,几乎都不用改动哦,只需要将下面红框的语句修改一下就行,换成大家自己需要合并的文件夹地址就可以了。
补充:
关于文件夹地址,大家可以右键文件夹查看属性得知。如下图。
粘贴好后,直接点“完成”,所有的表格就全部合并啦,效果图如下:
第三步:编辑器收尾工作
做完上面之后,表格就全部合并成功了,下面我们“关闭并上载”到工作表就可以啦。
以后文件夹里添加表格,或有对数据改动,大家只需右键刷新即可。
本文配套的练习课件请加入QQ群:902294808下载。
做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
Powerquery多表合并案例:一键完成多个sheet合并
瞬间整理完上千条数据,excel中的Power Query工具也太好用了吧!
版权申明:
本文作者过儿;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。