免費軟體與線上工具1,417影音、圖片與 PDF9153C 開箱評測895生活、旅遊與遊戲798iPhone 與 Mac546LINE 與社群533Google 服務464Windows 與電腦451Android 手機402Office 教學375網路新知372AI 工具117
Office 教學

Excel SUBSTITUTE 函數用法:取代字串中的特定文字或符號

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 函數字典」。