住所(都道府県市区町村地域名まで;番地なし)が入力されたセルが縦に数千並んだデータを持っています。
これを、都道府県・市区町村・地域名と3つのセルに分割する方法をおしえてください。
今:
A県B市C町
D県E市F町
↓
変換後:
A県 B市 C町
D県 E市 F町
のようにしたいです。
方法は、エクセルもしくはエクセルと互換性のあるソフトウェア(Webアプリ含む)を利用したものがよいです。
ソフトウェアはなるべくフリーのものを希望しますが、だめなら駄目でかまわないです。
データ数が多いので、手作業的なものは不可です(一部手作業なら可)。
恐ろしく冗長な方法になるかも知れませんが
「ZIPJIS」http://kitagawa.tv/zipjis/zipjis.htm
のような「市町村コード」が収録された住所データベースを入手します。
ACCESS等あれば簡単なのですが、EXCELでやるならZIPJISデータの住所部分を連結したデータを作成した物を対象に、お手元のデータからVlookupして「住所コード」を引き出します。
住所コードは「県|郡市区|町村」に分離出来ますので、これを同時に引き出しておくと楽でしょう。
最後にお手元のデータから上記部分を削除した物が町村以下の「地域名」になります。
以上で分割した素材が揃います。あとは再結合するなり分割したまま使うなりご自由に。
※実はこの方法は某レンタルシステムで、会員記載の(正しくないかも知れない)住所から、正しい住所を導く為に使った方法です。
Excelの機能だけで行う方法です。
データの入った列を選択して、置換から、
県→県,
市→市,
で置換して県と市の後ろにコンマを付けます。
次に、データの入った列を選択したまま
データ→区切り位置でダイアログを開き、
次へ→カンマにチェックして次へ→完了
でセルを分割できます。
ただし、ただしく分割できるのは県や市があるデータだけです。
道や府も置換で対応できますが、市の無い住所の場合はこの方法ではできませんので、
何かの住所のデータベースが必要になるかと思います。
先に紹介した方法だとかなり手作業の修正箇所が出てくると思うので、
マクロを使ったより精度の高い方法です。
A列にデータがあるとして、以下のコードを標準モジュールにコピペして実行すると分割します。
この方法でもあらゆる住所には対応できないので、完璧なものは住所録が必要ですが、修正箇所がかなり少なくなるはずです。
Sub Macro() Dim i As Long Dim lastRow As Long Dim s As String Dim p1 As Integer Dim p2 As Integer lastRow = Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To lastRow p1 = 3 s = Cells(i, 1).Value Select Case Left(s, 3) Case "東京都" Cells(i, 1).Value = "東京都" Case "大阪府" Cells(i, 1).Value = "大阪府" Case "京都府" Cells(i, 1).Value = "京都府" Case "北海道" Cells(i, 1).Value = "北海道" Case Else p1 = InStr(1, s, "県") If p1 > 1 Then Cells(i, 1).Value = Left(s, p1) Else Cells(i, 1).Value = "" End If End Select p2 = InStr(1, s, "市") If p2 < 1 Then p2 = InStr(1, s, "区") If p2 < 1 Then p2 = InStr(1, s, "町") If p2 < 1 Then p2 = InStr(1, s, "村") End If End If End If If p2 > 1 Then Cells(i, 2).Value = Mid(s, p1 + 1, p2 - p1) Cells(i, 3).Value = Mid(s, p2 + 1) End If Next i End Sub
恐ろしく冗長な方法になるかも知れませんが
「ZIPJIS」http://kitagawa.tv/zipjis/zipjis.htm
のような「市町村コード」が収録された住所データベースを入手します。
ACCESS等あれば簡単なのですが、EXCELでやるならZIPJISデータの住所部分を連結したデータを作成した物を対象に、お手元のデータからVlookupして「住所コード」を引き出します。
住所コードは「県|郡市区|町村」に分離出来ますので、これを同時に引き出しておくと楽でしょう。
最後にお手元のデータから上記部分を削除した物が町村以下の「地域名」になります。
以上で分割した素材が揃います。あとは再結合するなり分割したまま使うなりご自由に。
※実はこの方法は某レンタルシステムで、会員記載の(正しくないかも知れない)住所から、正しい住所を導く為に使った方法です。
ありがとうございます。この方法で作業をおこないます。
ありがとうございます。この方法で作業をおこないます。