【Googleスプレッドシート】都道府県と市区町村を抽出する方法

Googleスプレッドシートで、住所から都道府県名を抽出する方法をご紹介します。REGEXEXTRACT関数と正規表現を活用して、都道府県・市区町村・それ以降の情報を分割する方法についても解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

住所から都道府県を抽出する方法

Googleスプレッドシートで住所から都道府県と市区町村を抽出する方法

REGEXEXTRACT関数は、正規表現と最初に一致する部分文字列を抽出します。

=REGEXEXTRACT(A1,”..+?[都道府県]”)

.任意の1文字
+直前のパターンの1回以上の繰り返し(最長一致)
+?直前のパターンの1回以上の繰り返し(最短一致)
[ ][ ] 内のいずれかの1文字

..+?[都道府県] は、直前が2文字以上で、都道府県のいずれかで終わるテキストを表します。

REGEXEXTRACT関数の引数:(テキスト, 正規表現)

Googleスプレッドシートで住所から都道府県と市区町村を抽出する方法

正規表現の +(最長一致)と、+?(最短一致)

+ は正規表現と一致するテキストをできるだけ長い形で、+? は正規表現と一致するテキストをできるだけ短い形で抽出します。

例えば、「京都府京都市」という文字列に対して、..+[都道府県] を用いると「京都府京都」が、..+?[都道府県] を用いると「京都府」が検索結果として得られます。

スポンサーリンク

住所から市区町村を抽出する方法

Googleスプレッドシートで住所から都道府県と市区町村を抽出する方法

( ) を使って、括弧で囲われた部分に一致したテキストだけを抽出します。

例:=REGEXEXTRACT(A1,”(..+?[都道府県])(.+[市区町村])(.*)”)

都道府県名を抽出した後の残りのテキストから市区町村を抽出し、さらに市区町村を抽出した後の残りのテキストから、それ以降のすべての文字列を抽出します。

.任意の1文字
+直前のパターンの0回以上の繰り返し(最長一致)
[ ][ ] 内のいずれかの1文字
( )キャプチャグループ

.+[市区町村] は、直前が1文字以上で、市区町村のいずれかで終わるテキストを表します。

.* は、0文字以上の文字列の最長一致表します。

Googleスプレッドシートで住所から都道府県と市区町村を抽出する方法

+ は最長一致、+? は最短一致です。

四日市市のように途中に「市」が含まれるケースを考慮すると、最長一致の + を使用することで、意図しない短い範囲でマッチするのを防ぎます。

完璧に取り出すことは難しい場合もありますが、場合によって「市区群」を使用することで、より多くの住所に対応できる可能性があります。ただし、「市川市市川南」のような形式は、正確な抽出が難しいことがあります。

タイトルとURLをコピーしました