PowerQuery汇总整个文件夹中的数据

PowerQuery汇总整个文件夹中的数据

在工作中经常遇到要合并多个表,这些表格式相同,只是表名不同的情况。

接下来我分享如何使用Powerquery来合并这些格式相同的表。

以一个案例来演示下操作步骤:

第一步,将demo文件夹中的两个工作簿汇总到一个表中,如图:

图片

第二步:打开EXCEL工作簿,点击数据选项卡,再依次点击 获取数据->自文件->自文件夹,如图:

图片

第三步:加载文件夹

图片

第四步:点击转换数据

图片

第五步:删除除Content之外的所有列,如图:

图片

第六步:添加自定义列,并将

=Excel.Workbook([Content],true)粘贴到公式编辑框中 

图片

第七步:点击自定义列的展开按钮,点击确定

图片

第八步:删除除name和Data外的其他列

图片

第九步:点击Data的展开按钮,点击确定 

图片

结果:

图片

使用以上九步,就完成了汇总整个文件夹中的数据。

在Power Query中,你可以通过创建一个自定义函数或者使用循环的方式,对同一文件夹下的所有Excel或CSV表格进行批量处理。以下是基本步骤: 1. 打开Power Query(如果你在Excel中,它通常作为“数据”选项卡的一部分)。 2. **连接到文件夹**:点击“从文件” > “从文件夹”,选择包含你需要处理的表格的文件夹。 3. **加载第一个表**:Power Query会列出文件夹内的所有表格,选中其中一个,然后点击“确定”。 4. **创建查询模式**:在“模型”面板中,右键单击顶部的表名,选择“添加列” > “索引”,这将为你后续遍历其他文件提供基础。 5. **编写循环函数**: - 创建一个新的M查询表达式,例如下面的示例(假设我们想要合并所有工作簿中的数据并删除重复项): ```M let folderPath = "路径到文件夹", files = File.Files(folderPath, [FileType = "*.xlsx;*.csv"]), allData = Table.FromList(files, type table {Column1: text}, each Excel.WorkbookContent([Path]), null, false), cleanedData = Table.Distinct( Table.Flatten(allData, List.Transform( List.Transform(allData, each RecordToList(_)), each Text.Combine(List.GetRange(_, 1), ",") ) ), Record.FieldNames(allData{0}) ), ... in cleanedData ``` 6. **应用到每个文件**:使用`Table.TransformEachRow`或`Table.TransformColumns`函数,将之前写的函数应用到列表中的每个文件上。 7. **合并结果**:如果需要,可以将所有处理过的数据汇总成一个大表。 8. **发布到Excel**:最后将清洗后的数据发布回Excel,或者导出到新的位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瓶子xf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值