[Googleスプレッドシート] 1つのセルに入っている住所を市区町村・その他 に分ける

Google Spreadsheet


CRMとか使ってると分ける必要が出てくる。(特にSalesforce)

わざわざMecabとか辞書使ってやつようなレベルではないやつはスプレッドシート内でちゃちゃっとやりたい。

全列に反映させる前提なので、ArrayFormula 使ってる。

A列に住所データが入ってる前提。

郵便番号

=ArrayFormula(REGEXEXTRACT(A2:A,"\d{3}-\d{4}"))

都道府県

=ArrayFormula(REGEXEXTRACT(A2:A,".+[都道府県]"))

都道府県は単純に正規表現で抜いちゃう。

これだと京都府京都とかダメなので、文字数を指定してしまう。

=ArrayFormula(REGEXEXTRACT(A2:A,".{2,3}?[都道府県]"))

市区郡

=ArrayFormula(REGEXREPLACE(REGEXEXTRACT(A2:A,".+[市区郡]"), ".+[都道府県]", ""))

こっちは市区郡を抜いたあとに、 REGEXREPLACE で都道府県部分を除外。

住所その他

=ArrayFormula(MID(A2:A,LEN(B2:B)+LEN(C2:C)+1,100))

A列に住所、B列に都道府県、C列に市区郡が入ってるので、それらをそれぞれ除外する。