【问题标题】:Extract text between last set of bracket in excel在excel中的最后一组括号之间提取文本
【发布时间】:2021-12-28 14:14:33
【问题描述】:

我在excel中有这个语句

Blah blah blah blah blah(Pool 1 of 2) (science3262)

我想提取文本"science3262"。 我试过这个公式:

=MID(A5,FIND("(",A5)+1,FIND(")",A5)-FIND("(",A5)-1)

它给我的输出是"Pool 1 of 2"

【问题讨论】:

  • 最后一组括号是否总是在字符串的最后?前面是否总是有另一组括号,例如:'Blah blah (number1)(number2)'?
  • 是的,最后一组括号总是在最后

标签: excel excel-formula formula spreadsheet data-extraction


【解决方案1】:

根据您添加的评论,我假设:

  • 最后一组括号始终位于字符串的末尾;
  • 并不总是有第二组括号。

因此尝试:

B1中的公式:

=FILTERXML("<t><s>"&SUBSTITUTE(LEFT(A1,LEN(A1)-1),"(","</s><s>")&"</s></t>","//s[last()]")

【讨论】:

  • 我成为FILTERXML() 的忠实粉丝。每个人都应该查看你关于 XPATH 1.0 函数的优秀 SO 入门,以了解这个 Excel 函数。
  • 非常感谢兄弟
【解决方案2】:

试试:

=MID(A1, FIND(")",A1)+3, FIND("(", A1, FIND("(",A1)+1) - FIND("(",A1)-3)

【讨论】:

    【解决方案3】:

    既然你写最后一个子串总是在最后,那么你可以使用:

    =SUBSTITUTE(TRIM(RIGHT(SUBSTITUTE(A1,"(",REPT(" ",LEN(A1))),LEN(A1))),")","")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-31
      • 1970-01-01
      • 2015-05-11
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-07
      相关资源
      最近更新 更多