公式或VBA – 查找string和一定数量的字符后面

我一直在使用

=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." 

有没有一种方法可以searchMyString,然后打印它和随后的数字? (我可能会想到这个或者忽略一些简单的东西!)

谢谢!!

=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#之后的数据将始终为空,则可以使用下面的公式获取数字,无论数字是多less。

=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")