You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用Power Query批量提取合并多Excel文件固定区域数据的问题咨询

使用Power Query批量提取合并多Excel文件固定区域数据的问题咨询

嗨,我完全懂你现在的头疼点——上百个结构一模一样的Excel文件,每个都有前后没用的冗余行,只想提取中间固定的几行合并到一起,用Power Query的时候要么合并完没法单独清理每个文件的废行,要么单独处理一个文件又没法批量套用步骤,对吧?别慌,这其实是Power Query批量处理里很典型的场景,我给你一步步拆解怎么搞定:


第一步:先给单个文件做个处理模板

首先咱们先搞定单个文件的清理逻辑,把这个做成可复用的模板:

  1. 打开Excel,点击「数据」>「获取数据」>「自文件」>「自工作簿」,选其中一个示例Excel文件
  2. 进入Power Query编辑器后,直接定位到你要保留的行:
    • 最简单的方式:点击「开始」选项卡>「保留行」>「保留特定范围的行」,输入起始行11、结束行12,直接精准保留有用数据
    • 或者也可以先删前10行(「删除前几行」输入10),再删后面的8行(「删除后几行」输入8),效果一样
  3. 别忘了加个「来源文件名」列,方便最后溯源:点击「添加列」>「自定义列」,输入公式=Source.Name(如果你的数据源名称不是Source,换成实际的就行,比如导航里的工作表名)

第二步:把单个文件的步骤转成自定义函数

这是批量处理的核心!把刚才的单个文件处理逻辑打包成函数,就能套用在所有文件上:

  • 在Power Query编辑器左侧的「查询」面板里,找到你刚才处理单个文件的查询,右键点击它,选择「创建函数」,给函数起个好记的名字比如ProcessExcelFile,确认后就生成了一个接收文件路径的函数,它会自动执行你刚才的所有清理步骤

第三步:批量导入所有文件并应用函数

现在就可以批量处理所有文件了:

  1. 回到Excel,点击「数据」>「获取数据」>「自文件」>「自文件夹」,选择存放所有Excel文件的文件夹
  2. 点击「转换数据」进入Power Query编辑器,这时候你会看到文件夹里所有文件的列表,包含「名称」「路径」等信息
  3. 点击「添加列」>「自定义列」,输入公式=ProcessExcelFile([路径]),这时候每个文件都会自动套用你刚才的清理逻辑,提取出有用的行
  4. 最后点击自定义列标题旁边的「展开」按钮,把嵌套的表格展开成普通行,同时保留「名称」列(也就是文件名),这样就得到了你想要的结果:每个文件的有用行都按顺序合并,还能看到每行来自哪个文件

一些要注意的小细节

  • 确保所有Excel文件的结构完全一致:比如总行数都是20行,有用数据都在11-12行,不然函数可能会出错
  • 如果文件里有多个工作表,在第一步处理单个文件的时候,一定要在导航器里选好要处理的目标工作表,这样函数会自动套用这个选择
  • 可以先拿3-5个测试文件试试流程,没问题再批量处理全部文件,避免出问题

备注:内容来源于stack exchange,提问作者Ankit

火山引擎 最新活动