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

Power Query如何修改代码实现指定多列的条件值批量替换

解决方案

你只需要将固定列引用替换为指代当前单元格的变量即可,修改后的完整代码如下:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    // 如需指定部分列生效,可直接写为ColumnNames = {"列1", "列2", "列3"}
    ColumnNames = Table.ColumnNames(Source),
    Step1 = Table.ReplaceValue(
        Source,
        each _,
        each if Text.Contains(_, "A") then "Upper"
        else if Text.Contains(_, "B") then "Middle" 
        else if Text.Contains(_, "C") then "Lower"
        else if Text.Contains(_, "NaN") then ""
        else if Value.Is(Value.FromText(_), type number) then "Num"
        else _,
        // 替换为Replacer.ReplaceValue兼容性更强,支持文本、空值等多种类型的替换
        Replacer.ReplaceValue,
        ColumnNames
    )
in
    Step1

修改说明

  • 修正了原代码中替换逻辑开头多余的else语法错误
  • 将第二个参数改为each _,表示匹配所有目标列的单元格值
  • 将所有原逻辑中的固定列引用[L1_Grade]替换为_,_指代当前正在处理的目标列的单个单元格值,可自动适配你指定的所有列
  • 将原Replacer.ReplaceText改为Replacer.ReplaceValue,兼容空值、非文本类型的替换场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 10:54:00