【问题标题】:Excel - extracting text between parentheses after finding certain textExcel - 找到某些文本后提取括号之间的文本
【发布时间】:2018-04-10 17:00:55
【问题描述】:

我已尝试寻找答案,但似乎找不到确切的解决方案。我正在尝试从某个文本字符串开始提取两个括号之间的文本。 IE。该单元格包含以下内容 - 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)-FIND("(",G6)- 7)

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

有人可以帮我创建一个公式,无论有多少个字符,我都可以提取 % 数字吗?

【问题讨论】:

    标签: excel excel-formula excel-2010 formula


    【解决方案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)
    

    发生了什么:

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

    封闭部分丢弃右括号和后面的每个。

    【讨论】:

    • 这太完美了!非常感谢。
    【解决方案2】:

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

    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 和 C1 中的这些数字来查找您要搜索的文本。

    • F1 & G1 将搜索第二次出现的 "(" & ")"

    • H1 ​​和 I1 将使用 F1 和 G1 中的这些数字来查找您要搜索的文本。

    • J1 & K1 将搜索第三次出现的 "(" & ")"

    • L1 和 M1 然后将使用 J1 和 K1 中的这些数字来查找您要搜索的文本。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 2014-08-07
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 2019-02-26
      • 1970-01-01
      相关资源
      最近更新 更多