KutoolsforOffice — 一套方案,五大工具。事半功倍。3 月特賣:20% 折扣

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

作者曉陽修改日期

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

doc-extract-substring-1


從文字字串中提取指定字元數的子字串

在 Excel 中,LEFT、RIGHT 與 MID 函數能協助您輕鬆從文字字串的左側、右側或中間提取指定長度的子字串。

  • LEFT function:用於從文字字串左側提取子字串。
  • RIGHT function:用於從文字字串右側提取所需文本。
  • MID function:用於從文字字串中提取子字串。

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

LEFT 函數可協助您從文字字串中提取前 x 個字元,一般語法如下:

=LEFT (text, [num_chars])
  • text 您要從中提取字元的文字字串。
  • num_chars 您希望從文字字串左側提取的字元數量。

請在空白儲存格中輸入下列公式:

=LEFT(A2,3)

接著,向下拖曳填滿控點至您要套用此公式的儲存格,即可從原文本提取前 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 參數使用。
  • RIGHT()此 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 函數能幫您快速找出指定字元或子字串在給定文字中的位置。

更多文章:


最佳 Office 生產力工具

Kutools for Excel -助您脫穎而出

🤖KUTOOLS AI 助手:以以下方式革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、標示或標記重複值    刪除空白行    合併列或儲存格而不遺失資料    不使用公式的四捨五入……
超級 VLookup多重條件    多重值    跨多個工作表    模糊查找……
進階下拉列表簡易下拉式清單    相依下拉式清單    多選下拉式清單……
欄位管理員新增指定數量的欄位    移動欄位   切換隱藏欄位的可見狀態  比較欄位以選擇相同/不同單元格……
精選功能網格聚焦    設計視圖    增強編輯欄    工作簿與工作表管理員資源庫(自動文字)  日期提取    合併工作表    加密/解密儲存格   依清單傳送電子郵件    超級篩選    特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符……)  50+ 圖表 類型甘特圖……)  40+ 實用公式基於生日計算年齡……)  19 插入工具插入二維碼從路徑插入圖片……)  12 轉換工具金額轉大寫匯率轉換……)  7 合併和拆分工具高級合併行拆分 Excel 儲存格……)……還有更多
在您的慣用語言中使用 Kutools – 支援英文、西班牙文、德文、法文、中文及其他 40+ 種語言!

Kutools for Excel 擁有超過 300 項功能,確保您所需的功能僅需一鍵即可取得……


Office Tab -在 Microsoft Office(包含 Excel)中啟用分頁式閱讀與編輯

  • 一秒內在數十份開啟的文件間快速切換!
  • 每天為您減少數百次滑鼠點擊,遠離滑鼠手困擾。
  • 在檢視與編輯多份文件時,讓您的生產力提升高達 50%。
  • 為 Office(包含 Excel)帶來如 Chrome、Edge 與 Firefox 般的高效能分頁體驗。