Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Zahl aus Text extrahieren - für Fortgeschrittene

Forumthread: Zahl aus Text extrahieren - für Fortgeschrittene

Zahl aus Text extrahieren - für Fortgeschrittene
26.09.2007 18:48:00
Matthias
Hallo Forum!
Ich habe zu meinem Problem ("Zahl aus Text extrahieren") einiges im WWW und hier im Forum gefunden - aber leider nicht die Lösung...
Folgende Angaben sind in jeweils einer (!) Zelle vorhanden:
Name, Vorname, Straße Haus-Nr, PLZ, Ort
Hierbei kann "Haus-Nr" z.B. "7" oder "2-4" oder leer sein.
Ich möchte aber nur die PLZ in die Zelle daneben extrahieren.
Hat jemand einen Lösungsvorschlag für mich?
Vielen Dank
Matthias

Anzeige

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahl aus Text extrahieren - für Fortgeschritte
26.09.2007 19:02:31
Rudi
Hallo,
wie sieht das genau aus? Mit , getrennt?
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Zahl aus Text extrahieren - für Fortgeschritte
26.09.2007 19:06:00
Matthias
Ja genau. Trennzeichen ist ",".

AW: Zahl aus Text extrahieren - für Fortgeschrittene
26.09.2007 19:04:22
Bertram
Hallo Matthias,
wenn's wirklich so drinsteht und die PLZ fünfstellig ist, dann z.B. so:
=MID(A1;FIND("_";SUBSTITUTE(A1;",";"_";3))+2;5)
Gruß
Bertram

Anzeige
AW: Zahl aus Text extrahieren - für Fortgeschrittene
26.09.2007 19:09:20
Matthias
Danke Bertram!
Und auf deutsch?
=TEIL(A1;FINDEN("_";ERSETZEN(A1;",";"_";3))+2;5)

AW: Zahl aus Text extrahieren - für Fortgeschrittene
26.09.2007 19:12:44
Bertram
Hallo,
WECHSELN statt ERSETZEN
Gruß
Bertram

AW: Zahl aus Text extrahieren - für Fortgeschrittene
26.09.2007 19:21:00
Matthias
Das wars leider noch nicht.
Deine Formel =TEIL(A2;FINDEN(" ";WECHSELN(A2;",";" ";3))+2;5) auf meinen Testdatensatz Name, Vorname, Straße Hnr, 12345, Ort angewendet, ergibt: ornam

Anzeige
AW: Zahl aus Text extrahieren - für Fortgeschrittene
26.09.2007 19:28:00
Bertram
Hallo,
genau lesen bzw. kopieren:
=TEIL(A1;FINDEN("_";WECHSELN(A1;",";"_";3))+2;5)
Gruß
Bertram

AW: Zahl aus Text extrahieren - für Fortgeschrittene
26.09.2007 20:04:04
Matthias
Also ich habe jetzt die Bezugszelle in A2 stehen und wenn ich Deine Formel mit den Unterstrichen ("_") verwende bekomme ich einen Fehler. Unterstriche sind in meinen Daten gar nicht vorhanden.

Anzeige
AW: Zahl aus Text extrahieren - für Fortgeschrittene
27.09.2007 17:31:00
Matthias
? Ich sehe dass es funktioniert - aber ich verstehe nicht warum?

AW: Zahl aus Text extrahieren - für Fortgeschrittene
27.09.2007 19:55:00
Bertram
Hallo,
zuerst wird das dritte Komma durch einen Unterstrich ersetzt: WECHSELN(A1;",";"_";3)
dann wird nach dem Unterstrich gesucht: FINDEN("_";)
und dann die 5 Zeichen nach dem Leerzeichen ausgelesen: TEIL(A1;'...'+2;5)
Gruß
Bertram

Anzeige
AW: Zahl aus Text extrahieren - für Fortgeschrittene
26.09.2007 19:21:00
Peter
Hallo Matthias,
wenn die Postleitzahl immer der vorletzte Eintrag ist, sollte es so gehen:

Public Sub Extrahieren()
Dim lZeile  As Long
Dim aTmp    As Variant
Dim iIndex  As Integer
With Worksheets("Tabelle1")  ' Tabellenblattnamen ggf. anpassen
For lZeile = 1 To .Range("A65536").End(xlUp).Row
aTmp = Split(.Range("A" & lZeile).Value, ",")
.Range("B" & lZeile).Value = Trim(aTmp(UBound(aTmp) - 1))
Next lZeile
End With
End Sub


Gruß Peter

Anzeige
AW: Zahl aus Text extrahieren - für Fortgeschrittene
26.09.2007 19:23:00
Matthias
Hallo Peter!
Ich würde dies ungerne mit VBA lösen, da ich die Datei später an Kollegen weitergebe, die keine VBA-Kenntnisse haben...
Danke,
Matthias

