スプレッドシートで住所を分割したい

Googleスプレッドシートで、住所を分割したいというシーンもあるかと思います。スプレッドシートで1つの列に住所が入力されていて、それぞれ「都道府県」・「市区郡」・「残り」のように分割する場合は、スプレッドシート専用の関数を利用すると簡単に分割ができますよ。
この記事では、スプレッドシートで住所を分割する方法をご紹介していきます。Excelで住所を分割したい場合は、下記リンク先の記事を参考にしてみてくださいね。
スプレッドシートで住所を分割する方法

それでは、スプレッドシートで住所を分割する方法を説明していきます。画像の例では、A列に各都道府県の住所が入力されていますね。これを都道府県・市区郡・それ以降で分けていきたいと思います。
![「=ArrayFormula(REGEXEXTRACT(A2:A5,".{2,3}?[都道府県]"))」と入力](http://s3.ap-northeast-1.amazonaws.com/static.aprico-media.com/production/imgs/images/000/093/016/original.jpg?1672392856)
ここでは「=ArrayFormula(REGEXEXTRACT(A2:A5,".{2,3}?[都道府県]"))」と入力してEnterキーを押すことで、指定範囲の中から都道府県を抜き出しています。
使用している「Arrayformula関数」はGoogleスプレッドシートでのみ使用可能な関数で、配列数式から帰ってきた値を複数行もしくは複数列で表示させることが可能です。Arrayformula関数で括った数式は指定範囲に対して適用されるため、1つのセルに数式を入力すれば残りのセルにも自動的に結果が表示されますよ。
Arrayformula関数で指定した正規表現にマッチする「REGEXEXTRACT関数」を使用し、正規表現の「.{2.3}?」の後に「[都道府県]」を組み合わせて都道府県の4つの文字を抽出できるようにしています。「.{2.3}?」の部分で文字数を指定することで、京都府京都のようなケースにも対応可能となっています。

これで、都道府県の部分を抜き出すことができました。
![C2セルに「=ArrayFormula(REGEXREPLACE(REGEXEXTRACT(A2:A5,".+[市区郡]"), ".+[都道府県]", ""))」と入力](http://s3.ap-northeast-1.amazonaws.com/static.aprico-media.com/production/imgs/images/000/093/019/original.jpg?1672393295)
次は、市区郡までを抜き出します。C2セルに「=ArrayFormula(REGEXREPLACE(REGEXEXTRACT(A2:A5,".+[市区郡]"), ".+[都道府県]", ""))」と入力してEnterキーを押しましょう。これで、市区郡が抽出されます。
「REGEXREPLACE関数」を使用して正規表現を用いることで、都道府県を除外しています。ですので市区郡の部分だけが表示されているわけですね。

最後にD2セルに「=ArrayFormula(MID(A2:A5,LEN(B2:B5)+LEN(C2:C5)+1,100))」と入力することで、市区郡以降の残りの文字列を抽出しています。これで、スプレッドシートで住所を分割することができますよ。