← Excel 公式課程

FIELD NOTES / Excel 公式教學

SUBSTITUTE 依指定文字取代內容

Excel 公式教學發布:作者:茂伯預估 7 分鐘閱讀

學習 SUBSTITUTE 依指定文字取代內容,透過可重建的範例、公式與練習掌握操作和結果判讀。

本文目錄

本教學由作者茂伯編寫,並由作者在 Windows 版 Microsoft 365 與 Excel 2021 實際操作驗證。

學會依文字內容找出要替換的片段,把舊名稱改成統一的新名稱,同時保留來源資料。完成後能分辨全部替換與只替換第幾次出現,並透過原字串、公式列與結果逐一核對,避免誤把出現次數當成字元位置。

適用版本

適用 Microsoft 365 與 Excel 2016 至 2024

用途

  • 門市資料匯出後,名稱用字不一致,可先在新欄產生修正版本,再人工核對是否符合公司的命名規則。來源欄保留,方便回查。如果公司要求保留歷史名稱,應先問清楚欄位用途,別直接把算出的新名稱當成必須覆寫的正式資料。

  • 商品代碼含固定連字號時,可把指定符號換成另一個符號,或以空字串移除;修改前先確認符號是否承載分類意義。

先準備範例資料

開啟空白活頁簿,依下表輸入。英文字母是欄,數字是列;例如 B2 就是 B 欄第 2 列。標題從 A1 開始,結果另外放在 E2。

列 A
1 原始文字
2 台北-台北-門市
3 台中-倉庫
4 台北-出貨
5 高雄-門市
6 台南-倉庫
7 新竹-出貨
8 桃園-門市
  • A1:A8 是原始文字表,A1 為標題,A2:A8 共七筆;主公式只處理 A2,不會自動替換整欄。同一字串內可能有多次符合,但不同儲存格仍是不同筆。先完成單格核對,再決定是否需要處理其他列,能避免一次擴大修改範圍。

  • A2 精確輸入「台北-台北-門市」。兩個台北之間及門市前皆是半形連字號 -,沒有空格;它們會原樣保留。

  • 本例把「台北」換成「臺北」,只示範用字標準化,不表示其他文字需要自動更正。其餘六列提供獨立練習。

  • E1 輸入「取代後文字」,E2 放公式。A2 仍保留舊文字,E2 顯示的是計算後的新文字,並未覆寫原始資料。

輸入這個公式

=SUBSTITUTE(A2,"台北","臺北")

輸入位置:E2  正確結果:臺北-臺北-門市

建議順序:先照做並核對畫面,再看公式拆解,最後完成延伸用法與練習。所有練習各自從這一頁的原始資料開始。

照著做並核對畫面

名稱方塊在公式列左側,會顯示 A1 或 E2 等位置;公式列則是 fx 右邊顯示公式的長欄位。下列步驟都在工作表內操作。

  1. 開啟空白工作表,在名稱方塊輸入 A1 並按 Enter,按表填入 A1:A8;先逐字核對 A2 的兩個「台北」與兩個連字號。

  2. 選 E1 輸入「取代後文字」。再選 E2,把數字格式設為「通用格式」,讓結果區位於來源表之外。

  3. 在 E2 輸入 =SUBSTITUTE(A2,"台北","臺北")。使用半形雙引號包住文字,不要用中文的「」作為公式引號。

  4. 按 Enter,E2 應顯示「臺北-臺北-門市」。拉寬 E 欄查看完整內容,確認兩處都已替換,連字號與門市仍保留。

  5. 再按 E2 查看公式列,核對三個參數依序為來源、舊文字、新文字;點回 A2,確認來源仍是「台北-台北-門市」。

SUBSTITUTE 範例資料及公式結果的 Excel 網頁版實際操作畫面

圖 1 Excel 網頁版實際操作畫面

Windows 桌面版的工具列外觀可能不同,儲存格位置、公式輸入及本例結果相同。

對照畫面確認結果

  • 左側 A2 有兩次「台北」,因此可觀察省略第四參數時的全部替換效果。

  • 右側 E2 兩處都顯示「臺北」;不要只看第一個字就認定整串完成。

  • 公式列最後是 "臺北"),沒有第四參數;若看到末尾 ,1),則只替換第一次。

語法與引數

=SUBSTITUTE(text,old_text,new_text,[instance_num])

引數就是交給函數處理的資料或設定。語法中的 [ ] 表示可以省略,輸入公式時不要打出方括號或省略號。

text 必要。要檢查的原始文字,可填儲存格參照或以雙引號包住的文字。本例 A2 讓你日後修改來源時,答案跟著更新。

old_text 必要。要尋找並替換的完整文字片段,本例為 "台北"。若沒有找到,會保留原文字,不會憑空插入新文字。

new_text 必要。找到舊文字後換成的內容,本例為 "臺北"。輸入 "" 代表不放任何字元,可用來刪除找到的片段。

[instance_num] 選填。指定從左往右第幾次出現才替換,例如 1 代表第一次。省略會替換全部;它是出現次數,不是第幾個字元,方括號不用輸入。

把主公式逐段拆開

