• ベストアンサー

エクセルの住所文字列操作について

東京都板橋区新町2-3-4のような住所の”区”や埼玉県川越市新町1-2-3のような”市”から後ろをとりだしたいとかんがえております。=RIGHT(E3,LEN(E3)-FIND("区",E3)) 区の取り出しには成功しました。これを区でも市でもとりだせるように変更したいのですが、どのようにしたらよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

A1に文字列があるとして =IF(MIN(FIND({"区","市"},A1&"区市"))>LEN(A1),"",MID(A1,MIN(FIND({"区","市"},A1&"区市"))+1,100)) ではどうですか?

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

市川市、四日市市などの難しい問題があるが 要点は、 =IF(ISERROR(FIND("市",A3)),FIND("区",A3),FIND("市",A3)) で市か区の初出の文字番目数(位置)が判るので、その隣よりRIGHTを取り出せばよいでしょう。 =RIGHT(A1,LEN(A1)-IF(ISERROR(FIND("市",A1)),FIND("区",A1),FIND("市",A1))) 市を名前に含む市は手修正して、普通の実用には耐えるでしょう。

zap50326
質問者

お礼

ISERRORなんて関数があるのですね。 ありがとうございました。とても助かりました。

noname#79209
noname#79209
回答No.3

余計なお世話かもしれませんが、 「市川市」等もありますから、正確を期するなら、 http://www.h3.dion.ne.jp/~sakatsu/TelPost.htm にあるアドインをインストールし、 ktAddrSplit関数で、都道府県、市区郡町村名に分割することで可能です。 例: A1セル:千葉県市川市八幡 (市川市役所の番地) B1セル:=ktAddrSplit(A1,2) 結果:市川市 ただし、政令指定都市は、 神奈川県横浜市神奈川区広台太田町=横浜市神奈川区 のように取り出されます。

zap50326
質問者

お礼

アドインがあったのですね、 早速ためしてみます。ありがとうございました。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.2

◆こんな方法もありますよ ★A1に住所があるとして =IF(COUNT(FIND({"区","市"},A1)),REPLACE(A1,1,MIN(FIND({"区","市"},A1&"区市")),),"")

関連するQ&A