Skip to main content

從Excel中的文字字串提取子字串

Author: Xiaoyang Last Modified: 2025-08-06

您可能經常需要從文字字串中提取子字串,但在Excel中並沒有直接的函數可以完成這個任務。不過,借助LEFT、RIGHT、MID和SEARCH函數,您可以根據需要提取各種子字串。

doc-extract-substring-1


從文字字串提取特定數量的字符的子字串

在Excel中,LEFT、RIGHT和MID函數可以幫助您從文字字串的左側、右側或中間提取指定長度的子字串。

  • LEFT函數:用於從文字字串的左側提取子字串。
  • RIGHT函數:用於從文字字串的右側提取文字。
  • MID函數:用於從文字字串的中間提取子字串。

從文字字串的左側提取子字串:

LEFT函數可以幫助您從文字字串中提取前x個字符,通用語法為:

=LEFT (text, [num_chars])
  • text: 您要提取字符的文字字串。
  • num_chars: 您想從文字字串左側提取的字符數量。

請在空白單元格中輸入以下公式:

=LEFT(A2,3)

然後,將填滿控制柄向下拖動到您要應用此公式的單元格,所有前三個字符都已從原始文字中提取出來,請參見截圖:

doc-extract-substring-2


從文字字串的右側提取子字串:

要從文字末尾提取子字串,請使用RIGHT函數:

=RIGHT (text, [num_chars])
  • text: 您要提取字符的文字字串。
  • num_chars: 您想從文字字串右側提取的字符數量。

例如,要從文字字串中提取最後6個字符,請在空白單元格中輸入以下公式:

=RIGHT(A2,6)

然後,將此公式複製到其他需要的單元格中,所有6個字符都已從文字右側提取出來,請參見截圖:

doc-extract-substring-3


從文字字串的中間提取子字串:

要從文字中間提取具有特定字符長度的子字串,MID函數可以幫助您。

=MID (text, start_num, num_chars)
  • text: 您要提取字符的文字字串。
  • start_num: 您要提取的第一個字符的位置。
  • num_chars: 您要提取的字符總數。

例如,要從文字字串中第七個字符開始提取3個字符,請在空白單元格中輸入以下公式:

=MID(A2,7,3)

然後,將填滿控制柄向下拖動到需要應用此公式的單元格,您將得到以下結果:

doc-extract-substring-4


從文字字串中提取特定字符之前或之後的子字串

LEFT、RIGHT和MID函數可以幫助您提取具有特定字符數量的統一子字串,但有時您可能需要提取變長度的子字串,您可以創建一些更複雜的公式來解決這個問題。

提取特定字符之前的子字串

要提取特定字符之前的所有字符,通用語法為:

=LEFT(text, SEARCH(char, text)-1)
  • text: 您要提取字符的文字字串。
  • char: 用於提取子字串的特定字符。

例如,我想提取連字符之前的所有字符,請在空白單元格中應用以下公式:

=LEFT(A2, SEARCH("-",A2)-1)

然後將填滿控制柄向下拖動到您要應用此公式的單元格,連字符之前的所有字符都已提取出來,如下截圖所示:

doc-extract-substring-5


公式解釋:
  • SEARCH("-",A2)-1: 此SEARCH函數用於查找單元格A2中連字符的位置,並減去1以排除該字符本身。它被識別為LEFT函數的num_chars參數。
  • LEFT(A2, SEARCH("-",A2)-1): 此LEFT函數從單元格A2中的文字左側提取由SEARCH函數返回的字符數。

提取特定字符之後的子字串

如果您想提取特定字符之後的子字串,RIGHT、LEN、SEARCH函數可以幫助您,通用語法為:

=RIGHT(text,LEN(text)-SEARCH(char, text))
  • text: 您要提取字符的文字字串。
  • char: 用於提取子字串的特定字符。

要提取連字符之後的字符,請應用以下公式:

=RIGHT(A2,LEN(A2)-SEARCH("-",A2))

然後,將此公式複製到您要使用的單元格中,您將得到如下截圖所示的結果:

doc-extract-substring-6


公式解釋:
  • SEARCH("-",A2): 此SEARCH函數用於查找單元格A2中連字符的位置。
  • LEN(A2)-SEARCH("-",A2): LEN函數返回的文字字串總長度減去SEARCH函數返回的數字,以獲取特定字符之後的字符數。這被識別為RIGHT函數的num_chars參數。
  • RINGT(): 此RIGHT函數用於從單元格A2中的文字字串末尾提取字符數。

提取兩個特定字符之間的子字串

如果您需要提取兩個給定字符之間的子字串,以下函數可能會對您有所幫助,通用語法為:

=MID(text, SEARCH(char, text)+1, SEARCH (char, text, SEARCH (char, text)+1) - SEARCH (char, text)-1)
  • text: 您要提取字符的文字字串。
  • char: 用於提取子字串的特定字符。

例如,要提取兩個連字符之間的文字,請使用此公式:

=MID(A2, SEARCH("-",A2) + 1, SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1)

然後,將填滿控制柄向下拖動以將此公式應用於其他單元格,您將得到如下截圖所示的結果:

doc-extract-substring-7


公式解釋:
  • 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函數根據上述兩個參數提取子字串。
  • doc-extract-substring-8

相關函數:

  • LEFT:
  • LEFT函數從文字字串的左側提取字符串。
  • RIGHT:
  • RIGHT函數返回文字字串右側的文字。
  • MID:
  • MID函數從文字字串的中間返回特定字符。
  • SEARCH:
  • SEARCH函數可以幫助您從給定的文字中找到特定字符或子字串的位置。

更多文章:

  • 從多行單元格中提取最後一行文字
  • 要從由換行符分隔的文字字串中提取最後一行文字,通常沒有直接的方法來解決這個問題。本文將介紹一種在Excel中處理此任務的公式。

最佳的辦公生產力工具

Kutools for Excel - 幫助您脫穎而出

🤖 KUTOOLS AI 助手:基於以下方式徹底改變數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 KUTOOLS 函數
熱門功能查找、標記或標識重複值  |  刪除空行  |  合併列或單元格而不丟失數據  |  無需公式四捨五入 ...
超級 VLookup多條件  |  多值  |  跨多工作表  |  模糊查找...
高級下拉列表簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  比較列以選擇相同和不同的單元格 ...
特色功能網格聚焦  |  設計檢視  |  增強編輯欄  |  工作簿與工作表管理器 | 資源庫 (自動文字)  |  日期提取器  |  合併資料  |  加密/解密單元格  |  按清單發送電子郵件  |  超級篩選  |  特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 個工具集12 個文本工具添加文本刪除特定字符 ...)  |  50+ 種圖表 類型甘特圖 ...)  |  40+ 實用 公式基於生日計算年齡 ...)  |  19 個插入工具插入QR碼從路徑插入圖片 ...)  |  12 個轉換工具金額轉大寫匯率轉換 ...)  |  7 個合併與分割工具高級合併行拆分Excel單元格 ...)  |  ... 及更多
使用您偏好的語言來操作 Kutools——支持英語、西班牙語、德語、法語、中文等 40 多種語言!

Kutools for Excel 擁有超過 300 項功能,確保您需要的功能只需一鍵即可觸及...


Office Tab - 在 Microsoft Office(包括 Excel)中啟用多標籤閱讀和編輯

  • 一秒鐘內在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標點擊,告別滑鼠手。
  • 在查看和編輯多個文檔時,提升您的效率達 50%。
  • 為 Office(包括 Excel)帶來高效的標籤功能,就像 Chrome、Edge 和 Firefox 一樣。