目錄
ToggleExcel 取字串教學總覽
在日常數據處理、報表整理或名單清理時,經常需要從一串文字中擷取特定資訊。無論是從姓名、編號、郵件、地址或產品代碼中提取關鍵字,Excel都能透過多種內建函數高效完成。掌握這些字串截取技巧,不僅能提升工作效率,也能減少人為錯誤,為自動化流程打下基礎。
常用字串截取函數介紹
Excel提供多種字串處理函數,以下為最常用的幾種,並附上實務範例與注意事項。
LEFT 函數-從左側擷取字元
語法說明:
=LEFT(text, [num_chars])
– text:要擷取的原始字串
– num_chars:要從左側擷取的字元數
範例:
若A2為「PM王小明」,=LEFT(A2,2)
結果為「PM」。
進階應用:
若需動態擷取「-」前的字串(如「A-12345」),可結合FIND函數:
=LEFT(A2, FIND("-",A2)-1)
常見錯誤:
– num_chars小於1時會出現空白。
– 若num_chars超過字串長度,會回傳整個字串。
RIGHT 函數-從右側擷取字元
語法說明:
=RIGHT(text, [num_chars])
範例:
A2為「PM王小明」,=RIGHT(A2,3)
結果為「王小明」。
進階應用:
擷取郵遞區號(如「台北市100」),=RIGHT(A2,3)
。
常見錯誤:
– num_chars為負數時會出錯。
– 若num_chars超過字串長度,會回傳整個字串。
MID 函數-從中間擷取字元
語法說明:
=MID(text, start_num, num_chars)
– start_num:起始字元位置(第一個字為1)
範例:
A2為「PM王小明」,=MID(A2,3,2)
結果為「王小」。
進階應用:
擷取產品編號中間段(如「A-12345-B」取「12345」):
=MID(A2, FIND("-",A2)+1, FIND("-",A2, FIND("-",A2)+1)-FIND("-",A2)-1)
常見錯誤:
– start_num小於1會出錯。
– num_chars為0會回傳空白。
LEN 函數-計算字串長度
語法說明:
=LEN(text)
範例:
A2為「PM王小明」,=LEN(A2)
結果為5。
應用情境:
– 配合LEFT/RIGHT/MID動態計算擷取長度。
– 判斷資料格式是否正確(如手機號碼長度)。
字串搜尋與定位
FIND 與 SEARCH 函數
語法說明:
– FIND(find_text, within_text, [start_num]):區分大小寫
– SEARCH(find_text, within_text, [start_num]):不區分大小寫
範例:
A2為「Excel教學」,=FIND("教",A2)
結果為6。
常見應用:
– 尋找特定符號或字元位置,配合LEFT/RIGHT/MID動態擷取。
– 搜尋多重符號時,可搭配多個FIND/SEARCH。
錯誤處理:
– 若找不到字串,會出現#VALUE!。可用IFERROR包覆:
=IFERROR(FIND("教",A2), "未找到")
結合截取與搜尋-動態擷取案例
案例1:擷取@前的帳號
A2為「[email protected]」
=LEFT(A2, FIND("@",A2)-1)
結果為「user01」
案例2:擷取特定符號後內容
A2為「報表-2023」
=MID(A2, FIND("-",A2)+1, LEN(A2)-FIND("-",A2))
結果為「2023」
進階字串處理技巧
TRIM、REPLACE、SUBSTITUTE 等輔助函數
-
TRIM(text):去除多餘空白
例:A2為「 王小明 」,=TRIM(A2)
結果為「王小明」 -
REPLACE(old_text, start_num, num_chars, new_text):以新字串取代指定位置字元
例:A2為「A12345」,=REPLACE(A2,2,3,"-")
結果為「A-45」 -
SUBSTITUTE(text, old_text, new_text, [instance_num]):取代指定內容
例:A2為「A,B,C」,=SUBSTITUTE(A2,",","/")
結果為「A/B/C」
Excel 365 新字串函數(如適用)
若使用Excel 365,可善用以下新函數:
-
TEXTSPLIT(text, col_delimiter, [row_delimiter]):依分隔符號分割字串
例:A2為「A,B,C」,=TEXTSPLIT(A2,",")
結果為A、B、C三欄 -
TEXTBEFORE(text, delimiter, [instance_num]):取分隔符號前內容
例:A2為「[email protected]」,=TEXTBEFORE(A2,"@")
結果為「user01」 -
TEXTAFTER(text, delimiter, [instance_num]):取分隔符號後內容
例:A2為「[email protected]」,=TEXTAFTER(A2,"@")
結果為「gmail.com」
常見問題與錯誤排除(FAQ)
Q1:FIND/SEARCH找不到字串時怎麼辦?
A:會出現#VALUE!,建議用IFERROR包覆,或先用ISNUMBER判斷是否存在。
Q2:如何批次擷取多欄資料?
A:將公式拖曳複製至多個儲存格即可,或用陣列公式/動態陣列處理。
Q3:LEFT/RIGHT/MID遇到全形/半形字元會有問題嗎?
A:中文全形字元每個仍算一個字元,但特殊符號或表情符號可能需特別處理。
Q4:Google Sheets字串函數與Excel有何不同?
A:大部分函數語法相同,但部分新函數(如SPLIT)在Google Sheets更早支援,建議依實際平台查閱官方說明。
實務應用案例
案例1:批次擷取姓名
假設A欄為「王小明-業務部」,需擷取姓名:
=LEFT(A2, FIND("-",A2)-1)
結果為「王小明」
案例2:報表自動化-擷取產品代碼
B欄為「產品A_2023」,需擷取年份:
=RIGHT(B2,4)
結果為「2023」
案例3:郵件名單整理
C欄為「[email protected]」,需擷取公司網域:
=MID(C2, FIND("@",C2)+1, LEN(C2)-FIND("@",C2))
結果為「company.com」
提升效率的進階建議
- 大量資料處理時,建議先用公式批次處理,若遇到複雜規則可考慮VBA或Power Query自動化。
- 當字串處理需求涉及多表協作、跨部門資料整合時,可考慮導入專業的專案管理或自動化工具,如 Monday.com、ClickUp,這些工具支援自動化流程、批次資料處理與團隊協作,能大幅提升效率。
- 若需進行PDF、Google Sheets等多平台資料串接,建議選用支援多格式的工具,減少手動轉換與錯誤。
總結與行動建議
熟練運用Excel的字串截取函數,能大幅提升數據處理與報表整理效率。無論是基本的LEFT、RIGHT、MID,還是進階的FIND、SEARCH、LEN及新一代TEXTSPLIT等,都能靈活應對各種實務需求。建議讀者可依據自身工作情境,逐步練習並結合多種函數,遇到大量或複雜資料時,適時引入自動化工具如Monday.com、ClickUp等,打造高效的數據處理流程,讓團隊協作與專案管理更上一層樓。