2017-10-16 97 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