F090 東京特別区と、県庁所在地と政令指定市の場合、住所から都道府県を消す関数

2020-08-15
EXCEL自作関数

住所から東京特別区と、県庁所在地と政令指定市の場合、都道府県を削除した住所を求める関数です。
郵送物の作成時などで住所を一括して修正したい場合に使ってください。

VBEの標準モジュールに下のコードを登録して「Excelマクロ有効フォーム」で保存してください。
関数の登録方法は⇒♯000 ユーザー定義関数を登録する方法

登録されたら、シート上からユーザー関数「DelPrefectureOL」が使用できます。
使い方は 
ワークシート上で = DelPrefectureOL (住所) の関数として使用することで、都道府県を削除した住所を取得できます。

【例】
DelPrefectureOL(住所)
DelPrefectureOL(“神奈川県横浜市神奈川区”)→ 横浜市神奈川区
DelPrefectureOL(“東京都八王子市)→ 八王子市
住所が東京特別区や政令指定市の場合、都道府県を取り除く

Function DelPrefectureOL(A As String)
'住所から県庁所在地と政令指定市の県を消す関数
'DelPrefectureOL("神奈川県横浜市神奈川区")→ 横浜市神奈川区
'DelPrefectureOL("東京都八王子市)→ 八王子市
On Error GoTo EXITFUN
Dim i As Long
Dim PRECITY(1 To 74, 2)
PRECITY(1, 1) = "北海道":   PRECITY(1, 2) = "札幌市"
PRECITY(2, 1) = "青森県":   PRECITY(2, 2) = "青森市"
PRECITY(3, 1) = "岩手県":   PRECITY(3, 2) = "盛岡市"
PRECITY(4, 1) = "宮城県":   PRECITY(4, 2) = "仙台市"
PRECITY(5, 1) = "秋田県":   PRECITY(5, 2) = "秋田市"
PRECITY(6, 1) = "山形県":   PRECITY(6, 2) = "山形市"
PRECITY(7, 1) = "福島県":   PRECITY(7, 2) = "福島市"
PRECITY(8, 1) = "茨城県":   PRECITY(8, 2) = "水戸市"
PRECITY(9, 1) = "栃木県":   PRECITY(9, 2) = "宇都宮市"
PRECITY(10, 1) = "群馬県":  PRECITY(10, 2) = "前橋市"
PRECITY(11, 1) = "埼玉県":  PRECITY(11, 2) = "さいたま市"
PRECITY(12, 1) = "千葉県":  PRECITY(12, 2) = "千葉市"
PRECITY(13, 1) = "東京都":  PRECITY(13, 2) = "千代田区"
PRECITY(14, 1) = "東京都":  PRECITY(14, 2) = "中央区"
PRECITY(15, 1) = "東京都":  PRECITY(15, 2) = "港区"
PRECITY(16, 1) = "東京都":  PRECITY(16, 2) = "新宿区"
PRECITY(17, 1) = "東京都":  PRECITY(17, 2) = "文京区"
PRECITY(18, 1) = "東京都":  PRECITY(18, 2) = "台東区"
PRECITY(19, 1) = "東京都":  PRECITY(19, 2) = "墨田区"
PRECITY(20, 1) = "東京都":  PRECITY(20, 2) = "江東区"
PRECITY(21, 1) = "東京都":  PRECITY(21, 2) = "品川区"
PRECITY(22, 1) = "東京都":  PRECITY(22, 2) = "目黒区"
PRECITY(23, 1) = "東京都":  PRECITY(23, 2) = "大田区"
PRECITY(24, 1) = "東京都":  PRECITY(24, 2) = "世田谷区"
PRECITY(25, 1) = "東京都":  PRECITY(25, 2) = "渋谷区"
PRECITY(26, 1) = "東京都":  PRECITY(26, 2) = "中野区"
PRECITY(27, 1) = "東京都":  PRECITY(27, 2) = "杉並区"
PRECITY(28, 1) = "東京都":  PRECITY(28, 2) = "豊島区"
PRECITY(29, 1) = "東京都":  PRECITY(29, 2) = "北区"
PRECITY(30, 1) = "東京都":  PRECITY(30, 2) = "荒川区"
PRECITY(31, 1) = "東京都":  PRECITY(31, 2) = "板橋区"
PRECITY(32, 1) = "東京都":  PRECITY(32, 2) = "練馬区"
PRECITY(33, 1) = "東京都":  PRECITY(33, 2) = "足立区"
PRECITY(34, 1) = "東京都":  PRECITY(34, 2) = "葛飾区"
PRECITY(35, 1) = "東京都":  PRECITY(35, 2) = "江戸川区"
PRECITY(36, 1) = "神奈川県": PRECITY(36, 2) = "横浜市"
PRECITY(37, 1) = "神奈川県": PRECITY(37, 2) = "川崎市"
PRECITY(38, 1) = "神奈川県": PRECITY(38, 2) = "相模原市"
PRECITY(39, 1) = "新潟県":  PRECITY(39, 2) = "新潟市"
PRECITY(40, 1) = "富山県":  PRECITY(40, 2) = "富山市"
PRECITY(41, 1) = "石川県":  PRECITY(41, 2) = "金沢市"
PRECITY(42, 1) = "福井県":  PRECITY(42, 2) = "福井市"
PRECITY(43, 1) = "山梨県":  PRECITY(43, 2) = "甲府市"
PRECITY(44, 1) = "長野県":  PRECITY(44, 2) = "長野市"
PRECITY(45, 1) = "岐阜県":  PRECITY(45, 2) = "岐阜市"
PRECITY(46, 1) = "静岡県":  PRECITY(46, 2) = "静岡市"
PRECITY(47, 1) = "静岡県":  PRECITY(47, 2) = "浜松市"
PRECITY(48, 1) = "愛知県":  PRECITY(48, 2) = "名古屋市"
PRECITY(49, 1) = "三重県":  PRECITY(49, 2) = "津市"
PRECITY(50, 1) = "滋賀県":  PRECITY(50, 2) = "大津市"
PRECITY(51, 1) = "京都府":  PRECITY(51, 2) = "京都市"
PRECITY(52, 1) = "大阪府":  PRECITY(52, 2) = "大阪市"
PRECITY(53, 1) = "大阪府":  PRECITY(53, 2) = "堺市"
PRECITY(54, 1) = "兵庫県":  PRECITY(54, 2) = "神戸市"
PRECITY(55, 1) = "奈良県":  PRECITY(55, 2) = "奈良市"
PRECITY(56, 1) = "和歌山県": PRECITY(56, 2) = "和歌山市"
PRECITY(57, 1) = "鳥取県":  PRECITY(57, 2) = "鳥取市"
PRECITY(58, 1) = "島根県":  PRECITY(58, 2) = "松江市"
PRECITY(59, 1) = "岡山県":  PRECITY(59, 2) = "岡山市"
PRECITY(60, 1) = "広島県":  PRECITY(60, 2) = "広島市"
PRECITY(61, 1) = "山口県":  PRECITY(61, 2) = "山口市"
PRECITY(62, 1) = "徳島県":  PRECITY(62, 2) = "徳島市"
PRECITY(63, 1) = "香川県":  PRECITY(63, 2) = "高松市"
PRECITY(64, 1) = "愛媛県":  PRECITY(64, 2) = "松山市"
PRECITY(65, 1) = "高知県":  PRECITY(65, 2) = "高知市"
PRECITY(66, 1) = "福岡県":  PRECITY(66, 2) = "北九州市"
PRECITY(67, 1) = "福岡県":  PRECITY(67, 2) = "福岡市"
PRECITY(68, 1) = "佐賀県":  PRECITY(68, 2) = "佐賀市"
PRECITY(69, 1) = "長崎県":  PRECITY(69, 2) = "長崎市"
PRECITY(70, 1) = "熊本県":  PRECITY(70, 2) = "熊本市"
PRECITY(71, 1) = "大分県":  PRECITY(71, 2) = "大分市"
PRECITY(72, 1) = "宮崎県":  PRECITY(72, 2) = "宮崎市"
PRECITY(73, 1) = "鹿児島県": PRECITY(73, 2) = "鹿児島市"
PRECITY(74, 1) = "沖縄県":  PRECITY(74, 2) = "那覇市"

 For i = 1 To 74
 If InStr(A, PRECITY(i, 2)) > 0 Then
 A = Replace(A, PRECITY(i, 1) & PRECITY(i, 2), PRECITY(i, 2))
 End If
 Next
DelPrefectureOL = A

EXITFUN:
End Function

ここで紹介したコード使用による損害に対しては一切責任は負えません。