Excel 的 SUBSTITUTE 函數可以將特定的文字替換或刪除,可用來自動修正大量的表格資料。
SUBSTITUTE 函數
Excel 的 SUBSTITUTE 函數可以用來將文字資料中的特定關鍵字,以指定的新文字取代。
基本用法
SUBSTITUTE 函數的基本用法如下:
=SUBSTITUTE(資料,舊文字,新文字)
其中第一個 資料 參數就是要進行處理的輸入文字,執行之後所有的 舊文字 就會以 新文字 來取代。
以下是一個簡單的範例,它會將資料中所有出現 ABC 的地方,都替換成 XYZ:
=SUBSTITUTE(A2,"ABC","XYZ")

SUBSTITUTE 函數範例指定取代位置
SUBSTITUTE 函數預設會把資料中所有出現 舊文字 的地方,全部都取代為 新文字,如果我們只想要讓它取代特定位置的 舊文字,可以在最後面加上一個 位置 參數來指定:
=SUBSTITUTE(資料,舊文字,新文字,位置)
這個 位置 參數是一個正整數,指定要將第幾個 舊文字 取代為 新文字。
以下是一個範例,在這個例子中,我們將 位置 參數設定為 1,代表只讓 SUBSTITUTE 函數將資料中第一個出現的 ABC 取代為 XYZ,而之後若還有出現 ABC 的話,就不會進行取代了。
=SUBSTITUTE(A2,"ABC","XYZ",1)

實際應用範例
以下蒐集了許多 SUBSTITUTE 函數的應用範例。
移除電話號碼內的符號
假設我們現在有一些電話號碼的資料,但是每一筆資料的格式都不太相同:

若我們想要把電話號碼的格式統一,以減號(-)分隔區碼與電話號碼,其餘的符號都刪除,就可以利用 SUBSTITUTE 函數來處理。
Step 1
首先我們把開頭的小括弧先去除掉:
=SUBSTITUTE(A2,"(","")

Step 2
接著把上一步的處理結果拿來接著處理,將另外一半的小括弧替換成減號(-):
=SUBSTITUTE(SUBSTITUTE(A2,"(",""),")","-")

Step 3
同樣將上一步的處理結果拿來接著處理,將整個號碼中第二個出現的減號移除:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"(",""),")","-"),"-","",2)

這樣就完成電話號碼統一的工作了。

