Excel - 在找到某些文本后在括号中提取文本

时间:2018-04-10 17:00:55

标签: excel excel-formula excel-2010 formula

我试过寻找答案,但似乎无法找到确切的解决方案。我试图从两个括号中提取文本,从一个特定的文本字符串开始。即该细胞含有以下 - ABC(12.3%)DEFGH(18.1%)IJKL(17.2%)。我想要一个参考单元说" ABC"然后下面的单元格返回ABC之后的括号中的%数字。

我正在使用的当前公式如下,其中G6是完整的文本行,I5是参考单元格" ABC": = MID(G6,FIND(I5,G6)+ FIND("(",G6),FIND("(",G6)+ 1 + FIND(" )",G6) - 查找("(",G6)-7)

当输入为3个字符长(ABC)时,这将起作用,但当字符串文本的长度不同时,它将不起作用。

有人可以帮我创建一个公式,我可以拉出%数,而不管有多少个字符?

2 个答案:

答案 0 :(得分:1)

A1 中的大字符串和 B1 中的 ABC ,请尝试:

=LEFT(MID(A1,FIND(B1,A1)+LEN(B1)+2,9999),FIND(")",MID(A1,FIND(B1,A1)+LEN(B1)+2,9999))-1)

enter image description here

发生了什么:

公式的核心:MID(D1,FIND(E1,D1)+LEN(E1)+2,9999)丢弃字符串的前端并返回:12.3%) DEFGH (18.1%) IJKL (17.2%)

封闭部分丢弃封闭的parens以及随后的每一个。

答案 1 :(得分:0)

如果您尝试将所有不同的字符串分开,那么最好将其拆分。

String Splitting

Cell A1: 'The current String'
Cell B1:    =SEARCH("(",A2)
Cell C1:    =SEARCH(")",A2)
Cell D1:    =MID($A$2,1,B2-1)
Cell E1:    =MID($A$2,B2+1,(C2-B2)-1)
Cell F1:    =SEARCH("(",A2,12)
Cell G1:    =SEARCH(")",A2,12)
Cell H1:    =MID($A$2,C2+1,(F2-C2)-1)
Cell I1:    =MID($A$2,F2+1,(G2-F2)-1)
Cell J1:    =SEARCH("(",A2,26)
Cell K1:    =SEARCH(")",A2,26)
Cell L1:    =MID($A$2,G2+1,(J2-G2)-1)
Cell M1:    =MID($A$2,J2+1,(K2-J2)-1)
  • B1& C1将搜索“(”&“)”。

  • 的首次出现
  • D1&然后E1将使用B1和amp;中的那些数字。 C1找到您要搜索的文本。

  • F1& G1将搜索“(”&“)”

  • 的第二次出现
  • H1& I1然后将在F1&中使用这些数字。 G1找到您要搜索的文本。

  • J1& K1将搜索“(”&“)”

  • 的第三个外观
  • L1&然后,M1将使用J1和J1中的这些数字。 K1找到您要搜索的文字。

这个过程会为每一个字符串分解它。在我附上的图片中,我还添加了其他字段来修剪结果以消除任何空格。