AW: Zahl aus Text extrahieren - für Fortgeschrittene
26.09.2007 23:44:00
Peter
Hallo Matthias,
dann nimm es als Function
'
' es wird immer der vorletzte Wert geliefert
'

Public Function Extrakten(Eingabe As String) As String
Dim aTmp    As Variant
aTmp = Split(Eingabe, ",")
Extrakten = Trim(aTmp(UBound(aTmp) - 1))
End Function


Angenommen, deine Werte stehen in A1, dann in B1: =Extrakten(A1)
Gruß Peter

Anzeige
AW: Zahl aus Text extrahieren - für Fortgeschrittene
27.09.2007 11:07:00
Matthias
Hallo Peter!
Ich habe die VBA geöffnet und ein neues Modul eingefügt. Dort habe ich Deine Lösung hineinkopiert, die Datei abgespeichert, bekomme aber leider kein Ergebnis ("#NAME?")!

DIESE LÖSUNG FUNKTIONIERT!
27.09.2007 11:31:00
Matthias
Stop! Kommando zurück!
ES FUNKTIONIERT! DANKE!!!
Wollte zwar ursprünglich keinen VBA-Code verwenden aber die Lösung ist so komfortabel, die muß ich benutzen! ;-)

Anzeige
Das kannst du so lösen,...
26.09.2007 20:24:00
Luc:-?
...Matthias,
falls mal die eine oder andere Angabe fehlen sollte (sonst kann die Formel kürzer sein - ohne ANZAHL2 - PLZ und Ort muss aber existieren):
=INDEX(Adressvektor;ANZAHL2(Adressvektor)-1)
Dabei ist Adressvektor der Name einer Formel (Menü Einfügen - Namen - definieren). Diese lautet...
=AUSWERTEN("{"""&WECHSELN(A2;", ";""";""")&"""}")
..., wenn deine Adresse in A2 und die obere Formel in B2 steht (B2 dabei markieren! - Trenner stets ", "!).
Die Fkt AUSWERTEN basiert auf XLM (xl4Makrofktt) und kann nur in benannten Formeln eingesetzt wdn (solange xlVersionen das noch unterstützen)! Wenn dir dieses Konstrukt zu aufwendig ist, musst du VBA (ich habe hierfür eine benutzerdefinierte Fkt, die wie eine normale xlFkt eingesetzt wdn kann) anwenden, alles Andere wird formelmäßig komplizierter (und deutlich länger!).
Gruß Luc :-?

Anzeige
AW: Das kannst du so lösen,...
27.09.2007 11:04:20
Matthias
Hallo Luc!
Deine Lösung sieht ziemlich professionell aus aber leider greift sie bei mir nicht. Ich habe mich genau an deine Anweisung gehalten, erhalte aber die Meldung: "DIESE FUNKTION IST UNGÜLTIG!"

Tja, dann scheint wohl XLM schon ab...
28.09.2007 04:51:55
Luc:-?
...xl2003 (11.0) nicht mehr unterstützt zu wdn, Matthias!
Gruß Luc :-?
PS: MS wird es schon noch schaffen, jegliche Spur von Genialität aus xl zu tilgen... (vgl KalkBug in 12.0)

Anzeige
AW: Zahl aus Text extrahieren - für Fortgeschrittene
27.09.2007 10:20:15
Marek
Hallo zusammen,
hier mal mein Vorschlag:
Ist ziemlich zusammengebastelt, aber funktioniert, sofern ich dein Problem richtig verstanden hab.
=LINKS(RECHTS(A1;LÄNGE(A1)-FINDEN(",";A1;FINDEN(",";A1;FINDEN(",";A1;1)+1)+1));6)*1
Warum trennst du deinen Text nicht in Spalten?
Das sieht übersichtlicher aus und du sparst die den Ärger.
Gruß
Marek

Anzeige
AW: Zahl aus Text extrahieren - für Fortgeschrittene
27.09.2007 11:01:00
Matthias
Hallo Marek!
Danke für Deinen Vorschlag aber der funktioniert bei mir leider auch nicht (Ergebnis: "'#WERT!").
Die Daten kommen als Export aus einem anderen Programm und sind deswegen in diesem Format...

AW: Zahl aus Text extrahieren - für Fortgeschrittene
27.09.2007 13:45:08
Marek
dann lad doch mal ein Beispiel hoch wenn das geht.
Gruß
Marek

Anzeige
AW: Zahl aus Text extrahieren - für Fortgeschrittene
27.09.2007 14:19:00
Matthias
Hallo Marek!
Siehe bitte oben. Der Thread von Peter. Dort ist die Lösung.
Danke & Gruß
Matthias

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige