2017-10-16 2 views
0

Ich habeFormeln oder VBA - Finden String und bestimmte Anzahl von Zeichen, nachdem es

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

zu sehen, ob „MyString“ mit einer langen Beschreibung in einer Zelle vorhanden ist. Normalerweise folgt auf "MyString" eine Zahl (die sich ändert), wie "MyString #".

jedoch „MyString“ und es ist Nummer dont existiert immer an der gleichen Stelle der Beschreibung:

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

Gibt es eine Weise, die ich für MyString suchen, und dann ausdrucken und die Nummer, die es folgt ? (Ich überlege das wahrscheinlich oder übersehe etwas Einfaches!)

Danke !!

+1

Was diese Zahl sein könnte? Eine einzelne Ziffer oder mehrere Ziffern und gibt es irgendeinen Platz zwischen MyString und dieser Nummer? Können Sie einige Beispiele dafür nennen? – sktneer

+0

Hi Sktneer, ein paar Beispiele wären "MyString2" "MyString35" "MyString 6" "MyString 72" ... im Grunde eine ein- oder zweistellige Zahl nach MyString, manchmal mit einem Abstand dazwischen, manchmal ohne. – mitchmitch24

Antwort

1

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

Wenn Sie nur die Nummer angezeigt werden sollen, dies tun:

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

Hinweis: Ich nahm an, dass die Zahl gefolgt nach "MyString" ist immer 1 Stelle.

Wenn die Daten nach MyString # immer leer sind, können Sie die Nummer, egal wie viele Ziffern es ist, mit der folgenden Formel ermitteln.

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

Für Nummer nur:

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

+0

Süß! Das hat funktioniert. Ich danke dir sehr! – mitchmitch24

Verwandte Themen