Note: The other languages of the website are Google-translated. Back to English

從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 for Excel具有300個強大的高級功能(合併工作簿,按顏色求和,拆分單元格內容,轉換日期等),並為您節省80%的時間。

  • 專為1500個工作方案而設計,可幫助您解決80%的Excel問題。
  • 每天減少數千次鍵盤和鼠標的點擊,減輕您疲倦的眼睛和手的疲勞。
  • 在3分鐘內成為Excel專家。 不再需要記住任何痛苦的公式和VBA代碼。
  • 30天無限制免費試用。 60天退款保證。 免費升級和支持2年。
Excel功能區(已安裝Kutools for Excel)

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

  • 一秒鐘即可在數十個打開的文檔之間切換!
  • 每天為您減少數百次鼠標單擊,告別鼠標手。
  • 查看和編輯多個文檔時,可將您的工作效率提高50%。
  • 像Chrome,Firefox和新的Internet Explorer一樣,為Office(包括Excel)帶來高效選項卡。
Excel的屏幕截圖(已安裝Office選項卡)
按評論排序
留言 (2)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
=RIGHT(A2,LEN(A2)-搜索("-",A2))
эта формула не работает, т.к。 в эксель роль разделителя выполнять точка с запятой ";"
網站主持人對此評論進行了最小化
你好,Вурдалака
這個公式在我們的英語中效果很好,在其他語言中可能需要分號。
感謝您!
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點