SUBSTITUTE 函數用於將文字字串中的舊有文字替換為新文字。當你需要根據具體內容來取代字元,而不是根據位置來取代時,就可以使用這個函數來處理資料格式。
Excel SUBSTITUTE 函數語法
=SUBSTITUTE(文字, 舊文字, 新文字, [替換第幾個])| 參數 | 必填 | 說明 |
|---|---|---|
| 文字 | 是 | 包含要替換字元的原始文字或儲存格參照。 |
| 舊文字 | 是 | 想要被替換掉的文字或符號。 |
| 新文字 | 是 | 用來取代舊文字的新文字或符號。如果要刪除舊文字,可輸入空字串 ""。 |
| 替換第幾個 | 選填 | 指定要替換第幾個出現的舊文字。若省略,則會替換字串中所有的舊文字。 |
回傳:替換完成後的新文字字串。
適用版本:Excel 2007 以上、Microsoft 365。
SUBSTITUTE 函數範例
範例 1:移除特定符號
移除電話號碼中的連字號
| 姓名 | 電話號碼 | 處理後號碼 |
|---|---|---|
| 王小明 | 0912-345-678 |
在 C2 輸入公式:
=SUBSTITUTE(B2, "-", "")結果:0912345678。將 B2 儲存格中的連字號 "-" 替換為空字串 "",藉此將電話號碼中的符號完全移除,只保留數字部分。
範例 2:替換特定位置的字元
更改產品編號中特定位置的代碼
| 產品名稱 | 產品編號 | 新編號 |
|---|---|---|
| 滑鼠 | A-100-A-20 |
在 C2 輸入公式:
=SUBSTITUTE(B2, "A", "B", 2)結果:A-100-B-20。透過設定第四個參數為 2,公式只會將 B2 儲存格中第二次出現的字母 "A" 替換為 "B",第一個 "A" 則保持不變。
範例 3:多層嵌套替換
清理資料中混雜的多種括號符號
| 員工編號 | 原始部門名稱 | 清理後名稱 |
|---|---|---|
| E001 | (業務部) |
在 C2 輸入公式:
=SUBSTITUTE(SUBSTITUTE(B2, "(", ""), ")", "")結果:業務部。使用兩層 SUBSTITUTE 函數,先將左括號 "(" 替換為空字串,再將結果中的右括號 ")" 也替換為空字串,完成文字清理。
使用 SUBSTITUTE 的技巧與注意事項
- 若要根據字元在字串中的「位置」來進行替換,請改用 REPLACE 函數。
- 將新文字設定為空字串 "",是清除資料中特定符號或空白字元最有效的方法之一。
- 當需要同時替換多種不同的字元時,可以將多個 SUBSTITUTE 函數嵌套使用。
SUBSTITUTE 常見錯誤與解決方法
| 錯誤 | 原因 | 解決方法 |
|---|---|---|
| 找不到目標文字而未進行替換 | SUBSTITUTE 函數區分大小寫,若舊文字的大小寫與原始字串不符,函數將找不到目標。 | 確認舊文字的大小寫與原始字串完全相符,或搭配 UPPER/LOWER 函數統一大小寫後再處理。 |
| 數字無法進行後續運算 | 處理包含數字的儲存格時,SUBSTITUTE 回傳的結果一律為文字格式,可能導致後續無法進行數學運算。 | 若需要將結果轉回數字,可在公式最外層加上 VALUE 函數,或是將整個公式乘以 1。 |
Google 試算表可以用 SUBSTITUTE 嗎?
Google 試算表完全支援 SUBSTITUTE 函數,語法與用法與 Excel 一致,沒有版本差異。
下載 SUBSTITUTE 範例檔
上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:SUBSTITUTE 範例.xlsx(範例公式都在試算表軟體實際計算過)。
常見問題
SUBSTITUTE 和 REPLACE 函數有什麼不同?
SUBSTITUTE 是根據「指定的文字內容」來尋找並替換,而 REPLACE 則是根據字元所在的「位置與長度」來進行替換。如果知道要換掉什麼字就用 SUBSTITUTE,知道要在哪個位置換就用 REPLACE。
如何用 SUBSTITUTE 刪除字串中所有的空白?
可以將舊文字設定為一個半形空白字元 " ",並將新文字設定為空字串 ""。公式寫法為 =SUBSTITUTE(A1, " ", ""),這樣就能清除字串中所有的空白。
為什麼 SUBSTITUTE 找不到我要替換的字?
最常見的原因是大小寫不符或包含了不可見的空白字元。SUBSTITUTE 函數嚴格區分大小寫,且前後若有多餘空白也會視為不同字串,建議先確認資料內容是否完全一致。
相關函數
這篇收錄在「Excel 函數字典」。




