Excel で住所から都道府県名だけ別のセルに取り出す方法
Excel で住所録を作っていますが、都道府県で分類できますか?
住所から都道府県名だけ別のセルに取り出しておけば簡単よ。
特別な関数でもあるのですか?
ほとんどの都道府県名が先頭から3文字なので「LEFT関数」で切り出せるわ。
でも、4文字の県名もありますよね?
そう。その場合だけ例外の処理をすればいいのよ。
説明
Excelで作った住所録を都道府県別で集計や並べ替えするとき、都道府県名だけ別のセルに取り出したいことがありますが、その場合、
- ほとんどの都道府県名は住所の先頭から 3文字
- 4文字なのは「鹿児島県」「和歌山県」「神奈川県」だけ
という規則が利用できます。
そこで、文字列の先頭から指定した数の文字列を取り出す「LEFT関数」を使います。
LEFT (文字列,文字数)
たとえばセル「A1」の文字列で、先頭から 3文字を「A2」に取り出す場合、「A2」は以下のような式にできます。
=LEFT(A1,3)
このとき住所が「神奈川」「和歌山」「鹿児島」でも「県」が付かないだけで、どの都道府県かは分かるので、簡易的にはこれでも十分です。
それでも「神奈川県」「和歌山県」「鹿児島県」も「県」まで取り出したい場合は、住所の左から 4番目の文字が「県」かどうかで判断できます。
文字列の 4文字目が「県」か確認するには「MID関数」が使えます。
MID(文字列,開始位置,文字数)
たとえばセル「A1」の文字列 4文字目の 1文字を「A2」に取り出す場合、「A2」は以下のような式になります。
=MID(A1,4,1)
この 4文字目が「県」である場合、
MID(A1,4,1)="県"
という論理式が正しい (真)と判定されます。
そこに「IF関数」を組み合わせます。
IF(論理式,真の場合,偽の場合)
つまり MID(A1,4,1)="県" という論理式が「真」なら左から 4文字を、そして「偽」なら 3文字を取り出す、という以下の式になります。
=IF(MID(A1,4,1)="県",LEFT(A1,4),LEFT(A1,3))
あくまでも記録している住所には、すべて都道府県名が先頭に含まれていることが前提ですが、記載誤りがなければこの式で取り出せます。
さらに住所から都道府県名を除いた部分も別のセルで表示したい場合、指定したセルの文字数をカウントできる「LEN関数」を使います。
LEN(文字列)
たとえば、セル「A1」の文字数は LEN(A1) となります。
都道府県名を除いた文字数は「神奈川県」「和歌山県」「鹿児島県」で LEN(A1)-4 それ以外は LEN(A1)-3 となります。
そこで「神奈川県」「和歌山県」「鹿児島県」を除いた文字列は「MID関数」も使って
MID(A1,5,LEN(A1)-4)
となります。
5文字目から LEN(A1)-4 文字分の文字列を書き出す、というわけです。
ここでも最後に「IF関数」と組み合わせて
=IF(MID(A1,4,1)="県",MID(A1,5,LEN(A1)-4),MID(A1,4,LEN(A1)-3))
とすれば都道府県名を除いた住所の文字列が取り出せます。
同様の工夫で「市」や「区」の名前だけ取り出す、といったことも可能です。
執筆者: 林 俊二