- ベストアンサー
住所入力で困っています!
一つのセルに県名から番地まで入ってる住所録があります。県名を除いた住所を別のセルに移したいのですが、そのセルには入れる字数が決まっていて、はじめのセルには全角で最初の文字から11文字まで、それで収まらない住所に関してはその次のセルへ、12文字目から入るようにしたいのですが、なにかよい方法はありますか?ただ、LEFT、MID、RIGHT関数ですと、中途半端に住所が切れてしまうので、それぞれ、きりのいいところで切って、余るようだったら、次のセルに移したいのですが、よい方法ありましたら教えてください。件数は約6000件くらいあるので、簡単に処理できる方法ご存知でしたらお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1、都道府県名とそれ以下を分けるのは容易です。 A1に住所が入っているとして、以下の式を例えばB1に入力し、必要な行までコピーします。 =RIGHT(A1,LEN(A1)-4+SUM((MID(A1,3,1)={"都","道","府","県"})*1)) 2、市区町村名以下の文字列住所と地番(2-5-12などアラビア数字で始まる列)以下を分けるのも多少エラーが出る可能性はありますが、出来ないことはないでしょう。 B1に都道府県を除いた住所が入っているとして、セルC1に =LEFT(B1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(B1)&1234567890))-1) でほぼ可能です。(ほぼというのは地番でないアラビア数字が文字列の住所に入っている場合があるからです。) しかし都道府県と、アラビア数字で始まる地番を除いた残りの住所が12文字以上ある場合に >きりのいいところで切って、余るようだったら、次のセルに移す なんてことはどんな素晴らしいコンピューターでも無理というものでしょう。極論するとそれはコンピューターに美人かどうか見分けなさい、というようなものだからです。何が「きりのいい」のか、その基準を明確に示さない限り、尻切れトンボでも11字以下と12字以上に分けるしかないでしょう。
その他の回答 (2)
- mshr1962
- ベストアンサー率39% (7417/18945)
都道府県は一部の例外を除けば3文字ですので B1=LEFT(A1,IF(MID(A1,4)="県",4,3) C1=MID(A1,LEN(B1),LEN(A1)) で切り離し出来ます。 11文字だけならLEFT,MID関数で切り離し可能ですが、切りのいいところですか? 特定の文字(スペース、カンマ)があるならFIND関数を併用で可能ですよ。 スペースで判定の場合 D1=LEFT(C1,FIND(" ",C1&" ")-1) E1=MID(C1,(LEN(B1)+1,LEN(C1))
お礼
参考になりました。ありがとうございます。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>中途半端に住所が切れてしまうので、それぞれ、きりのいいところで切って、 白紙的にはムリ
お礼
ですよね、ありがとうございます。
お礼
非常に参考になりました。 ありがとうございます。