パワークエリでの文字列の変換には、「値の置換(Table.ReplaceValue)」を使いますよね。「A」を「B」に置き換えするような場面なら、これでできます。
ただパワークエリでは、今のところワイルドカードや正規表現が使えません。「A BCD」や「BCDA」のように、置換したい文字列の前後に何かしらの文字列がくっついていると、それを一括で特定の文字列に変換するのは一筋縄ではいきません。素直にやるなら Table.TransformColumnsで ifを使って変換するくらいでしょうか。
なんとか「~から始まる/~で終わる/~を含む」を条件にして「置換」できないものかと思って、ヘルプで「Table.ReplaceValue」を検索してみたところ、ヒントが見つかりました。この関数、第4引数に第1~第3引数を変数にした式を入れ込めるんですね。
「~を含む」を条件にするなら、下記のようにすればいいです。
「を含む」値の置き換え= Table.ReplaceValue( ソース, each Text.Contains([列1], "A"), "B", (a,b,c)=> if b then c else a, {"列1"} )
「で始まる」「で終わる」を指定する場合は、関数を変えるだけです。
「で始まる」値の置き換え= Table.ReplaceValue( ソース, each Text.StartsWith([列1], "A"), "B", (a,b,c)=> if b then c else a, {"列1"} )
「で終わる」値の置き換え= Table.ReplaceValue( ソース, each Text.EndsWith([列1], "A"), "B", (a,b,c)=> if b then c else a, {"列1"} )
結局、Table.TransformColumnsとそんなに変わらんような……
もっとうまいやり方があるのかもしれませんが、ひとまず。