[Googleスプレッドシート] 1つのセルに入っている住所を市区町村・その他 に分ける
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列に市区郡が入ってるので、それらをそれぞれ除外する。