close

今天,朋友求助有關台灣地區之地址遮蔽的事,讓我發現地址中文字串真得很複雜,以下是我處理的過程。

一、分析地址中文字串結構

剪貼簿01.jpg

由上圖發現了,地址中文字串結構真得很複雜,先是 省市->縣市->市鄉鎮區->路街里->段鄰->巷->弄->號->樓...等等,若沒事先去分析,冒然寫函數硬拆就不太精準了。而我朋友的要求是在號以前保留,以後全用**代替,這下子可要好好去拆解地址字串了。

二、拆解地址字串之次序

依朋友需求,在號以前保留以後全用**代替,故如何判斷號以前之字串到那裡為止,路街里->段鄰->巷->弄,為思考架構。因此,先由弄->巷->段->路/街->鄰->村里之次序來判斷,否則,就很容易找不到出現錯誤訊息。

因此,我用公式,IFERROR(FIND("巷",A29),IFERROR(FIND("弄",A2),IFERROR(FIND("段",A2),IFERROR(FIND("街",A2),IFERROR(FIND("路",A2),IFERROR(FIND("鄰",A2),FIND("村",A2)))))))來判斷地址在號以前之字串情形,再用LEFT函數將此字串保留,再用**字串取代號以後文字。因此,全部公式如下圖

三、只遮蔽號其他均保留之地址字串

若是,只遮蔽號,其他均保留之地址字串呢?就要再用MID、FIND及LEN函數,來找號以後的字串,我就用MID(A2,IFERROR(FIND("號",A2),FIND("之",A2)),LEN(A2)),由公式來說,若沒找到號時,再找之的字串。因此,完整之公式如下圖。

四、中文地址之例外情形

說實在的,以上公式仍有例外情形是找不到,真讓人頭痛,那就是郵政信箱。或是有更奇怪中文地址字串,仍待以後逐步來拆解,唉,誰叫我們地址弄成這麼複雜。

EXCEL FILE DOWNLOAD  =>  https://www.asuswebstorage.com/navigate/s/98B77032728D472B802C294D769EE93EY

 

 

arrow
arrow

    sxt66329 發表在 痞客邦 留言(0) 人氣()