住所一覧から都道府県名を取り出すKEN関数

 住所データから都道府県名だけを取り出す ファンクションマクロ(ユーザー定義関数)を作ってみます。たとえばあるセルに

山梨県甲府市猪狩町 A - B - C

という住所があったときに別のセルに「山梨県」だけを抜き出します。日本にある 47 都道府県は 1 都・1 道・2 府・43 県ですから、

東京都、京都府、大阪府、北海道

を除けば他は全て県であり、県名には

愛媛県、青森県

のように 2 文字のものと、

神奈川県、和歌山県

のように 3 文字のものがあります。そこでキーとなる文字は 4 番目にあると考えます。 4 番目の文字をチェックして、そこに「県」という文字があるならば、先頭から 4 文字を取り出せばよく、それ以外の場合は先頭から 3 文字を取り出すようにすれば全ての都道府県に対応できます。
 

都道府県名を取り出すマクロ

 IF ステートメントを使って場合分けします。

 Function KEN(mystr As String) As String

 Dim mykey As String
 Dim mylen As Integer

 '先頭から 4 番目の数を抜き出します
 mykey = Mid(mystr, 4, 1)

 ' 4 番目の数が「県」である場合
 If mykey = "県" Then
  mylen = 4

 'それ以外の場合
 Else
  mylen = 3

 End If

 '県名を取り出します
 KEN = Left(mystr, mylen)

 End Function

 たとえば下図のように B 列に住所データが入っているとします。

 Excel都道府県取り出し関数

 C2 セルに

=KEN(B2)

と入力すると「山梨県」が表示されます。あとはオートフィルすれば各データごとの都道府県名が得られます。

 ≫ VBA の技術メニュー

スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)