= 開頭等號讓 Excel 把後面的內容視為計算公式。

SUBSTITUTE 本課唯一使用的函數名稱,拼字須完整,不含空格。

( ) 成對半形括號包住所有參數;最後一定要有右括號。

A2 只讀取 A 欄第 2 列的一個原始字串。

"台北" 雙引號內是要被取代的兩個中文字,必須和來源內容一致。

"臺北" 雙引號內是替換後文字;引號只是公式語法,不會出現在答案。

, 半形逗號分開不同參數;引號裡的符號則是文字本身。

使用半形 = ( ) , : 及雙引號;文字使用直式雙引號 " "。部分地區設定以分號分隔引數,請依 Excel 的輸入提示調整。

Excel 如何得到這個答案

  1. 先讀取 A2:「台北-台北-門市」。來源共有兩個符合舊文字「台北」的片段。

  2. 第一處「台北」改為「臺北」,第一個連字號不符合搜尋文字,所以保留。

  3. 第四參數省略,因此第二處也替換;其餘「-門市」保留,合成「臺北-臺北-門市」。最後再把原文與新文分段比對:第一段用字改變、第二段用字改變、第三段門市不變。這比只看字串長度更能確認換字是否正確。

資料型態與邊界情況

  • 這是產生新字串的公式,不會直接修改 A2。若主公式只有 A2 參照,A3:A8 即使含有「台北」也不會一起處理。來源變動時,結果會跟著重新計算;例如修改 A2 的最後兩字,E2 也會反映新的尾端內容,但仍只替換指定片段。

  • 舊文字必須確實出現在來源中,字形與空格都要留意。找不到時回傳原字串;這是合理結果,不表示公式沒有執行。

同一個函數的延伸用法

以下例子彼此獨立。每做一題前,先還原上方的原始資料,再執行該題設定;不要沿用上一題的修改。

用法 1 只替換第一次

先恢復原始 A1:A8,在 E2 改輸入下式。

=SUBSTITUTE(A2,"台北","臺北",1)

結果:臺北-台北-門市

第四參數 1 指定第一次出現;左側台北被替換。

右側台北是第二次,原樣保留;兩個連字號的位置沒有改變。

用法 2 移除所有連字號

先恢復原始 A1:A8,在 E2 輸入下式,不沿用用法 1 的答案。

=SUBSTITUTE(A2,"-","")

結果:台北台北門市

舊文字改為半形連字號,新文字 "" 表示零個字元。

未指定次數,兩個連字號都移除;中文台北仍保留原用字。

常見錯誤

  1. 只改了第一個台北

原因:第四參數可能填了 1。 處理:選 E2,在公式列刪除最後的 ,1,恢復主公式後按 Enter。

  1. 結果完全沒有變

原因:舊文字與 A2 不一致,可能誤填「臺北」或多打空格。 處理:核對 A2 原文,再把第二參數輸入為 "台北",不要修改來源來湊答案。

  1. 公式無法接受或顯示 #NAME?

原因:函數拼字、雙引號或分隔符號可能不正確。 處理:把輸入法切成半形英數,重新輸入完整公式;文字使用 ASCII 雙引號。

自己練習與完整解答

先遮住解答,試著自己輸入公式並預測結果。每題都從上方原始資料重新開始,結果放在題目指定的儲存格。

練習 1 指定第二次

先恢復原始 A1:A8,在 E2 只把 A2 第二次出現的台北改為臺北。

答案公式:

=SUBSTITUTE(A2,"台北","臺北",2)

正確結果:台北-臺北-門市

解答 1 先數出 A2 左到右的兩次台北,第四參數填 2。

解答 2 第一次保持原樣,第二次替換;核對答案為台北-臺北-門市。

練習 2 改另一筆地點

先恢復原始 A1:A8,在 E2 把 A3 的「倉庫」換成「門市」。

答案公式:

=SUBSTITUTE(A3,"倉庫","門市")

正確結果:台中-門市

解答 1 來源改為 A3,讀取台中-倉庫;舊文字只出現一次。

解答 2 保留台中與連字號,換上門市,結果是台中-門市。

練習 3 找不到舊文字

先恢復原始 A1:A8,在 E2 嘗試把 A5 裡的「台北」改成「臺北」,預測結果。

答案公式:

=SUBSTITUTE(A5,"台北","臺北")

正確結果:高雄-門市

解答 1 A5 是高雄-門市,沒有指定的舊文字台北。

解答 2 沒有可替換片段,因此回傳原文字高雄-門市。

完成後的自我檢查

  • 我能指出來源、舊文字與新文字三個必要參數。

  • 我能分辨省略第四參數與填入 1、2 的差異。

  • 我已確認原資料保留,結果顯示完整且沒有多餘空格。

版本與官方說明

  • Microsoft 365、Excel 2024、2021、2019 與 2016 可使用本課基本語法;Windows 與 Mac 桌面版的選單名稱可能略有差異。

  • 本課公式只回傳一個值,直接按 Enter 完成;使用半形英文字母與符號,若電腦區域設定採分號分隔參數,依當地設定調整。

官方參考

Microsoft Support:SUBSTITUTE 函數