You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Query中提取第5行指定列范围值的方法

解决方法

方法1:按列索引范围提取(基于原始列顺序)

Power Query的列索引从0开始,第12列对应索引11,第20列对应索引19。我们可以先锁定第5行的记录,再筛选出指定列范围内的字段,最后提取目标值(假设该范围内只有一个有效非空值):

let
    // 获取第5行的记录(索引从0计数,所以是{4})
    TargetRow = #"Added Custom"{4},
    // 获取所有列名列表
    AllColumns = Table.ColumnNames(#"Added Custom"),
    // 截取第12到20列的列名(从索引11开始取9个元素)
    TargetColumns = List.Range(AllColumns, 11, 9),
    // 提取目标行中对应列的值,过滤空值后取第一个有效项
    TargetValue = List.RemoveNulls(Record.ToList(Record.SelectFields(TargetRow, TargetColumns))){0}
in
    TargetValue

方法2:按列名规则筛选(若列名有规律)

如果第12到20列的列名是Column12到Column20这类固定格式,可以直接生成列名列表来匹配:

let
    TargetRow = #"Added Custom"{4},
    // 生成Column12到Column20的列名列表
    TargetColumns = List.Transform({12..20}, each "Column" & Text.From(_)),
    // 提取对应值并取第一个非空有效项
    TargetValue = List.RemoveNulls(Record.ToList(Record.SelectFields(TargetRow, TargetColumns))){0}
in
    TargetValue

补充提示

  • 如果目标列范围内存在多个非空值,可根据值的类型、内容特征,用List.Select替代List.RemoveNulls做精准筛选,比如List.Select(..., each _ is number)筛选数值类型的值。
  • 若要将提取的结果添加为新列,只需将上述逻辑整合到现有查询中,新增Added Target Column = Table.AddColumn(#"Added Custom", "提取值", each TargetValue)步骤即可。

内容的提问来源于stack exchange,提问作者chi005

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 07:02:35