Excel 的 SUBSTITUTE 函數可以將特定的文字替換或刪除,可用來自動修正大量的表格資料。

SUBSTITUTE 函數

Excel 的 SUBSTITUTE 函數可以用來將文字資料中的特定關鍵字,以指定的新文字取代。

基本用法

SUBSTITUTE 函數的基本用法如下:

=SUBSTITUTE(資料,舊文字,新文字)

其中第一個 資料 參數就是要進行處理的輸入文字,執行之後所有的 舊文字 就會以 新文字 來取代。

以下是一個簡單的範例,它會將資料中所有出現 ABC 的地方,都替換成 XYZ

=SUBSTITUTE(A2,"ABC","XYZ")

指定取代位置

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)

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