在 Excel 中從文字字串提取子字串
在 Excel 中,從文字字串提取子字串是常見的任務。雖然 Excel 沒有專門用來執行此操作的函數,但只要善用 LEFT、RIGHT、MID 與 SEARCH 等函數,就能輕鬆依需求擷取各種子字串。

從文字字串中提取指定字元數的子字串
在 Excel 中,LEFT、RIGHT 與 MID 函數能協助您輕鬆從文字字串的左側、右側或中間提取指定長度的子字串。
- LEFT function:用於從文字字串左側提取子字串。
- RIGHT function:用於從文字字串右側提取所需文本。
- MID function:用於從文字字串中提取子字串。
從文字字串左側提取子字串:
LEFT 函數可協助您從文字字串中提取前 x 個字元,一般語法如下:
- text 您要從中提取字元的文字字串。
- num_chars 您希望從文字字串左側提取的字元數量。
請在空白儲存格中輸入下列公式:
接著,向下拖曳填滿控點至您要套用此公式的儲存格,即可從原文本提取前 3 個字元,請參閱截圖:

從文字字串右側提取子字串:
若要從文字結尾處提取子字串,請使用 RIGHT 函數:
- text:您要從中提取字元的文字字串。
- num_chars 您要從文字字串右側提取的字元數。
例如,若要從文字字串中提取最後 6 個字元,請在空白儲存格中輸入下列公式:
接著,將此公式複製到其他需要的儲存格,即可從文字右側提取全部 6 個字元,請參閱截圖:

從文字字串中間提取子字串:
若要從文字中間提取指定長度的子字串,MID 函數正是您的得力助手。
- text:您要從中提取字元的文字字串。
- start_num 您要提取的首個字元所在的位置。
- num_chars 您要提取的總字元數。
例如,若要從文字字串的第七個字元開始提取 3 個字元,請在空白儲存格中輸入下列公式:
接著,依需求向下拖曳填滿控點至儲存格以套用此公式,即可獲得以下結果:

從文字字串中提取特定字元前或後的子字串
LEFT、RIGHT 和 MID 函數能協助您提取固定長度的子字串,但若需提取可變長度的子字串,則可透過建立更複雜的公式來達成目標。
提取特定字元前的子字串
若要提取特定字元之前的所有字元,一般語法如下:
- text 您要從中提取字元的文字字串。
- char 作為提取子字串依據的特定字元。
例如,若要提取連字號之前的所有字元,請在空白儲存格中套用下列公式:
接著,向下拖曳填滿控點至您要套用此公式的儲存格,即可提取連字號之前的所有字元,如下方截圖所示:

公式說明:
- SEARCH("-",A2)-1: 此 SEARCH 函數用於找出儲存格 A2 中連字號「——」的位置,並減去 1,以排除該字元本身;所得結果即作為 LEFT 函數的 num_chars 參數。
- LEFT(A2, SEARCH("-",A2)-1): 此 LEFT 函數會從儲存格 A2 的文字左側,提取 SEARCH 函數所傳回的字元數。
提取特定字元後的子字串
若要提取特定字元之後的子字串,可使用 RIGHT、LEN 與 SEARCH 函數,一般語法如下:
- text 您要從中提取字元的文字字串。
- char 作為提取子字串依據的特定字元。
若要提取連字號之後的字元,請套用下列公式:
接著,將此公式複製到您要使用的儲存格,即可獲得如下方截圖所示的結果:

公式說明:
- SEARCH(“-“,A2): 此 SEARCH 函數用於找出儲存格 A2 中連字號「——」的位置。
- LEN(A2)-SEARCH("-",A2): 以 LEN 函數取得文字字串的總長度,再減去 SEARCH 函數所傳回的「——」位置數值,即可得出該特定字元之後的字元數量,並作為 RIGHT 函數的 num_chars 參數使用。
- RIGHT():此 RIGHT 函數可從儲存格 A2 文字字串的結尾處提取指定數量的字元。
提取兩個特定字元之間的子字串
若您需要提取兩個指定字元之間的子字串,以下函數或許能協助您,其通用語法如下:
- text:您要從中提取字元的文字字串。
- char 作為提取子字串依據的特定字元。
例如,若要提取兩個連字號之間的文字,請使用此公式:
接著,向下拖曳填滿控制點,將此公式套用至其他儲存格,即可獲得如下方截圖所示的結果:

公式說明:
- SEARCH(“-“,A2) + 1:SEARCH 函數用於傳回連字號的位置,加 1 表示從下一個字元開始提取子字串,此結果即作為 MID 函數的 start_num 參數。
- SEARCH("-",A2,SEARCH("-",A2)+1): 此公式用於找出連字號第二次出現的位置。
- SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1): 以第二個連字號的位置減去第一個連字號的位置,即可得出兩者之間的字元數量,再從結果中減去 1,以排除分隔符號。此數值即作為 MID 函數的 num_chars 參數。
- MID():此 MID 函數可根據上述兩個參數,精準提取子字串!

使用的相關函數:
- LEFT:
- LEFT 函數能從文字字串的左側擷取指定字元。
- RIGHT:
- RIGHT 函數可從文字字串右側提取指定字元。
- MID:
- MID 函數可從文字字串中提取指定位置的特定字元。
- SEARCH:
- SEARCH 函數能幫您快速找出指定字元或子字串在給定文字中的位置。
更多文章:
- 在 Excel 中取得或提取文字字串的第一個字詞
- 若要從以空格分隔的文字字串清單中提取所有第一個字詞,Excel 的 LEFT 與 FIND 函數正是您的得力助手。
- 在 Excel 中取得或提取文字字串的最後一個字詞
- 若要從以空格分隔的文字字串中提取最後一個字詞,通常可透過結合 Excel 的 TRIM、SUBSTITUTE、RIGHT 與 REPT 函數來建立公式達成。
- 從多行儲存格中提取最後一行文字
- 若要從以換行符號分隔的文字字串中提取最後一行,通常沒有直接的解決方法。本文將介紹一個 Excel 公式,輕鬆達成這項任務。
最佳 Office 生產力工具
Kutools for Excel -助您脫穎而出
| 🤖 | KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、標示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 超級 VLookup:多重條件 | 多重值 | 跨多個工作表 | 模糊查找…… | |
| 進階下拉列表:簡易下拉式清單 | 相依下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位 | 移動欄位 | 切換隱藏欄位的可見狀態 |比較欄位以選擇相同/不同單元格…… | |
| 精選功能:網格聚焦 | 設計視圖 | 增強編輯欄 | 工作簿與工作表管理員|資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符……)| 50+ 圖表 類型(甘特圖……)| 40+ 實用公式(基於生日計算年齡……)| 19 插入工具(插入二維碼,從路徑插入圖片……)| 12 轉換工具(金額轉大寫,匯率轉換……)| 7 合併和拆分工具(高級合併行,拆分 Excel 儲存格……)|……還有更多 |
Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……
Office Tab -在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯
- 一秒內在數十份開啟的文件間快速切換!
- 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
- 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
- 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。
