住所データから都道府県名だけを取り出す ファンクションマクロ(ユーザー定義関数)を作ってみます。たとえばあるセルに
という住所があったときに別のセルに「山梨県」だけを抜き出します。日本にある 47 都道府県は 1 都・1 道・2 府・43 県ですから、
を除けば他は全て県であり、県名には
のように 2 文字のものと、
のように 3 文字のものがあります。そこでキーとなる文字は 4 番目にあると考えます。 4 番目の文字をチェックして、そこに「県」という文字があるならば、先頭から 4 文字を取り出せばよく、それ以外の場合は先頭から 3 文字を取り出すようにすれば全ての都道府県に対応できます。
都道府県名を取り出すマクロ
IF ステートメントを使って場合分けします。
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 列に住所データが入っているとします。
C2 セルに
と入力すると「山梨県」が表示されます。あとはオートフィルすれば各データごとの都道府県名が得られます。