なんでもエクセル(Nandemo Excel)

何でもエクセルでやってしまう そこのあなた。ようこそ

Power Query:ひらがなをカタカナに変換する

前回とやることはほぼ同じ。今回はひらがなをカタカナに変換してみる。

今回も置換リストをまず用意。面倒なので先に作ったものをアップしておく。

置換リスト
let     BinaryText = "RdCxUUNBEMDQXhw7MNh3u78WIPDe3u+A/mEYC2Uahe/j4/L5fb893i7Xv3i+Xb6ur/fOe/fdeXffg/fwDd7wTd70BS98yUvfwTt8T97TV7zyLd7yNa99m7d9J+/8f+P2enXz4Vf6DfxKv4Ff6TfwK/0GfqXfwK/0G/iVfgO/0m/gV/oN/Eq/gV/pN/Ar/QZ+pd/Ar/Qb+JV+E7+l38Rv6TfxW/pN/JZ+E7+l38Rv6TfxW/pN/JZ+E7+l38Rv6TfxW/pN/JZ+E7+l38Rv6TfxW/pN/JZ+gV/rF/i1foFf6xf4tX6BX+sX+LV+gV/rF/i1foFf6xf4tX6BX+sX+LV+gV/rF/i1foFf6xf4tX6J39Yv8dv6JX5bv8Rv65f4bf0Sv61f4rf1S/y2fonf1i/x2/olflu/xG/rl/ht/RK/rV/it/VL/LZ+B36nfgd+p34Hfqd+B37nr9/XDw==",,     置換リスト= Json.Document(         Binary.Decompress(             Binary.FromText(BinaryText),             Compression.Deflate         )     ) in     置換リスト

リストさえあれば置換自体は簡単。「テーブル1」が読み込んであるものとして、

ひらがなをカタカナに変換
    カタカナ変換 = Table.AddColumn(
        テーブル1,
        "列2",
        each Text.Combine(
            List.ReplaceMatchingItems(Text.ToList([列1]), 置換リスト)
        )
    )

カタカナからひらがなに変換する場合は、リストの左右を入れ替えるか置換の方法を変えてやる。

カタカナをひらがなに変換
    ひらがな変換 = Table.AddColumn(
        テーブル1,
        "列2",
        each List.Accumulate(
            置換リスト, [列1], (x, y)=> Text.Replace(x, y{1}, y{0})
        )
    )

こんな感じ。