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   产品特性
建议地点