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

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

Power Query:郵便番号から住所を検索する

数式でやるなら郵便番号データをダウンロードしてきて検索すればいいんだけど、毎回それをやるのは面倒だし、かといって WebAPIを使う方法だといちいち再計算がかかるので都合が悪い。数十件くらいなら、Power Queryでやってしまえばいいかなと思う。

今回は「郵便番号検索」のキーワード検索を使わせてもらう。

api.nipponsoft.co.jp

まずはテーブルを読み込む。

    ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
    型の変更 = Table.TransformColumnTypes(ソース, {{"郵便番号", type text}}),

読み込んだテーブルに「住所」列を追加。

    住所列の追加 = Table.AddColumn(
        型の変更, "住所",
        each Web.Page(Web.Contents(url&[郵便番号]))
            {0}[Data]{0}[Children]{1}[Children]{0}[Text],
        type text
    ),

この時、最初だけアクセスの確認を求められるので「接続」をクリック

これで基本問題ないけど、郵便番号に複数候補がある場合、変な表記になることがあるので「(」より前だけ表示させる設定を追加する。


  住所列の編集 = Table.TransformColumns(住所列の追加, {         "住所",         each Text.Start(_, Text.PositionOf(_&"(", "("))     })

これで完成。