如何用Power Query按文件名前缀匹配导入指定Excel文件?
按固定前缀匹配导入Excel文件到对应工作表(Power Query方案)
1. 导入文件夹文件列表
- 打开你的Excel模板,点数据选项卡 → 获取数据 → 从文件 → 从文件夹
- 选好存放目标文件的文件夹,点确定,此时会加载出文件夹里所有文件的明细(包含文件名、路径等信息)
2. 提取前缀并筛选目标文件
- 进入Power Query编辑器,添加自定义列抓取文件名的固定前缀:
- 点添加列 → 自定义列,根据前缀的分隔规则输入对应公式:
- 如果前缀和后缀用分隔符(比如下划线
_)区分:Text.BeforeDelimiter([Name], "_") - 如果前缀是固定长度(比如
Query1共6个字符):Text.Start([Name], 6)
- 如果前缀和后缀用分隔符(比如下划线
- 新加列生成后,点击筛选按钮,仅保留
Query1到Query18这些目标前缀,过滤掉无关文件
- 点添加列 → 自定义列,根据前缀的分隔规则输入对应公式:
3. 加载数据并匹配到对应标签
- 筛选完成后,再添加一个自定义列来加载每个文件的数据:
这个公式会加载每个Excel文件内的所有工作表,你可以展开后选择需要的数据表Excel.Workbook(File.Contents([Folder Path]&[Name]), null, true) - 把不同前缀的数据分配到对应标签:
- 拆分查询法:将当前查询复制18份,每份单独筛选对应前缀(比如第一份只留
Query1),依次加载到对应工作表(加载时选择仅创建连接,右键连接→加载到,选择目标标签即可) - 参数化法:创建18个参数(参数值分别设为
Query1到Query18),每个参数对应一个查询,筛选对应前缀后加载到对应工作表
- 拆分查询法:将当前查询复制18份,每份单独筛选对应前缀(比如第一份只留
4. 自动刷新设置(可选)
- 回到Excel界面,点数据选项卡→全部刷新下拉箭头→刷新所有连接属性
- 勾选打开文件时刷新数据,这样每次打开模板都会自动同步最新的文件数据
内容的提问来源于stack exchange,提问作者Flame
相关产品推荐
相关产品推荐

