2017-10-16 98 views
0

我一直在使用公式或VBA -

=if(isnumber(search("MyString",A1,1)),"MyString","Not Found") 

之后,看看是否“MyString的”与长描述一个小区中存在查找字符串和一定数目的字符。通常“MyString”后面跟着一个数字(发生变化),如“MyString#”。

然而,“MyString的”,它的数目不总是存在于描述的相同点:

A2 = "MyString# is great today." 
A3 = "Today is a great day for MyString# to be in Excel." 

有没有一种方法,我可以搜索MyString中,然后打印和它后面的数? (我可能会过度这个或者忽略一些简单的东西!)

谢谢!

+1

什么能是多少?单个数字或多位数字,MyString和该数字之间是否有空格?你能提供一些真实的例子吗? – sktneer

+0

嗨Sktneer,一些例子将是“MyString2”“MyString35”“MyString 6”“MyString 72”...基本上是一个或两个数字的数字在MyString之后,有时与其他时间之间没有空格。 – mitchmitch24

回答

1

=IFERROR(MID(A1,SEARCH("MyString",A1),LEN("MyString")+1),"Not Found")

如果你想只显示号码,这样做:

=IFERROR(MID(A1,SEARCH("MyString",A1)+LEN("MyString"),1),"Not Found")

注:我认为数字跟在后面 “MyString的” 始终是1位。

如果MyString#之后的数据将始终为空,则可以通过使用以下公式获取数字,无论其数字为多少。

=IFERROR(MID(A1,SEARCH("MyString",A1),SEARCH(" ",A1,SEARCH("MyString",A1))-SEARCH("MyString",A1)),"Not Found")

仅供号:

=IFERROR(MID(A1,SEARCH("MyString",A1)+LEN("MyString"),SEARCH(" ",A1,SEARCH("MyString",A1))-SEARCH("MyString",A1)-LEN("MyString")),"Not Found")

+0

甜!这确实奏效。非常感谢! – mitchmitch24