2017-10-16 7 views
0

J'utiliseformules ou VBA - Trouver la chaîne et certain nombre de caractères après

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

pour voir si « MaChaîne » existe dans une cellule avec une longue description. Habituellement "MyString" est suivi d'un nombre (qui change), comme "MyString #".

Cependant, « MaChaîne » et il est le numéro DonT existe toujours dans le même endroit de la description:

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

Est-il possible que je peux chercher MaChaîne, puis l'imprimer et le nombre qui suit ? (Je suis probablement en train de trop réfléchir ou de négliger quelque chose de simple!)

Merci!

+1

Quoi ce nombre? Un numéro à un ou plusieurs chiffres et y a-t-il un espace entre MyString et ce numéro? Pouvez-vous donner quelques exemples concrets de cela? – sktneer

+0

Salut Sktneer, quelques exemples seraient "MyString2" "MyString35" "MyString 6" "MyString 72" ... essentiellement un nombre à un ou deux chiffres après MyString, parfois avec un espace entre, d'autres fois, sans. – mitchmitch24

Répondre

1

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

Si vous souhaitez afficher uniquement le nombre, faites ceci:

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

Note: Je suppose que le nombre suivi après "MaChaîne" est toujours 1 chiffre. Si les données après MyString # sont toujours un blanc, vous pouvez obtenir le nombre, peu importe le nombre de chiffres, en utilisant la formule ci-dessous.

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

Pour seul numéro:

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

+0

Doux! Cela a fonctionné. Merci beaucoup! – mitchmitch24