登录
首页 >  文章 >  软件教程

PowerQuery合并文件夹的实用技巧

时间:2026-02-19 20:15:49 439浏览 收藏

本文深入讲解了Excel Power Query四大核心技巧——批量合并文件夹内结构一致的Excel文件、高效整合同一工作簿中的多个工作表、通过参数化路径实现动态文件夹切换,以及智能处理列名不统一的多源数据映射与标准化合并,帮助用户彻底告别手动复制粘贴,轻松实现自动化、可复用、高容错的数据汇总,大幅提升日常报表处理效率与准确性。

Excel怎么使用Power Query合并文件夹 Excel多表汇总方法【技巧】

如果您需要将同一文件夹下的多个Excel工作簿或工作表数据自动汇总到一个工作表中,则可以利用Power Query的“从文件夹”功能批量导入并合并。以下是实现此目标的具体操作步骤:

一、使用Power Query从文件夹导入并合并Excel文件

该方法适用于文件夹内所有Excel文件结构一致(如每张表都有相同列名和数据格式),Power Query会自动识别并堆叠各文件中的指定工作表。操作前请确保所有Excel文件已关闭,且不包含密码保护或受保护视图限制。

1、在Excel中,点击【数据】选项卡,选择【获取数据】→【从文件】→【从文件夹】。

2、在弹出窗口中,浏览并选中目标文件夹路径,点击【确定】。

3、Power Query编辑器中将显示该文件夹下所有文件列表,等待预览加载完成后,点击右上角【转换数据】按钮进入高级编辑界面。

4、在查询编辑器左侧,找到名为“Content”的列,右键选择【删除其他列】,仅保留该列。

5、选中“Content”列,点击【转换】→【使用第一行作为标题】(若源表首行为列名)。

6、点击【主页】→【合并查询】→【合并查询为新查询】,在弹出窗口中:左表选当前查询,右表选“示例文件”(即任意一个原始Excel文件的Sheet),匹配列为“Name”与“Sheet Name”,勾选【使用完整文件路径进行匹配】(如需按特定表名筛选可后续添加筛选器)。

7、展开合并后的“Transform File”列,取消勾选【使用原始列名作为前缀】,仅保留数据列,点击【确定】。

8、点击【主页】→【关闭并上载】,数据将自动加载至新工作表中。

二、通过Power Query合并同一工作簿内多个工作表

当所有待汇总数据位于同一个Excel文件的不同工作表中,且各表结构相同,可直接引用该文件内部多个Sheet,避免重复导入文件夹。此方式跳过文件系统扫描,响应更快、稳定性更高。

1、在Excel中,点击【数据】→【获取数据】→【从工作簿】,选择目标Excel文件并点击【导入】。

2、在导航器窗口中,取消勾选【启用导航器】,直接点击左下角【转换数据】进入Power Query编辑器。

3、在查询编辑器中,右侧“查询”窗格列出所有工作表名称,按住Ctrl键多选需合并的表名(如“销售1月”“销售2月”“销售3月”)。

4、右键所选多个查询,选择【合并查询】→【合并为新查询】,保持默认设置,点击【确定】。

5、新生成的合并查询中,“Source.Name”列显示原表名,可将其保留用于后续分类标识;点击该列右侧的展开图标,勾选全部数据列,取消勾选【使用原始列名作为前缀】。

6、检查数据类型是否正确(如日期列应为日期类型),必要时点击列标题右侧的类型图标进行更正。

7、点击【主页】→【关闭并上载至】,选择【现有工作表】或【新工作表】完成加载。

三、使用参数化文件路径实现动态文件夹合并

当需定期更新不同文件夹路径下的数据(如每月新建子文件夹),可通过创建参数控制文件夹路径,避免每次手动修改查询源。该方法提升复用性,适合固定命名规则的归档结构。

1、在Power Query编辑器中,点击【主页】→【高级编辑器】,在空白查询中输入:FolderPath = "C:\Reports\2024\Q1\",然后点击【完成】并重命名为“Param_FolderPath”。

2、新建查询,点击【高级编辑器】,输入:Source = Folder.Files(Param_FolderPath),保存并重命名为“Query_FolderImport”。

3、对“Query_FolderImport”执行与方法一相同的清洗步骤(删除列、提取Content、展开Excel内容等)。

4、后续如需切换文件夹,只需双击“Param_FolderPath”查询,在公式栏中修改路径字符串即可,无需重录整个流程。

5、为防止路径错误导致查询失败,可在“Query_FolderImport”中添加条件筛选:选中“Extension”列,点击【筛选器】→【文本筛选器】→【等于】,输入“.xlsx”,排除非Excel文件。

四、处理列名不一致的多表合并

当各Excel文件或工作表的列名存在差异(如“客户ID”“客户编号”“cust_id”均表示同一字段),直接堆叠会导致列错位或空值。此时需统一列名映射关系,再执行合并。

1、在Power Query编辑器中,先对任一源表执行【转换】→【转置】→【转置】,确认其列名实际顺序与语义对应关系。

2、新建空白查询,点击【高级编辑器】,输入标准列名映射表,例如:StandardColumns = #table({"OriginalName","StandardName"}, {{"客户ID","CustomerID"},{"客户编号","CustomerID"},{"cust_id","CustomerID"}})

3、在主合并查询中,对每一行数据源添加自定义列,调用函数将原始列名替换为标准列名,使用Table.RenameColumns动态重命名。

4、重命名完成后,使用【合并列】功能将所有表统一为相同结构,再执行堆叠合并(Combine Bin)。

5、合并后点击【转换】→【填充】→【向下】,确保关键标识字段(如客户ID)在跨行数据中不丢失。

到这里,我们也就讲完了《PowerQuery合并文件夹的实用技巧》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>