跳到主要內容

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

您可能需要從文本字符串中提取子字符串,這對您來說是一項常見的任務,在Excel中,沒有直接執行此操作的功能,但是藉助LEFT,RIGHT,MID和SEARCH函數,您可以提取您需要的各種子字符串。


從文本字符串中提取具有特定數量字符的子字符串

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

  • LEFT function:從文本字符串的左側提取一個子字符串。
  • RIGHT function:從文本字符串的右側提取文本。
  • MID function:從文本字符串的中間提取一個子字符串。

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

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

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

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

=LEFT(A2,3)

然後,將填充手柄向下拖動到要應用此公式的單元格上,並且所有前三個字符均已從原始文本中提取,請參見屏幕截圖:


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

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

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

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

=RIGHT(A2,6)

然後,將此公式複製到所需的其他單元格中,並從文本右側提取了所有6個字符,請參見屏幕截圖:


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

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

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

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

=MID(A2,7,3)

然後,將填充手柄向下拖動到單元格以根據需要應用此公式,您將獲得以下結果:


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

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

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

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

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

例如,我要提取連字符前面的所有字符,請將以下公式應用到空白單元格中:

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

然後將填充手柄向下拖動到要應用此公式的單元格上,連字符前面的所有字符都已提取出來,如下圖所示:


公式說明:
  • 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))

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


公式說明:
  • SEARCH(“-”,A2): 該搜索功能用於查找單元格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)

然後,向下拖動填充手柄以將該公式應用於其他單元格,您將獲得結果,如以下屏幕截圖所示:


公式說明:
  • 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函數用於根據以上兩個參數提取子字符串。

使用的相對功能:

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

更多文章:

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

最佳辦公效率工具

Kutools for Excel-幫助您從人群中脫穎而出

🤖 Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行   |  生成代碼  |  建立自訂公式  |  分析數據並產生圖表  |  呼叫 Kutools 函數...
熱門特色: 尋找、突出顯示或識別重複項  |  刪除空白行  |  合併列或儲存格而不遺失數據  |  沒有公式的回合 ...
超VLookup: 多重標準  |  多重價值  |  跨多頁  |  模糊查詢...
副詞。 下拉清單: 簡易下拉列表  |  依賴下拉列表  |  多選下拉列表...
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  將列與 選擇相同和不同的單元格 ...
特色功能: 網格焦點  |  設計圖  |  大方程式酒吧  |  工作簿和工作表管理器 | 資源庫 (自動文字)  |  日期選擇器  |  合併工作表  |  加密/解密單元格  |  按清單發送電子郵件  |  超級濾鏡  |  特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符 ...)  |  50+ 圖表 類型 (甘特圖 ...)  |  40+ 實用 公式 (根據生日計算年齡 ...)  |  19 插入 工具 (插入二維碼, 從路徑插入圖片 ...)  |  12 轉化 工具 (數字到單詞, 貨幣兌換 ...)  |  7 合併與拆分 工具 (高級合併行, 拆分 Excel 儲存格 ...)  |  ... 和更多

Kutools for Excel 擁有超過 300 個功能, 確保只需點擊一下即可獲得您所需要的...

產品描述


Office選項卡-在Microsoft Office(包括Excel)中啟用選項卡式閱讀和編輯

  • 一秒鐘即可在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標單擊,告別鼠標手。
  • 查看和編輯多個文檔時,將您的工作效率提高 50%。
  • 為 Office(包括 Excel)帶來高效的選項卡,就像 Chrome、Edge 和 Firefox 一樣。
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
=RIGHT(A2,LEN(A2)-SEARCH("-",A2))
эта формула не работает, т.к. в эксель роль разделителя выполнять точка с запятой ";"
This comment was minimized by the moderator on the site
Hello, Вурдалака
This formula works well in our English language, and a semicolon may be required in other languages.
Thank you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations