从 Excel 中的括号中提取文本

Extract text from parentheses in Excel

我有一个 Excel 列表,其中我需要括号内的文本。 例如

From Gene name Column I need
O70257 syntaxin 7(Stx7) Stx7
Q7TQ90 alcohol dehydrogenase 5 (class III), chi polypeptide(Adh5) Adh5

我尝试了以下功能,正如此处先前答案中所建议的那样:

=MID(text,SEARCH("(",text)+1,SEARCH(")",text)-SEARCH("(",text)-1)

它适用于第一行,但对于第二行它仅 returns 第一个括号内容 (class III)。有没有办法只取最后括号中的文字?

您可以尝试如下图所示,

单元格中使用的公式 C2

=SUBSTITUTE(TRIM(RIGHT(SUBSTITUTE(B2,"(",REPT(" ",100)),100)),")","")

另一种方式,

=SUBSTITUTE(FILTERXML("<t><s>"&SUBSTITUTE($B2,"(","</s><s>")&"</s></t>","//s[last()]"),")","")

所以这是一个不同的版本:

没有错误检查,非常简单,使用两次查找来获取第二个括号的位置。 Mid 使用 find 来获取开始和结束。

万一可以使用新功能(目前处于 Beta 阶段):

=TEXTBEFORE(TEXTAFTER(A1,"(",-1),")")

或者:

=TAKE(TEXTSPLIT(A1,{"(",")"},,1),,-1)

或者:

=TEXTAFTER(SUBSTITUTE(A1,")",""),"(",-1)

都行。