- ベストアンサー
エクセルの住所文字列操作について
東京都板橋区新町2-3-4のような住所の”区”や埼玉県川越市新町1-2-3のような”市”から後ろをとりだしたいとかんがえております。=RIGHT(E3,LEN(E3)-FIND("区",E3)) 区の取り出しには成功しました。これを区でも市でもとりだせるように変更したいのですが、どのようにしたらよいでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
A1に文字列があるとして =IF(MIN(FIND({"区","市"},A1&"区市"))>LEN(A1),"",MID(A1,MIN(FIND({"区","市"},A1&"区市"))+1,100)) ではどうですか?
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
市川市、四日市市などの難しい問題があるが 要点は、 =IF(ISERROR(FIND("市",A3)),FIND("区",A3),FIND("市",A3)) で市か区の初出の文字番目数(位置)が判るので、その隣よりRIGHTを取り出せばよいでしょう。 =RIGHT(A1,LEN(A1)-IF(ISERROR(FIND("市",A1)),FIND("区",A1),FIND("市",A1))) 市を名前に含む市は手修正して、普通の実用には耐えるでしょう。
余計なお世話かもしれませんが、 「市川市」等もありますから、正確を期するなら、 http://www.h3.dion.ne.jp/~sakatsu/TelPost.htm にあるアドインをインストールし、 ktAddrSplit関数で、都道府県、市区郡町村名に分割することで可能です。 例: A1セル:千葉県市川市八幡 (市川市役所の番地) B1セル:=ktAddrSplit(A1,2) 結果:市川市 ただし、政令指定都市は、 神奈川県横浜市神奈川区広台太田町=横浜市神奈川区 のように取り出されます。
お礼
アドインがあったのですね、 早速ためしてみます。ありがとうございました。
- maron--5
- ベストアンサー率36% (321/877)
◆こんな方法もありますよ ★A1に住所があるとして =IF(COUNT(FIND({"区","市"},A1)),REPLACE(A1,1,MIN(FIND({"区","市"},A1&"区市")),),"")
お礼
ISERRORなんて関数があるのですね。 ありがとうございました。とても助かりました。