哈喽,大家好呀! 之前有一期推文,我们给大家介绍了如何拆分工作表。 当时就有许多小伙伴在后台留言:反向应该如何操作?即100个工作簿,我们应该如何合并呢? 今天就来用PQ来给大家演示一下!还没有加群的伙伴,可以扫码加群交流。 讲之前,先回答大家讲几个你们最感兴趣的问题: 1.Power Query合并文件夹时,表头不一样就不行了吗? NoNoNo! 2.用Power Query合并时一定要做那么多步,鼠标来回找按钮点那么多次嘛? NoNoNo! 一段代码,不用紧张,直接复制粘贴即可。 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.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语言的地方了。 删除里面已有的代码,粘贴上述给大家分享的代码。 注意: 这部分粘贴的代码,几乎都不用改动哦,只需要将下面红框的语句修改一下就行,换成大家自己需要合并的文件夹地址就可以了。 补充: 关于文件夹地址,大家可以右键文件夹查看属性得知。如下图。 粘贴好后,直接点“完成”,所有的表格就全部合并啦,效果图如下: 第三步:编辑器收尾工作 做完上面之后,表格就全部合并成功了,下面我们“关闭并上载”到工作表就可以啦。 补充注意: 此合并工作薄可实现实时更新! 以后,文件夹里添加新的表格,或有对数据改动,大家只需右键刷新即可。 以上,便是今天的所有内容啦! 你学会了吗? |
|