目錄
ToggleExcel 字串擷取基礎概念
在日常數據處理與專案管理中,經常會遇到需要從一串文字中擷取特定資訊的情境。例如,從員工名單中分離出姓名與職稱、從產品編號中擷取型號、或從地址中取得郵遞區號。Excel 提供多種字串擷取函數,能協助你快速完成這些任務,減少手動作業的錯誤與時間成本。
字串擷取不僅適用於資料清理、報表製作,也常用於自動化流程與資料比對,是提升工作效率的關鍵技能。
常用字串擷取函數介紹
Excel 內建多種字串擷取函數,以下介紹三個最常用的:MID、LEFT、RIGHT,並針對每個函數提供實際案例與常見應用。
MID 函數:從中間擷取字串
語法:
=MID(文字, 起始位置, 擷取長度)
- 文字:要擷取的原始字串
- 起始位置:從第幾個字元開始
- 擷取長度:要擷取幾個字元
案例1:從產品編號擷取型號
假設A2為「PRD-2023-XL」,需擷取「2023」:
=MID(A2,5,4)
案例2:動態擷取(結合FIND)
若型號長度不固定,可搭配FIND定位分隔符號:
=MID(A2, FIND("-",A2)+1, FIND("-",A2,FIND("-",A2)+1)-FIND("-",A2)-1)
此公式可自動擷取兩個「-」之間的內容。
常見錯誤:
– 起始位置超過字串長度會回傳空值。
– 擷取長度超過剩餘字元數,僅回傳剩餘部分。
LEFT 函數:從左側擷取字串
語法:
=LEFT(文字, 擷取長度)
- 文字:要擷取的原始字串
- 擷取長度:從左邊開始擷取幾個字元
案例:批次擷取郵遞區號
A2為「100台北市中正區」,需擷取郵遞區號:
=LEFT(A2,3)
進階應用:動態擷取(結合FIND)
若郵遞區號長度不一,可用FIND定位空白:
=LEFT(A2, FIND(" ",A2)-1)
此公式可自動擷取第一個空白前的所有字元。
RIGHT 函數:從右側擷取字串
語法:
=RIGHT(文字, 擷取長度)
- 文字:要擷取的原始字串
- 擷取長度:從右邊開始擷取幾個字元
案例:擷取身份證字母
A2為「A123456789」,需擷取最後三碼:
=RIGHT(A2,3)
進階應用:動態擷取(結合LEN、FIND)
若需擷取「-」後所有字元,A2為「ABC-12345」:
=RIGHT(A2, LEN(A2)-FIND("-",A2))
輔助函數與進階應用
字串擷取常需搭配輔助函數,處理動態長度、分隔符號或資料清理等進階需求。
LEN、FIND、SEARCH:動態定位與長度計算
- LEN(文字): 回傳字串長度。
- FIND(尋找字元, 文字, [起始位置]): 回傳字元首次出現的位置(區分大小寫)。
- SEARCH(尋找字元, 文字, [起始位置]): 與FIND類似,但不區分大小寫。
案例:從Email擷取帳號名稱
A2為「[email protected]」,需擷取「user123」:
=LEFT(A2, FIND("@",A2)-1)
案例:擷取兩個分隔符號之間的內容
A2為「部門-姓名-職稱」,需擷取「姓名」:
=MID(A2, FIND("-",A2)+1, FIND("-",A2,FIND("-",A2)+1)-FIND("-",A2)-1)
SUBSTITUTE、REPLACE:字串替換與清理
- SUBSTITUTE(文字, 舊字串, 新字串, [出現次數]): 取代指定內容。
- REPLACE(文字, 起始位置, 長度, 新字串): 以新字串取代指定位置的內容。
案例:清除電話號碼中的「-」符號
A2為「02-1234-5678」:
=SUBSTITUTE(A2,"-","")
案例:將身份證號碼中間四碼隱藏
A2為「A123456789」:
=REPLACE(A2,5,4,"****")
字串擷取實戰案例
案例1:批次擷取產品型號
假設有一批產品編號「PRD-2023-XL」、「PRD-2022-M」等,需批次擷取年份與型號。
- 擷取年份:
=MID(A2,5,4)
- 擷取型號(假設型號在第二個「-」之後):
=RIGHT(A2, LEN(A2)-FIND("-",A2,FIND("-",A2)+1))
案例2:從地址中擷取區域名稱
A2為「100台北市中正區」,需擷取「中正區」:
– 先找出第二個中文字的位置(假設郵遞區號為3碼):
=MID(A2,5,LEN(A2)-4)
案例3:分離姓名與職稱
A2為「王小明-經理」,需分離姓名與職稱:
– 姓名:
=LEFT(A2, FIND("-",A2)-1)
– 職稱:
=RIGHT(A2, LEN(A2)-FIND("-",A2))
常見問題與排解
Q1:為何公式結果出現錯誤值(如#VALUE!)?
- 起始位置或擷取長度超過字串範圍,請檢查LEN計算是否正確。
- FIND/SEARCH找不到指定字元時會出錯,建議先用IFERROR包覆。
Q2:中文與英文混合時,字元數計算會有差異嗎?
- Excel中一個中文字與一個英文字母都算一個字元,但部分舊版Excel或特殊編碼可能出現亂碼,建議確認檔案格式。
Q3:如何處理多重分隔符號?
- 可用FIND、SEARCH搭配多次定位,或結合SUBSTITUTE將指定分隔符號替換為其他符號後再處理。
Q4:如何批次處理大量資料?
- 建議將公式拖曳至整個資料列,或結合Excel表格功能自動套用。
- 若需進階自動化,可考慮使用Monday.com等協作平台,整合Excel資料流,提升團隊效率。
Q5:遇到特殊符號或空白字元怎麼辦?
- 可用SUBSTITUTE清除或替換特殊符號。
- 若有多餘空白,建議先用TRIM函數去除。
結論與工具推薦
熟練運用Excel字串擷取函數,能大幅提升數據處理與資料清理效率,無論是批次處理名單、產品資訊,還是報表自動化,都能事半功倍。若你需要進一步整合Excel與團隊協作,建議嘗試Monday.com、ClickUp等專案管理工具,這些平台支援自動化流程與多種資料串接,能協助團隊高效協作、減少重工。