REPLACE 函數的作用是依據指定的起始位置與字數,將原本的文字替換為新的字串。常用於處理具備固定長度或格式的資料,例如將電話號碼或身分證字號部分遮蔽。
Excel REPLACE 函數語法
=REPLACE(舊字串, 起始位置, 替換字數, 新字串)| 參數 | 必填 | 說明 |
|---|---|---|
| 舊字串 | 是 | 要進行替換的原始文字或儲存格參照。 |
| 起始位置 | 是 | 要開始替換的字元位置,第一個字元的位置為 1。 |
| 替換字數 | 是 | 要從舊字串中替換掉的字元數量。 |
| 新字串 | 是 | 用來取代舊文字的新字串內容。 |
回傳:替換部分內容後的新文字字串。
適用版本:Excel 2007 以上版本、Microsoft 365
REPLACE 函數範例
範例 1:遮蔽手機號碼
將員工手機號碼的中間三碼替換為星號,以保護隱私。
| 姓名 | 手機號碼 | 遮蔽結果 |
|---|---|---|
| 王小明 | 0912345678 |
在 C2 輸入公式:
=REPLACE(B2, 5, 3, "***")結果:9123***78。手機號碼被視為數值,開頭的 0 被省略,實際值為 912345678。REPLACE 函數從第 5 個字元開始,將連續 3 個字元替換為星號,因此得出 9123***78 的遮蔽結果。
範例 2:遮蔽身分證字號
將客戶身分證字號的部分數字替換為星號,符合資料保護規範。
| 姓名 | 身分證字號 | 遮蔽結果 |
|---|---|---|
| 陳怡君 | A123456789 |
在 C2 輸入公式:
=REPLACE(B2, 5, 4, "****")結果:A123****89。指定從身分證字號的第 5 個字元開始,將 4 個字元替換為星號,常用於保護個人隱私資料。
範例 3:更新產品編號年份
產品編號格式固定,需要將舊編號中的年份區段更新為新年份。
| 舊產品編號 | 新產品編號 |
|---|---|
| PRD-2025-001 |
在 B2 輸入公式:
=REPLACE(A2, 5, 4, "2026")結果:PRD-2026-001。產品編號格式固定,透過 REPLACE 函數從第 5 個字元開始,將原本的 4 碼年份替換為新的年份字串。
使用 REPLACE 的技巧與注意事項
- 如果將「替換字數」設定為 0,REPLACE 函數不會刪除任何文字,而是會將新字串直接插入在指定的起始位置。
- REPLACE 是根據「位置」來替換文字,如果想要根據「特定文字內容」來替換,應該改用 SUBSTITUTE 函數。
- 處理包含全形與半形字元的雙位元組語言時,REPLACE 仍將每個字元視為 1,若需依位元組計算可使用 REPLACEB 函數。
REPLACE 常見錯誤與解決方法
| 錯誤 | 原因 | 解決方法 |
|---|---|---|
| #VALUE! | 起始位置或替換字數為負數,或是輸入了非數值的文字。 | 確認這兩個參數輸入的是大於或等於零的數字。 |
| 沒有發生替換,新字串被加在最後面 | 指定的起始位置大於原字串的總長度。 | 檢查起始位置的數字是否正確,若超出長度,函數會直接將新字串附加在原字串的最末端。 |
Google 試算表可以用 REPLACE 嗎?
Google 試算表完全支援 REPLACE 函數,語法與 Excel 一致,可直接套用處理字串替換。
下載 REPLACE 範例檔
上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:REPLACE 範例.xlsx(範例公式都在試算表軟體實際計算過)。
常見問題
REPLACE 和 SUBSTITUTE 函數有什麼不同?
REPLACE 是根據指定的「字元位置」和「長度」來替換文字;SUBSTITUTE 則是根據「特定的文字內容」來尋找並替換。若資料格式固定,適合用 REPLACE。
可以用 REPLACE 函數在字串中插入文字而不刪除原內容嗎?
可以。只要將「替換字數」參數設定為 0,REPLACE 函數就會在指定的「起始位置」直接插入新字串,原本的文字會全數保留並向後遞延。
為什麼使用 REPLACE 函數後,原本的數字變成了文字格式?
REPLACE 函數屬於文字函數,計算結果一律為文字字串。如果需要將結果轉換回數值,可以在公式最外層加上 VALUE 函數,或是進行加零、乘一的運算。
相關函數
這篇收錄在「Excel 函數字典」。




