Googleスプレッドシートやエクセルで、住所から都道府県名を抽出する方法を解説していきます。
- 置換処理で気合でやる方法
- REGEXEXTRACT関数を用いる方法
- 『IF関数』『MID関数』『LEFT関数』を用いる方法
これら3つの方法を紹介します。
こんにちは。当ブログの管理人の『くろん』です。
30代サラリーマン、新規事業推進室に所属。新卒ブラック企業努め時代に身に着けた業務効率化ノウハウをアウトプットしていきます。
読んでくれた方の業務が一秒でも早く終わりますようにの精神で記事書いてます!!
置換処理で気合でやる方法
さて、まずは、とりあえず一回ポッキリなら、これでいっか。置換で変換方式です。
A列にダミー住所情報を用意しました。ここから、都道府県名を抽出していきます。
B列にA列をコピーして、B列を範囲選択。『Ctrl』+『H』キーで置換ツールが起動するので、まずは東京都から置換していきます。
検索を『東京都.*』(ピリオドとアスタリスク)
置換後の文字列を『東京都』
と入力して、『正規表現を使用した検索』にチェックし、完了の一個左のボタン、全て置換をクリックします。
※『都.*』→『都』でもいいじゃないかと思うかもしれませんが、京都府がひっかかってしまうので、『東京都.*』→『東京都』としないとダメです。
エクセルの置換の場合は、ワイルドカードによる検索が使えるのですが、Googleスプレッドシートでは使えず、正規表現を用いる必要があります。その点、注意が必要ですね。
続いて、『北海道』を置換していきます。
検索を『北海道.*』(ピリオドとアスタリスク)
置換後の文字列を『北海道』
と入力して、『正規表現を使用した検索』にチェックし、完了の一個左のボタン、全て置換をクリックします。
さらに続けて、『大阪府』『京都府』を置換しちゃいましょう。
検索を『府.*』(ピリオドとアスタリスク)
置換後の文字列を『府』
と入力して、『正規表現を使用した検索』にチェックし、完了の一個左のボタン、全て置換をクリックします。
で、最後に、『県』をすべて処理します。
検索を『府.*』(ピリオドとアスタリスク)
置換後の文字列を『府』
と入力して、『正規表現を使用した検索』にチェックし、完了の一個左のボタン、全て置換をクリックします。
これで、都道府県名のみを抽出することができました。一回ぽっきりのデータ加工なら、一番手っ取り早く処理できるはずです。
REGEXEXTRACT関数を用いる方法
正規表現を用いて、文字列の抽出を行うことができる関数『REGEXEXTRACT関数』
この関数知らないよって方はこちらの記事を合わせてご確認ください。
=REGEXEXTRACT(A2,"京都府|^.*?[都道府県]")
正規表現はなかなか癖があって難しいのですが、一度覚えてしまうと、文字列コントールに関してはかなり幅が広がります。
『^.*?[都道府県]』で、都道府県それぞれの漢字がでてくる手前部分の最短文字列に合致したのを抽出しろという指示になります。
Web上には、『^.*[都道府県]』(?がないVER)これでイケるみたいなこと書いてある記事がありましたが、これですと最長文字列を取得することになるので、例えば、『山梨県南都留郡道志村大野482-2』みたいな感じで、市区町村以下に都道府県の文字が含まれている際に、抽出されるのが『山梨県南都留郡道』となってしまいます。
なので、最短文字列を指定する正規表現を用いる必要があります。
また、京都府だけは、『都』という文字が府の前に存在しているので、『^.*?[都道府県]』で抽出をかけると『京都』となってしまうので、先んじて別枠で抽出してしまいます。
『IF関数』『MID関数』『LEFT関数』を用いる方法
この方法は、住所が下記条件を満たしていることを利用した方法になります。
- 都道府県名で4文字になのは、『神奈川県』『和歌山県』『鹿児島県』であり、すべて『県』であること
- 市区町村・郡のうち先頭が『県』で始まる地名がないこと。
これらの前提条件を満たしているので、都道府県を抽出するためには、文字頭から4文字目を『MID関数』で抽出し、『IF関数』で判定し、『県』だったら4文字目までを『LEFT関数』で抽出し、そうでなかったら、3文字目までを『LEFT関数』で抽出すればよいことになります。
=if(mid(A2,4,1)="県",left(A2,4),left(A2,3))
『MID関数』は文字列の途中の文字を指定数分だけ抽出してくれる関数、『LEFT関数』は文字列左から指定数分抽出してくれる関数です。詳しい解説はこちらの記事をどうぞ。
『IF関数』は、条件分岐の関数ですね。詳しくはこちらの記事をどうぞ。
この都道府県抽出の方法も、シンプルで好きですが、今後もし万が一『県』から始まる市区町村・郡が生まれてしまうとも限らないので、注意が必要ですね。多分大丈夫だと思いますが。。。
住所から都道府県名のみを抽出するまとめ
住所から都道府県名を抽出する方法について、3つの方法を解説しました。
状況に応じて、最適なものを使っていただければありがたいですー。