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

從文本字符串中提取括號之間的文本

現在,如果文本字符串中有部分用括號括起來的文本,則需要提取括號之間的所有文本字符串,如下圖所示。 您如何在Excel中快速輕鬆地解決此任務?


從Excel中的文本字符串中提取括號之間的文本

要提取括號之間的數據,首先,應使用SEARCH函數查找左括號和右括號的位置,然後應用Mid Function獲得結果。 通用語法為:

=MID(text,SEARCH("(",text)+1,SEARCH(")",text)-SEARCH("(",text)-1)
  • text:要從中提取數據的文本字符串或單元格值。

請輸入以下公式或將其複製到空白單元格中:

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

然後,將此公式拖動到要應用此公式的其他單元格上,並且括號之間的所有文本均已提取,請參見屏幕截圖:


公式說明:
  • 1. SEARCH(“(”,A2)+1: 此SEARCH函數返回單元格A2中第一個左括號字符的位置,並加1以獲取第一個字符在括號內的位置。 該部分在MID函數中被識別為start_num參數。
  • 2. SEARCH(“)”,A2)-SEARCH(“(”,A2)-1:
  • SEARCH(“)”,A2):公式的此部分返回單元格A2中第一個右括號字符的位置。
  • SEARCH(“)”,A2)-SEARCH(“(”,A2)-1:右括號的位置減去左括號的位置,以獲取需要提取的括號之間的字符數。 並且此返回值將被識別為MID函數中的num_chars參數。
  • 3. MID(A2,SEARCH("(",A2)+1,SEARCH(")",A2)-SEARCH("(",A2)-1): 到目前為止,MID函數用於提取括號內的文本。

備註:如果一個單元格中有多個括號,要從括號中提取所有子字符串,應應用以下公式:

=TRIM(MID(SUBSTITUTE(SUBSTITUTE("("&$A2,"(",")"),")",REPT(" ",LEN($A2))),2*LEN($A2)*(COLUMNS($A:A)),LEN($A2)))

然後,將此公式拖動到右邊的單元格,以獲取單元格中括號之間的所有字符串,請參見屏幕截圖:

繼續將填充手柄向下拖動到要應用此公式的單元格範圍,並且所有括號之間的所有文本均已被一次提取,請參見屏幕截圖:


使用的相對功能:

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

更多文章:

  • 在Excel中提取包含特定文本的單詞
  • 有時,您可能希望從包含特定字符或文本的單元格中提取單詞,例如下面的屏幕截圖,以提取所有包含“ =”字符的單詞。 您如何在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)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
你好,

這太棒了,謝謝! 我嘗試了 20 多個其他公式來刪除多個括號並拆分包含的數字,但均未成功。

不過問題是,這似乎只適用於原始單元格大約 <500 個字符的情況。
知道如何擴展它嗎?

我目前正在手動拆分較大的單元格,然後重新組合,它只佔大約。 我工作量的 10%,但如果有一個自動化/公式化的解決方案,那就太好了! :)

乾杯,0
網站主持人對此評論進行了最小化
你好,
我已經測試過,如果單元格包含超過 500 個字符,本文中的第二個公式可以很好地工作。
=TRIM(MID(SUBSTITUTE(SUBSTITUTE("("&$A2,"(",")"),")",REPT(" ",LEN($A2))),2*LEN($A2)*(COLUMNS($A:A)),LEN($A2)))


請試一試,如果您有任何其他問題,請在此處上傳錯誤截圖。
感謝您!
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點