如何用Excel Power Query自动合并文件夹内多文件的多工作表后清洗数据
批量处理文件夹中多工作簿(含多工作表)的合并与清洗方案
以下是用Excel Power Query实现批量处理的完整流程,解决文件夹内多工作簿、每个工作簿含多工作表的合并+清洗需求:
步骤1:导入文件夹数据源
- 打开Excel,切换到「数据」选项卡,点「获取数据」>「从文件」>「从文件夹」
- 选中存放待处理Excel文件的目标文件夹,点「确定」
- 在弹出的文件夹内容对话框里,直接点「转换数据」进入Power Query编辑器
步骤2:批量合并每个工作簿内的所有工作表
- 在Power Query编辑器里,点「添加列」>「自定义列」,输入以下公式:
这个公式会读取每个文件里的所有工作表内容= Excel.Workbook([Content], null, true) - 点自定义列右侧的双箭头展开按钮,不要勾选「使用原始列名作为前缀」,直接点「确定」,此时会展开所有工作表的基础信息
- 找到「Kind」列,筛选值为
Table的行——这一步是只保留数据表格,过滤掉工作表的其他元信息 - 点「Data」列右侧的展开按钮,选「展开到新行」,把所有工作表的数据合并到同一列里
- 再点「Data」列右侧的展开按钮,选「展开所有列」,此时所有工作表的数据就会合并成一个统一的大表格
步骤3:统一执行数据清洗
- 现在可以对合并后的大表格做各种清洗操作,比如:
- 删除空行/空列:选中对应行/列,点「开始」>「删除行」/「删除列」
- 调整数据类型:选中列,点「转换」>「数据类型」选对应类型(比如文本、数值)
- 去除重复值:点「开始」>「删除重复项」
- 清理异常值:用「替换值」或「筛选」功能处理不符合要求的数据
- 清洗完成后,点「关闭并上载」,就能把处理好的数据导入到Excel工作表里
关键提示
- 尽量保证所有待处理文件的工作表结构一致(列名、顺序相同),不然合并后容易出现数据错位
- 如果有部分文件结构不一样,可以先按文件名或工作表名称分组,分开处理后再合并
- 整个流程可以保存为Power Query查询,之后新文件放进文件夹,只要点「刷新」就能自动重新处理
内容的提问来源于stack exchange,提问作者Ali Asghar Modi
相关产品推荐
相关产品推荐

