Power Query 条件替换列

Power Query conditional replace column

我需要更改 A 列的首字母,使其以“2”开头 if A 列以“1”开头 and B 列为“开”,否则无变化。 我在 Power Query 编辑器中使用以下公式添加了一个步骤,但没有任何变化!

= Table.ReplaceValue(#"Changed Type",each {"ColumnA"},each if Text.StartsWith({"ColumnA"}, "1") and {"ColumnB"}="on" then Text.ReplaceRange({"ColumnA"}, 0, 1, "2") else {"ColumnA"},Replacer.ReplaceText,{"ColumnA"})

Original:   
ColumnA     ColumnB
--------------------
"10500"        "on"
"21060"        "on"

Result: 
ColumnA     ColumnB
--------------------
"20500"        "on"
"21060"        "on"

你的括号不对 - 你想要这样的东西:

= Table.ReplaceValue(#"Changed Type",each [ColumnA], each if Text.StartsWith([ColumnA], "1") and [ColumnB]="on" then Text.ReplaceRange([ColumnA], 0, 1, "2") else [ColumnA],Replacer.ReplaceText,{"ColumnA"})