ここでは県庁所在地一覧を使って【都道府県】【市区】【都道府県以下】を取り出してみます。(サンプルダウンロード)
■ 都道府県を取り出す
都道府県は【〇〇県】の他に4つ(北海道、東京都、大阪府、京都府)あり全て3文字です。ですから「県があれば県まで取り出し、県がなければ3文字取り出す」でOKです。
尚、FIND関数で"県"を探すと県がない場合はErrorが返ります。これを利用して「エラーなら4文字取り出す」という文が短くてよいでしょう。
=IFERROR(LEFT(A2,FIND("県",A2)),LEFT(A2,3))
県までの文字数を取り出す、エラーなら3文字取り出す
★COUNTIFを使うなら…(2007までのバージョン)
= IF(COUNTIF(A1,"*県*"),LEFT(A1,FIND("県",A1)),LEFT(A1,3))
県を含んでいれば、左から県の位置まで取り出し、そうでなければ左から3文字取り出す
|
■ 都道府県以下を取り出す
「県があれば県までを削除し、県がなければ3文字削除」で都道府県以下を取り出すことができます。(削除はREPLACE関数で空白で置換)
これもFIND関数で"県"を探すと存在しない場合にErrorが返ることを利用して「県があるなら県まで削除、なければ3文字削除」としましょう。
=IFERROR(REPLACE(A2,1,FIND("県",A2),""),REPLACE(A2,1,3,""))
県までを削除、エラーなら先頭から3文字を削除
★COUNTIFを使うなら…(2007までのバージョン)
=IF(COUNTIF(A1,"*県*"),REPLACE(A1,1,FIND("県",A1,""),REPLACE(I2,1,3,""))
県を含んでいれば、先頭から県までを空白で置換し、そうでなければ先頭から3文字を空白で置換
|
■ 市区を取り出す
住所には「神奈川県横浜市中区」のように市と区両方使う住所があるので単純に〇〇市まで、〇〇区までを取り出せません。ですから「市を含むなら市まで、それ以外は区まで」で取り出しましょう。(群や村などは適宜取り出してください)
=IFERROR(MID(A2,FIND("県",A2)+1,FIND("市",A2)-FIND("県",A2)),IFERROR(MID(A2,4,FIND("市",A2)-3),MID(A2,4,FIND("区",A2)-3)))
◎ 例 「○○市」を取り出す
"県"の次の位置から、【"市"−"県"】分の文字列を取り出します。
=
MID
(A1,
FIND
("県",A1,1)+1,FIND
("市",A1,1)
- FIND
("県",A1,1)
)
◆
"県"の次の位置(4)から【"市"の位置(6)-"県"の位置(3)】分の文字列を取り出す
◎
例 「町名」を取り出す
FIND関数を使って"区"の位置を出し、それに+1を【開始位置】とします。
取り出す文字数は、○丁目の【"丁"−1】の位置から、【"区"+1】を引けば出すことができます。
-
=MID(A1,FIND("区",A1,1)+1,(FIND("丁",A1,1)-1)
-
(FIND("区",A1,1)+1))
◆
8文字目から開始して、10文字目−8文字目(2文字)分取り出す
|