首页 > 解决方案 > 如何从给定的一组字符串中提取一组特定的字符串?

问题描述

我试图弄清楚如何删除所有数据[包括在给定字符串中最后一次出现左括号“(”之后出现的左括号“(”)。请参阅以下示例:

容器
原始数据输出
ABC (P) (LTD) (30365) ABC (P) (LTD)
ABC (P) 有限公司 (30365) ABC (P) 有限公司
ABC P LTD (30365) ABC P LTD
=IF(LEN(A1)-LEN(SUBSTITUTE(A1,"(",""))=3,LEFT(A1,FIND("(",A1,FIND("(",A1,FIND("(",A1)+1)+1)-1),IF(LEN(A1)-LEN(SUBSTITUTE(A1,"(",""))=2,LEFT(A1,FIND("(",A1,FIND("(",A1)+1)-1),LEFT(A1,FIND("(",A1)-1)))

我已经使用了推导上述公式的逻辑,即“(”在文本中出现了多少次。我假设最多 3 次“(”),所以我使用了上面的公式。

唯一的问题是上面的公式不是动态的。例如,如果字符串包含六次左括号“(”,则此公式将不会给出所需的结果。

任何人都可以帮助提供一个新的公式/修改上述公式,这本质上是动态的。

标签: excel

解决方案


尝试这个

=LEFT(A15,FIND("@",SUBSTITUTE(A15,"(","@",LEN(A15)-LEN(SUBSTITUTE(A15,"(",""))),1)-2)

推荐阅读