エクセル関数で住所から丁目番地、建物名を抽出したい
エクセルで関数を使って、住所から、都道府県、市区町村、丁目番地、建物名をそれぞれ抽出するにはどうしたらよいですか?
いま、C列に住所が入っています。
D列に、=LEFT(C3,4-SUM((MID(C3,3,1)={"都","道","府","県"})*1))という関数で都道府県を抽出しました。
F列に、=IF(E2="東京都",
IF(COUNT(FIND({"東村山","武蔵村","羽村市"},LEFT(I2,3))),
LEFT(I2,FIND("市",I2)),
LEFT(I2,MIN(FIND({"市","区","町","村"},I2&"市区町村",2)))
),
IF(COUNT(FIND({"今市市","四日市","八日市","廿日市"},LEFT(I2,3))),
LEFT(I2,FIND("市",I2,FIND("市",I2)+1)),
IF(IF(COUNT(FIND({"蒲郡市","大和郡","小郡市"},LEFT(I2,3))),"市",IF(COUNT(FIND({"余市郡","高市郡"},LEFT(I2,3))),"郡",MID(I2,MIN(FIND({"市","郡"},I2&"市郡",2)),1)))="市",
IF(COUNT(FIND({"札幌市","仙台市","千葉市","横浜市","川崎市","名古屋","京都市","大阪市","神戸市","広島市","北九州","福岡市"},LEFT(I2,3))),
LEFT(I2,FIND("区",I2)),
LEFT(I2,FIND("市",I2,2))
),
IF(COUNT(FIND({"佐波郡玉村","恵那郡岩村","東宇和郡野","杵島郡大町","北松浦郡鹿"},LEFT(I2,5))),
LEFT(I2,FIND("郡",I2)+3),
LEFT(I2,MIN(FIND({"町","村"},I2&"町村",FIND("郡",I2)+2)))
)
)
)
)
という関数を使って市区町村を抽出しました。
あとは、丁目番地と建物名を別々のセルに抽出したいです。
よきアドバイスをお願いいたします。
区切りに半角空いてるとかいうことはありません。
膨大な住所録を処理したいので、例外が多いのは使えません。
なかなか厳しい質問だとは思いますが、どうぞご教授くださいませ。よろしくお願いいたします。
お礼
さっそくの回答ありがとうございます!! MIN関数を使う方法があるなんて、思いもよりませんでした。 あの長い式がこんなに簡単になるなんて驚きです! とても助かりました。 本当にありがとうございました。