エクセルの関数技 5回 LEFT関数、FIND関数、MID関数

住所から都道府県名だけ取り出したい~LEFT関数、FIND関数、MID関数

文字列関数は、名簿や住所録といった文字列を扱う表で大活躍してくれます。名簿から都道府県名を取り出すという作業を通じて文字列関数を理解しましょう。
(サンプルファイルは、こちらから 関数技5回サンプルデータ

『住所』から『都道府県名』だけをとりだす

前ページでは、『住所』から『県名』だけをとりだしました。
今度は「県以外の都道府の場合はどうするのか?」を考えましょう。

 住所録の住所から都道府県名を抜き出します。

地区の住民の住所録等は、 =LEFT(C2,FIND(" 県",C2))
上記の式で対応できますが、顧客名簿など対象が全国にまたがる時は、県以外も取り出す必要があります。
あ
東京都、大阪府、京都府、北海道
皆3文字ですね。
=LEFT(C2,FIND(" 県",C2))
この式をそのまま使うと、県以外ではエラーになります。

都道府県の文字数ルールを考える

都道府県の文字数ルールを見ていくと、東京都、大阪府、京都府、北海道と皆3文字です。

県の場合だけ、3文字のほかに、4文字があります。
神奈川県、和歌山県、鹿児島県ですね。

ですから、神奈川などを無視すれば、LEFT関数で3文字取り出せばすんでしまうわけです。(そんなこと無理か!)
3文字だけなら、下記の式が有効だが、
=LEFT(C2,3)・・・4文字には無理
しかし、4文字は、県だけです。
そこで、IF関数とMID関数を使って4文字目が県ならば、4文字取り出すという式にします。それ以外は、3文字取り出します。
=MID (文字列,開始位置,文字数) 
MID関数は、『文字列の指定した位置から指定した文字数だけ取り出す。』関数です。
MID関数
これをIF関数の論理式(条件)にします。

=IF(MID(C2,4,1)="県",LEFT(C2,4),LEFT(C2,3))

もしも、4文字目が県ならば、C列から4文字取り出し、
4文字目が県でないなら、C列から3文字取り出す
スポンサーリンク
スポンサーリンク


式は下までオートフィルでコピーしてください。

住所から県名より後ろの市町村部分を表示させたい

また県名より後ろを表示させたい場合は、下図のようになります。
LEN 関数は、文字列の文字数を返します。
=LEN(文字列) です。


=LEN(C2)でC2セルに入力されている文字数をカウントします。

また、MID 関数は、文字列の指定された位置から指定された文字数の文字を取り出す関数でした。

=MID (文字列,開始位置,文字数) を使って、
文字数のところに、文字数=LEN(C2)を入れてやります。
文字列は、C2セルです。

さらに、IFを関数を使って、4文字目が県なら、C2セルの5文字以降を取り出せという式を作ります。
それ以外は、C2セルの4文字以降を取り出せという式を作ります。

=IF(MID(C2,4,1)="県",MID(C2,5,LEN(C2)-4),MID(C2,4,LEN(C2)-3))


このように、文字列関数は、名簿や住所録といった文字列を扱う表で大活躍してくれます。
今回は、LEFT関数、FIND関数、MID関数、IF関数、LEN関数を使いました。
お疲れ様でした。
スポンサーリンク
スポンサーリンク