Excel PowerQueryで住所の加工ほか、住所録を作成

Microsoft Excel

スポンサーリンク

年賀状印刷などで住所録データを作るに当たり、下記のような元データを

  • 住所を都道府県・市区町村・それ以降の番地 とに分割する
  • 姓・名を一つの列に結合(スペース記号を挟んで)する
  • 郵便番号の「-」記号は消す

といった加工を施したいということはあると思う。

今回はそれをPowerQueryで実施する手順(主に住所の分割)をやってみたい。

住所の分割

都道府県の分割

ではまず住所の変換からいきたい。

住所はたとえば「福岡県八女市」なら、語句「」を基準にして「福岡」と「八女市」に分割したい。

だが残念ながら直接それをやろうとすると、区切り語句「」は消されて「福岡」と「八女市」に分割されることになってしまう。

なので、消されても良い区切り語句を新たに設定するのが良いだろう。
その区切り語句として、住所にはまず出てこないであろう「#」文字を使ってみる。

「住所」列を選択した状態で、リボン「ホーム」タブ→値の置換  とする。

PowerQueryの置換機能

置換ダイアログで、語句「県」を「県#」に置換すると入力し、「OK」を押す。

まあこの場合、「県営住宅」とかの語句が「県#営住宅」というように置換されてしまうのだが、そういう例外は後で改めて処理するってことで良いかなと。

「県」について置換したが、都・道・府についてはパターンが限定されるので個別に行けば良いだろう。上記と同様の要領で、

  • 「東京都」→「東京都#」
  • 「大阪府」→「大阪府#」
  • 「京都府」→「京都府#」
  • 「北海道」→「北海道#」

と置換していく。

次に

リボン「変換」タブ
→「列の分割」
→区切り記号による分割

とする。

Excel PowerQuery 列の分割(1)区切り記号や文字数による分割

そして、消される用に設定した「#」記号を区切り記号として記入し、「OK」を押す。

番地の分割

これで、都道府県とそれ以降とに分割されるところまではできる。

次は分割後データ・下図の「住所.2」について、番地が漢数字だとちょっと無理だけど、通常の数値の番地になってることを前提に、番地を分割してみる。

こういう場合は、数字の部分だけを切り離すちょうど良い分割コマンドがある。

リボン「変換」タブ
→「列の分割」
→「数字以外から数字による分割

とする。

Excel PowerQuery 列の分割(2)文字種類などで分割する

これで、番地以降の部分は、数字の部分とみなされて分割される。

ただ、「-」記号も数字以外の部分だとみなされるので、下図のように「住所2.2」「住所2.3」「住所2.4」などと複数列に分割される。

それらは普通に再度結合し直せば良いだろう。

リボン「変換」タブ
→「列のマージ

とする。

Excel PowerQuery 列を結合する

区切り記号は「なし」で、新しい列名に「番地」などと適切に名称を入れて「OK」を押す。

これでひとまず、番地の部分は結合される。

姓名や郵便番号の処理

ここからは割と簡単。

まずは「姓」「名」を、スペース記号を挟んで一つに結合する。

「姓」「名」列を選択した状態でリボン「変換」タブ→「列のマージ」 とする。

区切り記号で「スペース」を選び、新しい列名に「氏名」と入れ「OK」を押す。

次に郵便番号から「-」記号を取り除く。

先程もやったばかりだが、リボン「ホーム」タブ→「値の置換」とする。

「検索する値」欄に「-」記号を入れ、「置換後」欄は空欄にして「OK」を押す。

これで一通りの加工は完了。まあ基本的なPowerQueryの操作だけで割と簡単ですね。

スポンサーリンク