[已解决] 多个工作簿中特定工作表合并

  [复制链接]
查看145067 | 回复137 | 2020-12-18 04:44:13 | 显示全部楼层 |阅读模式
一个文件夹里有多个工作簿,每个工作簿都有多个工作表,我需要把这个文件夹下所有特定的工作表合并到一起。但是这些特定的工作表,每张都有些非关键列缺失请问有什么高效的合并方法么?
我现在会的方法:
1、手动黏贴合并
2、手动清理每个工作簿,把他们变成每个工作簿都有统一格式的一张工作表,然后用VBA或者PQ合并

举例如附件
我想把北京、上海、广州,这三个工作簿中的数据表格合并,只需要地区、日期、门店、销量这四个列


10734110016142.rar (27.22 KB, 下载次数: 0)
回复

使用道具 举报

ameng | 2020-12-18 04:53:13 | 显示全部楼层
回复

使用道具 举报

yjsl | 2020-12-18 04:57:14 | 显示全部楼层
注意更改文件夹路径

10734110016143.rar (13.74 KB, 下载次数: 0)
回复

使用道具 举报

小东邪 | 2020-12-18 05:01:14 | 显示全部楼层
注意更改文件夹路径


请问是怎么做的?解题思路是什么
回复

使用道具 举报

烈火奥拓仔 | 2020-12-18 05:07:14 | 显示全部楼层
请问是怎么做的?解题思路是什么


这是用PQ完成的。
回复

使用道具 举报

雕心 | 2020-12-18 05:10:14 | 显示全部楼层
10734110016141.png

= Table.Combine(Table.SelectRows(Table.Combine(List.Transform(源[Content],each Excel.Workbook(_,true))),each [Name] = "数据")[Data])

公式一共可以分为五部
第一步源[Content]为最开始取单独那列的数据
第二步 List.Transform 对第一步进行遍历为Excel 识别的工作簿
第三步Table.Combine 对所有工作表合并
第四部Table.SelectRows 筛选 然后取 [Data]列
第五步在进行一次合并,就是最后的数据了
回复

使用道具 举报

彬彬 | 2020-12-18 05:18:15 | 显示全部楼层
= Table.Combine(Table.SelectRows(Table.Combine(List.Transform(源[Content],each Excel.Workbook(_, ...


看的目瞪口呆
回复

使用道具 举报

沙王 | 2020-12-18 05:19:15 | 显示全部楼层
= Table.Combine(Table.SelectRows(Table.Combine(List.Transform(源[Content],each Excel.Workbook(_, ...


谢大佬,这几天刚学PQ,翻到后面才发现有这么个东西
回复

使用道具 举报

drylu | 2021-5-31 06:13:25 | 显示全部楼层
太棒了,感谢唐楼主精彩的分享
回复

使用道具 举报

KLX | 2021-6-6 06:55:31 来自手机 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则