Excel 的 SUBSTITUTE 函數可用來替換字串中的特定文字。它不僅區分大小寫,還能透過參數精準指定要替換第幾個重複出現的字元,比一般取代功能更靈活。
今天阿湯要來介紹 Excel 函數中一個比較少見、但非常實用的函數:SUBSTITUTE(替代)函數。這個函數和大家常聽到的 REPLACE 函數大不相同,SUBSTITUTE 函數主要用於將一段文字中的「特定內容」進行替換。
SUBSTITUTE 函數對於節省時間和精力非常有幫助,尤其是當你需要將長篇文章或報告壓縮成簡潔的摘要,或是清理大量報表資料時。比起 REPLACE,它的功用更多,可以用的方式也完全不同,往下阿湯就來舉例給大家看一下。
SUBSTITUTE 函數的基本語法與參數說明
在開始實作之前,先提供大家 SUBSTITUTE 這個函數的基本參數說明。SUBSTITUTE 函數通常會使用 4 個參數,語法結構為 =SUBSTITUTE(text, old_text, new_text, [instance_num]):
- text(必需):要替換其中字元的目標文字或儲存格。
- old_text(必需):要被替換掉的舊字元或文字。
- new_text(必需):要用來替換 old_text 的新字元或文字。
- instance_num(選擇性):指定要替換 old_text 的「第幾個」出現位置。如果省略此參數,函數將會替換文字中的「所有」old_text。
請注意,前三個參數可以是文字、數字或其他類型的值,而第 4 個參數(instance_num)必須是一個數字。如果 old_text 未在 text 中找到,函數將會直接返回原始文字,不會報錯。
另外要特別提醒大家,SUBSTITUTE 函數會區分大小寫,也就是說大寫字母和小寫字母會被視為完全不同的字元。因此在設定替換文字時,一定要確保大小寫字母的一致性。
基礎用法:將指定的文字內容進行替換
我們來看第一個基礎範例。假設我們想將儲存格內特定的文字內容替換成新的文字,你可以直接在儲存格輸入 SUBSTITUTE 公式,並依序填入目標儲存格、舊文字與新文字。
請參考下方的操作截圖,直接使用以下公式即可完成基本的文字替換:
=SUBSTITUTE(A1, "文字", "zzz")
看到這裡,大家可能會想:「那我是不是用 Excel 內建基本的『取代』功能(Ctrl+H)就好了?」沒錯,如果只是全部替換,這確實只是最基本的用法。但 SUBSTITUTE 的強大之處在於它能寫進公式裡進行自動化處理。接下來我們往下來看進階且更實用的用法二。
進階實戰:精準取代第 N 個重複出現的字元
當我們遇到一個字串中,你想取代的內容有重複出現多次,但你只想取代第 N 個的時候,一般的取代功能就派不上用場了。這時就一定要用 SUBSTITUTE 這個函數的第 4 個參數!
請參考下方的操作截圖,我們在公式的最後多加了一個參數「3」,公式如下:
=SUBSTITUTE(A3, "s", "zzz",3)
在這公式中我們多用了第四個參數(instance_num)。像我第四個參數填入 3,意思就是只取代字串中「第 3 個出現」的 s。這是 Excel 基本的取代功能做不到的,而 REPLACE 函數因為是算字元位置,也無法輕易做到這點。
所以其實 SUBSTITUTE 這個函數在特定情境下,比起 REPLACE 更加實用哦(不過兩者的核心功用還是不同啦),大家在整理報表時快去試試看吧!
常見問題
SUBSTITUTE 函數和 REPLACE 函數有什麼不同?
REPLACE 主要是根據「字元位置與長度」來進行取代,而 SUBSTITUTE 則是根據「指定的特定文字內容」來進行替換,兩者適用的情境大不相同。
如果要替換的文字有大小寫之分,SUBSTITUTE 會區分嗎?
會的,SUBSTITUTE 函數會嚴格區分大小寫。大寫字母和小寫字母會被視為不同的字元,因此在設定替換文字時,必須確保大小寫完全一致,否則會無法成功替換。
如果找不到我想替換的文字,公式會報錯嗎?
不會報錯。如果 SUBSTITUTE 函數在目標字串中找不到您指定的舊文字(old_text),函數將會直接回傳原始的字串內容,不會顯示錯誤代碼。
SUBSTITUTE 可以只替換第幾個出現的重複文字嗎?
可以!只要善用 SUBSTITUTE 的第 4 個參數「instance_num」,輸入對應的數字(例如 3),就能精準指定只取代第 3 個重複出現的字元,這是一般取代功能做不到的。
(本文於 2026 年 10 月更新:補充步驟說明與常見問題)
這篇用到的函數,完整語法、參數說明與更多範例可以查函數字典:SUBSTITUTE 函數。




