またExcelネタです。
今回は、住所録のデータから都道府県名だけを抽出する方法を紹介します。
FIND関数とLEFT関数の合わせ技
要約すると、住所の文字列の中から、「県」という文字を見つけて、その左側にある文字列を取り出します。
=LEFT(A1,FIND("県",A1))
「県」を見つけるのはFIND関数、「県」の左側を取り出すのはLEFT関数がやってくれます。
FIND(“県”,A1)で「県」が何文字目にあるのかを取得します。そして、LEFT(A1,FIND(“県”,A1))で、FIND関数で取得した位置から左側の文字列を取り出します。
このFIND関数とLEFT関数を使うことで、神奈川県や和歌山県、鹿児島県のように県名が長くともきちんと県名を取り出すことができます。
都道府はどうするの?IF関数とMID関数
さっき紹介した方法は、東京都・北海道・大阪府・京都府がデータにあるとエラー(#VALUE!)が返ってきます。では、都道府県すべて対応させるには、もうひと工夫が必要です。
やり方を要約すると、住所の文字列の4文字目に「県」があれば先頭から4文字取り出す、4文字目に「県」以外の文字があれば、先頭から3文字取り出します。
=IF(MID(A1,4,1)="県",LEFT(A1,4),LEFT(A1,3))
IF関数とMID関数がでてきました。
IF関数は、ちょいちょいいろんなところで活躍します。とくに、計算してエラーが返ってくるときには、何も表示しないようにするときなんかは、IF関数が楽です。
で、IF関数の基本的な使い方は、
=IF(論理式,論理式が真の場合の処理,論理式が偽の場合の処理)
です。
また、MID関数は、文字列の指定した位置からn文字取り出すという関数です。
=MID(文字列,開始位置,文字数)
ということで、さっきの式は、住所の文字列の4文字目をMID関数で取り出して「県」であるかを見ています。真だった場合は、LEFT関数で4文字取り出し、偽だった場合はLEFT関数で3文字取り出しています。
この式であれば、現在の都道府県名なら全部対応できます。ただ、今後合併やら変更やらで、もっと長い都道府県名になってしまったら、IF関数を入れ子にするなど対策が必要です。まぁ、当分ないでしょうけど:p
[…] 昨日は、住所録から都道府県名だけを取り出す方法を紹介しましたが、今日は、都道府県名の後ろを取り出す方法です。まぁ、ほぼ同じですが… […]