Power Query 批量提升多表标题:用一行代码跳过无关行,精准合并数据

场景还原

在 Power Query 中合并多个结构相同的工作表时,你是否遇到过这样的问题?​​每个表的前几行是注释或空行,真正的列名藏在第N行之后​​。如果手动逐个表格“提升标题”,不仅效率低下,还容易出错。

比如某公司每天导出的销售数据,前4行是公司Logo和填报人信息,第5行开始才是真正的列名(日期、产品、销量)。我们需要批量跳过前4行,将第5行设为标题,再合并所有表格。

每个表都是这样子的

一行代码搞定全部表

= Table.TransformColumns(
    #"展开的“自定义”", 
    {"Data", each Table.PromoteHeaders(Table.Skip(_, 4))}
)

代码讲解

Table.TransformColumns

作用​​:
对表格中的指定列(或列集合)进行批量转换,保持其他列不变。相当于便利列表中的每一项,然后逐个进行操作

  1. 用于对表中的指定列进行转换。第一个参数是输入表(#"展开的“自定义”"),第二个参数指定要转换的列及转换逻辑。

  2. ​目标列 "Data"
    被转换的列名为“Data”,该列的每个元素都是一个嵌套的子表(Table)。

  3. ​转换逻辑 each Table.PromoteHeaders(Table.Skip(_, 4))

    • Table.Skip(_, 4)​:跳过子表的前4行。假设子表的前4行是元数据或无用的信息。
    • Table.PromoteHeaders()​:将剩余子表的第一行提升为列标题,后续行作为数据行。

应用场景

  • ​处理不规范数据源​​:当子表的前几行包含无关信息(如注释、说明、空行)时,跳过这些行。
  • ​动态提取标题​​:当子表的标题行不固定在第1行,而是位于第5行(或类似位置)时,通过跳过行并提升标题,实现数据标准化。

​Table.Skip(_,4) 要灵活变化,4就是跳过4行具体场景看具体需求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值