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

Power Query表中如何提取每行最大值对应的列名

可以实现,通过Power Query自定义列的M函数组合就能满足需求,操作和代码如下:

操作步骤

  1. 进入Power Query编辑器,选中目标数据表
  2. 点击顶部菜单栏「添加列」→「自定义列」
  3. 新列名设置为Max_in,在公式框输入下方代码后点击确定即可

自定义列代码

let
    // 配置需要参与最大值判断的数值列,可按需修改
    ValueCols = {"Value1", "Value2", "Values3"},
    // 计算当前行的最大值
    RowMax = List.Max(Record.ToList(Record.SelectFields(_, ValueCols))),
    // 匹配所有值等于最大值的列名,用分号拼接
    MaxCols = Text.Combine(List.Select(ValueCols, (col)=> Record.Field(_, col) = RowMax), ";")
in
    MaxCols

补充说明

  • 如果需要动态适配表中的数值列(不需要手动写列名),可以把ValueCols的定义替换为:ValueCols = List.RemoveItems(Table.ColumnNames(_), {"ID"}),即可自动排除ID列,将其余所有列纳入判断范围,后续新增数值列不需要修改公式
  • 如果需要优先返回第一个最大值列而不返回所有,只需要在Text.Combine前套一层List.First()即可,代码改为MaxCols = List.First(List.Select(ValueCols, (col)=> Record.Field(_, col) = RowMax))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:39:02