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)

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