有網友問到,隨著縣市合併、升格,如果要在 Excel 的工作表中將地址中的原來縣裡面的「鄉、鎮、市」要改為「區」,而「縣」要改為「市」,要如何處理?(參考下圖)

其實只要使用一個函數即可完成:SUBSTITUTE。

儲存格B2:=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"市","區"),"鎮","區"),"鄉","區"),"縣","市")

複製儲存格B2,往下貼上即可。

其公式是由最內層開始運算:

(1) SUBSTITUTE(A2,"市","區"):將地址中的「市」改為「區」。(修改後的結果暫時稱為NN)

(2) SUBSTITUTE(NN,"鎮","區"):將地址中的「鎮」改為「區」。(修改後的結果暫時稱為MM)

(3) SUBSTITUTE(MM,"鄉","區"):將地址中的「鎮」改為「區」。(修改後的結果暫時稱為PP)

(4) SUBSTITUTE(PP,"縣","市"):將地址中的「縣」改為「市」。

(1)、(2)和(3)不一定要誰先做(順序可調整),但是(4)一定要最後做,因為「鄉、鎮、市」中也有一個「市」。

使用SUBSTITUTE函數雖然簡單,但是也有缺點。例如:地址中的路名如果含有「鄉、鎮、市、縣」等字,像是「縣府路」、「市集街」等,其中的「鄉、鎮、市、縣」也會被取代。所以建議將地址以「鄉、鎮、市」為中心加以資料剖析成二份,左邊以上述公式處理。最後再和右邊地址以「&」串接成完整地址。

關於SUBSTITUTE函數說明,請參閱微軟網站:

SUBSTITUTEhttp://office.microsoft.com/zh-tw/excel-help/HP010342927.aspx

SUBSTITUTE:將文字字串中的 old_text 部分以新字串 new_text 取代。

語法:SUBSTITUTE(text, old_text, new_text, [instance_num])

text:要取代字元的文字,或含有該文字之儲存格的參照。

old_text:這是要取代的文字。

new_text:是要用來取代 old_text 的文字。

instance_num:指定要將第幾個 old_text 取代為 new_text

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

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