[[20060317113414]] 『市町村名だけを取り出す』(もぐら) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『市町村名だけを取り出す』(もぐら)

列で住所が入力してあります。(縦並びに入力されている)

 名古屋市名東区引山○−XXX
 尾張旭市桜ヶ丘町8-○○
 名古屋市天白区植田X−75
 春日井市小野町444−XXX

名古屋市内なら「名古屋市名東区」まで、尾張旭市なら「尾張旭市」まで、部分的に取り出して
隣に列を作って表示させたいのですが・・。細かい地名と番地を抜きたいわけです。
LEFT関数だと文字数が揃わないし、一気にやれちゃう方法ってありますかね?

お願いします!!


[[20050826214405]]
[[20041008223005]]

 が参考になるかも?

 でも難しそうですね
 「市」や「町」や「村」という字を基準に、FINDやLEFTを使っても、
 「四日市市」「町田市」「村山市」などで引っかかっちゃうんですね

 郵便番号ウィザードを2回使う方法はあります
 例えば

 A1 → 名古屋市名東区引山○−XXX を郵便番号ウィザードで住所からB2に郵便番号を引き出し
 B1 → 465-0002

 このままだと郵便番号ウィザードで「愛知県名古屋市名東区引山」になって、区以降も表示されてしまうので...

 C1 =LEFT(B1,3) → 465

 それを再度、郵便番号ウィザードでC1からD1に住所を引き出すと

 D1 → 愛知県名古屋市名東区

 でもメンドクサイ上に日本全国すべての住所で思い通りになるかは疑問ですw
 (Alica)


 現在の市町村合併に対応させるには多少の修正が必要みたいですが・・・。
http://www2.odn.ne.jp/excel/waza/function.html#SEC26
 BJ

 UDFです

 Function city(txt As String)
 Dim Rex As Object
 Set Rex = CreateObject("vbscript.regexp")
 With Rex
     .Pattern = ".+市"
     If .test(txt) Then
         Set mItem = .Execute(txt)
         city = mItem.Item(0)
     End If
 End With
 End Function
 (seiya)

 町名に"市"が入ったらだめかも...

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.