Googleスプレッドシートで、関数を使って住所から都道府県名を取り出す方法についてです。
- REGEXEXTRACT関数やLEFT関数による方法で、住所から都道府県名を取り出すことができます。
手順
REGEXEXTRACT関数による方法
正規表現にマッチする文字列を抽出するREGEXEXTRACT関数を使う例です。
画像は実行結果です。
B3:B15にさまざまな住所が記されています。ただしB12以降は「都道府県名が1文字」「都道府県名が4文字」「空白」「都道府県を含まない」の例です。
これに対してC3セルに下記のような式を入力し、下方にコピーしています。
=REGEXEXTRACT(B3,"..+?[都道府県]")
なお、ARRAYFORMULA関数を使って式のコピーを省略することもできます(次の例でも同様)。
LEFT関数による方法
LEFT関数を用いて住所の冒頭から3文字ないし4文字を抽出します。
Excelでも常用される方法です。
画像は実行結果です。
C3セルに下記のような式を入力し、下方にコピーしています。
=LEFT(B3,IF(MID(B3,4,1)="県",4,3))
これもかなり簡略した考え方ですが、4文字目が「県」なら(神奈川県、和歌山県、鹿児島県に該当)4文字を、そうでなければ3文字を抽出するというわけです。
REGEXEXTRACT関数の例と違ってC12以降がエラーになりません。
なお「=LEFT(B3,3+(MID(B3,4,1)="県"))」とすればもっと短くできますが、端折りすぎの感もあります。
市区町村以下の抽出について
都道府県名を抽出できればあとはSUBSTITUTE関数などを使って残りの部分(市区町村以下)を抽出することができますが、REGEXEXTRACT関数を使う場合は単独で分割して抽出することが可能です。詳しくは次の記事で触れています。