Excel - 找到特定文本后提取括号内的文本
Excel - extracting text between parentheses after finding certain text
我曾尝试寻找答案,但似乎找不到确切的解决方案。我正在尝试从特定文本字符串开始提取两个括号之间的文本。 IE。该单元格包含以下内容 – ABC (12.3%) DEFGH (18.1%) IJKL (17.2%)。我想要一个引用单元格说 "ABC" 然后下面的单元格 return ABC 后括号之间的 % 数字。
我目前使用的公式如下,其中 G6 是整行文本,I5 是参考单元格 "ABC":
=MID(G6,FIND(I5,G6)+FIND("(",G6),FIND("(",G6)+1+FIND(")",G6)-FIND("(",G6)- 7)
这在输入为 3 个字符长 (ABC) 时有效,但在字符串文本长度不同时无效。
有人可以帮我创建一个公式,无论有多少个字符,我都可以提取 % 数字吗?
用A1中的大字符串和B1中的ABC,试试:
=LEFT(MID(A1,FIND(B1,A1)+LEN(B1)+2,9999),FIND(")",MID(A1,FIND(B1,A1)+LEN(B1)+2,9999))-1)
发生了什么:
公式的核心:MID(D1,FIND(E1,D1)+LEN(E1)+2,9999)
丢弃字符串的前端和returns:12.3%) DEFGH (18.1%) IJKL (17.2%)
.
外围部分丢弃右括号和后面的每一个。
如果您试图将所有不同的字符串分开,那么最好将其分开。
String Splitting
Cell A1: 'The current String'
Cell B1: =SEARCH("(",A2)
Cell C1: =SEARCH(")",A2)
Cell D1: =MID($A,1,B2-1)
Cell E1: =MID($A,B2+1,(C2-B2)-1)
Cell F1: =SEARCH("(",A2,12)
Cell G1: =SEARCH(")",A2,12)
Cell H1: =MID($A,C2+1,(F2-C2)-1)
Cell I1: =MID($A,F2+1,(G2-F2)-1)
Cell J1: =SEARCH("(",A2,26)
Cell K1: =SEARCH(")",A2,26)
Cell L1: =MID($A,G2+1,(J2-G2)-1)
Cell M1: =MID($A,J2+1,(K2-J2)-1)
B1 & C1 将搜索第一次出现的“(” & “)”。
D1 和 E1 然后将使用 B1 和 C1 中的这些数字来查找您要搜索的文本。
F1 & G1 会搜索第二次出现的“(” & “)”
H1 和 I1 将使用 F1 和 G1 中的这些数字来查找您要搜索的文本。
J1 & K1 将搜索第三次出现的“(” & “)”
L1 和 M1 然后将使用 J1 和 K1 中的这些数字来查找您要搜索的文本。
这个过程将它分解为每一段字符串。在我附上的图片中,我还添加了额外的字段来修剪结果以消除任何空格。
我曾尝试寻找答案,但似乎找不到确切的解决方案。我正在尝试从特定文本字符串开始提取两个括号之间的文本。 IE。该单元格包含以下内容 – ABC (12.3%) DEFGH (18.1%) IJKL (17.2%)。我想要一个引用单元格说 "ABC" 然后下面的单元格 return ABC 后括号之间的 % 数字。
我目前使用的公式如下,其中 G6 是整行文本,I5 是参考单元格 "ABC": =MID(G6,FIND(I5,G6)+FIND("(",G6),FIND("(",G6)+1+FIND(")",G6)-FIND("(",G6)- 7)
这在输入为 3 个字符长 (ABC) 时有效,但在字符串文本长度不同时无效。
有人可以帮我创建一个公式,无论有多少个字符,我都可以提取 % 数字吗?
用A1中的大字符串和B1中的ABC,试试:
=LEFT(MID(A1,FIND(B1,A1)+LEN(B1)+2,9999),FIND(")",MID(A1,FIND(B1,A1)+LEN(B1)+2,9999))-1)
发生了什么:
公式的核心:MID(D1,FIND(E1,D1)+LEN(E1)+2,9999)
丢弃字符串的前端和returns:12.3%) DEFGH (18.1%) IJKL (17.2%)
.
外围部分丢弃右括号和后面的每一个。
如果您试图将所有不同的字符串分开,那么最好将其分开。
String Splitting
Cell A1: 'The current String'
Cell B1: =SEARCH("(",A2)
Cell C1: =SEARCH(")",A2)
Cell D1: =MID($A,1,B2-1)
Cell E1: =MID($A,B2+1,(C2-B2)-1)
Cell F1: =SEARCH("(",A2,12)
Cell G1: =SEARCH(")",A2,12)
Cell H1: =MID($A,C2+1,(F2-C2)-1)
Cell I1: =MID($A,F2+1,(G2-F2)-1)
Cell J1: =SEARCH("(",A2,26)
Cell K1: =SEARCH(")",A2,26)
Cell L1: =MID($A,G2+1,(J2-G2)-1)
Cell M1: =MID($A,J2+1,(K2-J2)-1)
B1 & C1 将搜索第一次出现的“(” & “)”。
D1 和 E1 然后将使用 B1 和 C1 中的这些数字来查找您要搜索的文本。
F1 & G1 会搜索第二次出现的“(” & “)”
H1 和 I1 将使用 F1 和 G1 中的这些数字来查找您要搜索的文本。
J1 & K1 将搜索第三次出现的“(” & “)”
L1 和 M1 然后将使用 J1 和 K1 中的这些数字来查找您要搜索的文本。
这个过程将它分解为每一段字符串。在我附上的图片中,我还添加了额外的字段来修剪结果以消除任何空格。