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

Power Query中忽略0与null值求多列最小值的方法

Power Query获取忽略0和Null的列最小值解决方案

你的问题出在之前的代码生成了布尔值列表,[A]>0这类判断返回的是true/false而非原始数值,所以List.Min处理的是布尔值,自然得不到正确结果。以下是直接满足需求的简洁写法:

针对指定列的写法

如果只需要处理[A][B][C][D]这几列,用这段代码:

Table.AddColumn(#"Previous Step", "Min", 
    each List.Min(
        List.Select({[A], [B], [C], [D]}, (x) => x <> null and x <> 0),
        null
    ), 
    type number
)
  • {[A], [B], [C], [D]}:把目标列的数值打包成列表
  • List.Select:过滤掉列表里的null和0值
  • List.Min(..., null):对过滤后的列表取最小值,如果所有值都是0或null,返回null(你可以把null改成0或其他默认值)
  • 指定type number保证列类型为数值型

自动适配所有数值列的写法

如果要处理当前表所有数值列,不用逐个列名写,用这段:

Table.AddColumn(#"Previous Step", "Min", 
    each List.Min(
        List.Select(
            Record.FieldValues(_), 
            (x) => Value.Is(x, type number) and x <> null and x <> 0
        ),
        null
    ), 
    type number
)
  • Record.FieldValues(_):获取当前行所有字段的值
  • Value.Is(x, type number):只保留数值类型的值,避免非数值列干扰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 13:33:15