Clever-Excel-Forum

Normale Version: Suche nach alpha-nummerischen Begriffen mit bestimmter Länge
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo!

Ich benötige dringend Hilfe, da ich selbst keine Lösung für mein Problem finde. 

Ich habe einen Excel-Datensatz, welcher in einer Spalte Text von unterschiedlicher Länge enthält (ca. 1-200 Wörter, sowie auch Zahlen und URLs). In diesem Text ist jeweils eine alpha-nummerische Kombination mit einer bestimmten Anzahl von Zeichen - zwischen 20 und 25- enthalten. Die Kombination beginnt jeweils mit einer Zahl und danach befindet sich ein Punkt/Ausrufe oder Leerzeichen.

Ich möchte den Text nach dieser Kombination filtern und in einer anderen Spalte ausgeben. Die Kombination steht an keiner bestimmten Stelle, sondern kann sowohl am Anfang, in der Mitte oder am Ende des Textes stehen. 

Zur Veranschaulichung ein Beispiel: 
Beispiel Text: Die Buchungsnummer für Ihren Flug nach New York am 10.09.2016 lautet: 1xEym3ui78rg1erg45egf8e.
Ausgegeben in der neuen Spalte gegeben werden soll: 1xEym3ui78rg1erg45egf8e

Hat da jemand eine Lösung für? 

Danke!
Hi,

Zitat:Die Kombination beginnt jeweils mit einer Zahl und danach befindet sich ein Punkt/Ausrufe oder Leerzeichen.

das deckt sich aber nicht mit deinem Beispiel:

Zitat:Beispiel Text: Die Buchungsnummer für Ihren Flug nach New York am 10.09.2016 lautet: 1xEym3ui78rg1erg45egf8e.
Hallo, danke für die schnelle Rückmeldung! 

Da habe ich mich etwas ungenau ausgedrückt. Ich meinte am Ende - also anschließend an die komplette alpha-nummerischen Kombination! Nicht hinter der Zahl! :)
Hallo Andrea,

füge in ein allgemeines VBA-Modul diesen Code ein:
Public Function F_EXTRAKT(strText As String) As String
Dim i As Long
Dim varText As Variant
varText = Split(strText, " ")
For i = 0 To UBound(varText)
varText(i) = Left(varText(i), Len(varText(i)) + (varText(i) Like "*!" Or varText(i) Like "*."))
If Len(varText(i)) > 19 And Len(varText(i)) < 26 Then
If IsNumeric(Left(varText(i), 1)) And Not IsNumeric(varText(i)) Then
F_EXTRAKT = varText(i)
Exit For
End If
End If
Next i
End Function

Diese Funktion benutzt Du dann wie eine Excelfunktion:

AB
1TextAuszug
2Die Buchungsnummer für Ihren Flug nach New York am 10.09.2016 lautet: 1xEym3ui78rg1erg45egf8e.1xEym3ui78rg1erg45egf8e
Formeln der Tabelle
ZelleFormel
B2=F_EXTRAKT(A2)

Gruß Uwe
Wow! Danke für die tolle, schnelle und ausführliche Antwort! Das probiere ich gleich Mal aus!
Hallo Kuwer,

ich halte mich nicht für ganz blöd, aber was macht deine Formel
varText(i) = Left(varText(i), Len(varText(i)) + (varText(i) Like "*!" Or varText(i) Like "*."))
?
Ich hätte eher varText(i) = Left(varText(i), Len(varText(i)) - (varText(i) Like "*!" Or varText(i) Like "*.")) erwartet.

Gruß,
Lutz
Hallo Lutz,

True ergibt -1, also muss es addiert werden, damit eins abgezogen wird.

3 - 1 = 2
3 - -1 = 4, da minus Minus plus ergibt.
3 + -1 = 2.
Sub aaa()
 MsgBox "3 - 1 = " & 3 - 1 & vbNewLine & _
 "3 - -1 = " & 3 - -1 & vbNewLine & _
 "3 + -1 = " & 3 + -1
End Sub
Gruß Uwe
Hallo Kuwer,

du stellst jetzt mein Universum auf den Kopf. Ich war immer der Meinung, dass wahr dem Wert 1 entspricht.
Hab nochmal im Netz gesucht und du scheinst recht zu haben.

Hab dazu aber eine Frage, die vielleicht etwas am Thema vorbeigeht.
Wie funktionieren dann die ganzen Summenprodukt-Formeln. Z.B.
http://www.excelmexel.de/HTMLExcel/wahrheitswerte.htm

Wenn wahr=-1 ist, ist doch die Multiplikation dreier wahr-Werte -1 oder?

Gruß,
Lutz
Moin!
Lasse Dein Universum mal so wie es war.  :19:
Du musst zwischen WAHR und True unterscheiden (Excel und VBA):
FG
2WAHR1
Formeln der Tabelle
ZelleFormel
G2=F2+0

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8


VBA-Hilfe schrieb:True
Siehe auch

Das Schlüsselwort True hat den Wert -1.

Gruß Ralf
Hi Lutz,

in VBA ist die WAHRheit -1, in Formeln 1. Siehe auch hier:  http://www.online-excel.de/excel/singsel_vba.php?f=99
Seiten: 1 2