PR

Power Queryで住所の都道府県・市町村区以降を分離する

Power Query応用

どの会社にも顧客マスタがあると思います。次の顧客マスタがあるとします。

顧客マスタ

住所に都道府県と市町村区などがすべて記載されており、このままだとデータとして活用しにくいです。

たとえば、地域ごとの売上が知りたいので次のグラフを作成するにしても、都道府県から地域を割り出す必要があります。

都道府県別売上グラフ

本記事では、住所から都道府県と市町村区以降を分離する方法について解説します。

最終形は、次の表のように都道府県と市町村区以降を分離することを目指します。

都道府県・市町村区以降を分離

サンプルデータ

冒頭でも記載した、顧客、郵便番号、住所列があるサンプルデータを使用します。

サンプルデータ

サンプルデータはこちらからダウンロードしてください。

データの加工

都道府県は全部で47あります(1都・1道・2府・43県)。そのうち、4文字なのは「神奈川県」「和歌山県」「鹿児島県」の3つだけで、他は全部3文字です。

この特徴を使って、名前の取り出し方を工夫できます。具体的には、「4文字目が“県”なら4文字まで取り出す」「そうでなければ3文字まで取り出す」というルールで処理すればOKです。

都道府県だけ抜き出す

Power Queryエディターを開き、「列の追加」タブー「カスタム列」をクリックします。

カスタム列を追加

「新しい列名」に「都道府県」と入力、「カスタム列の式」に後述の変換式を入力し、OKをクリックします。

都道府県のみを抽出した列を追加

変換にはText.MiddleText.Start関数を使います。

= if Text.Middle([住所], 3, 1) ="県" then Text.Start([住所], 4)
else Text.Start([住所], 3)

if Text.Middle([住所], 3, 1) =”県” で、4文字目が県の場合を判定します。第2引数が3となっていますが、0が1文字目という意味合いのためです。ご注意ください。then Text.Start([住所], 4)で住所から4文字の神奈川県」「和歌山県」「鹿児島県」を取得しています。

else Text.Start([住所], 3) で3文字の都道府県を取得しています。

次のように都道府県が取得できました。

都道府県列が追加された

市町村区以降を抜き出す

「列の追加」タブー「カスタム列」をクリックします。

カスタム列を追加

「新しい列名」に「市町村区以降」と入力、「カスタム列の式」に後述の変換式を入力し、OKをクリックします。

市町村区以降を抽出した列を追加

変換にはText.MiddleText.Length関数を使います。

= Text.Middle([住所], Text.Length([都道府県]), Text.Length([住所]))

都道府県より後の文字を取得したいため、Text.Middleの第2引数に都道府県の文字数を入れています。文字数は先程追加した「都道府県」列の文字数をText.Length([都道府県])で取得しています。

第3引数には住所の文字数を入れています。市町村区以降の住所をすべて取得するためです。文字数は Text.Length([住所]) で取得しています。

次のように市町村区以降の住所が取得できました。

市町村区以降の列が追加された

データの出力

データの加工が終わったため、「ホーム」タブー「閉じて読み込む」をクリックします。

Power Queryエディターを閉じて読み込む

都道府県・市町村区以降を分離できました。

都道府県・市町村区以降を分離

Excel/Power Queryのデータ加工相談サービス

Excel/Power Queryのデータ加工で悩んでおり、ネットや本で調べても解決しない場合は、一度ご相談下さい。

やりたいことをヒアリングして解決までサポートいたします。

ご相談内容の例
  • 前任者が作ったExcelファイルの数式等が意味不明で困っている
  • Power Queryを使ってExcelでデータ加工を行いたいが、うまく使いこなせない
  • 手作業が多く、業務効率化を行いたいが、どう進めていいか分からない

ココナラでご相談を受け付けております。ココナラの会員登録が必要になります。

Power Queryの学習に役立つおすすめ本
初心者向け 初心者~中級者向け 中級者~上級者向け
プロフィール
たがみ

IT業界20年程度のシステムエンジニアです。
構築したシステムのデータ検証をExcelで実施することが多く、検証作業の効率化を模索しているときにPower Queryと出会いました。
Excel業務効率化の手助けになればと当ブログを解説しました。
今ではデータ分析でPower BIを活用しており、Power BI、Excelの両方でPower Queryを活用しています。

たがみをフォローする
Power Query応用
シェアする
たがみをフォローする
タイトルとURLをコピーしました