Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Teil mit variabler Länge aus String extrahieren

Teil mit variabler Länge aus String extrahieren
21.08.2005 16:10:07
Rainer
Hallo,
ich habe eine Zelle mit einem Stringwert, der allgemein so aussieht:
xxxxxxxxxxxxx("yy:yyyy.yy");zzzzzzzzzzzzzz
Ich würde gerne per VBA den Teil mit den y heraus extrahieren. Die Länge des Wortes x ist immer gleich, gefolgt von Klammer und Anführungszeichen. Die Länge y ist variabel. Beendet wird y wieder von Anführungszeichen und hier kann man wohl ansetzen. Kurz gesagt, ich möchte im obigen Beispiel folgende Lösung haben:
yy:yyyy.yy
Kann mir jemand eine Lösung schreiben?
Gruß Rainer
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teil mit variabler Länge aus String extrahieren
21.08.2005 16:17:56
Hajo_Zi
Hallo Rainer,
es muß nicht immer VBA sein.
Tabelle1
 AB
1xxxxxxxxxxxxx("yy:yyyy.yy");zzzzzzzzzzzzzzyy:yyyy.yy
Formeln der Tabelle
B1 : =TEIL(A1;FINDEN("(";A1)+2;FINDEN(")";A1)-FINDEN("(";A1)-3)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
Danke
21.08.2005 16:27:54
Rainer
Hallo Hajo,
die Formellösung funktioniert wunderbar.
Eigentlich möchte ich mit einem Worksheet_SelectionChange Ereignis arbeiten. Das heißt, ich habe viele solcher Zellen mit solchen Strings. Beim jeweiligen Anklicken sollte eben jeweils dieser Teil extrahiert werden. Mit diesem Teil arbeite ich dann weiter. Deswegen wollte ich die VBA-Lösung. Natürlich kann ich auch die Zelle mit der Formellösung weiter einbinden.
Vielen Dank und schönen Sonntag
Gruß Rainer
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Teil mit variabler Länge aus String extrahieren


Schritt-für-Schritt-Anleitung

Um einen Teil eines Strings in Excel zu extrahieren, kannst du die TEIL()-Funktion verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zu der Zelle, die den String enthält. In unserem Beispiel verwenden wir die Zelle A1 mit dem Wert xxxxxxxxxxxxx("yy:yyyy.yy");zzzzzzzzzzzzzz.

  2. Verwende die folgende Formel in der Zelle B1, um den gewünschten Teil des Strings zu extrahieren:

    =TEIL(A1; FINDEN("(" ; A1) + 2; FINDEN(")"; A1) - FINDEN("(" ; A1) - 3)

    Diese Formel sucht nach der Position der Klammern und extrahiert den Text zwischen ihnen.

  3. Drücke Enter, um die Formel auszuführen. Du solltest jetzt yy:yyyy.yy in Zelle B1 sehen.


Häufige Fehler und Lösungen

  • Fehler: #WERT!

    • Lösung: Überprüfe, ob die Klammern in deinem String korrekt gesetzt sind. Die Formel benötigt die Klammern, um die richtige Position zu finden.
  • Fehler: Falsches Ergebnis

    • Lösung: Stelle sicher, dass der Text in der Zelle A1 genau dem Format entspricht, das du erwartest. Variationen im Format können zu falschen Ergebnissen führen.

Alternative Methoden

Wenn du nicht nur mit Formeln arbeiten möchtest, kannst du auch VBA verwenden, um einen Teilstring zu extrahieren. Hier ist ein einfaches VBA-Skript:

  1. Öffne den VBA-Editor mit ALT + F11.

  2. Füge ein neues Modul hinzu und gib folgenden Code ein:

    Function ExtrahiereTeilString(inputString As String) As String
        Dim startPos As Integer
        Dim endPos As Integer
    
        startPos = InStr(inputString, "(") + 2
        endPos = InStr(inputString, ")") - 1
        ExtrahiereTeilString = Mid(inputString, startPos, endPos - startPos + 1)
    End Function
  3. Schließe den Editor und benutze die Funktion in Excel wie folgt:

    =ExtrahiereTeilString(A1)

Praktische Beispiele

Hier sind einige Beispiele für die Verwendung der TEIL()-Funktion in Excel:

  • Beispiel 1: Wenn A1 den Text abc("def:ghi.jkl");xyz enthält, kannst du die Formel verwenden:

    =TEIL(A1; FINDEN("(" ; A1) + 2; FINDEN(")"; A1) - FINDEN("(" ; A1) - 3)

    Das Ergebnis wird def:ghi.jkl sein.

  • Beispiel 2: Für einen Text wie 123("abc");456 wird das Ergebnis abc sein.

Diese Formeln eignen sich hervorragend, um Texte aus Zellen zu extrahieren, insbesondere wenn du mit dynamischen Daten arbeitest.


Tipps für Profis

  • Verwende die LÄNGE()-Funktion, um die Länge der Strings zu überprüfen, bevor du sie bearbeitest. Das kann dir helfen, Fehler zu vermeiden.

  • Kombiniere mehrere Funktionen, um komplexere Strings zu verarbeiten, z.B. WENN(), SVERWEIS() oder VERKETTEN(), um die Extraktion weiter zu verfeinern.

  • Nutze VBA, wenn du regelmäßig mit großen Datenmengen arbeitest. Damit kannst du automatisierte Lösungen erstellen, die dir viel Zeit sparen.


FAQ: Häufige Fragen

1. Wie extrahiere ich mehrere Teile aus einem String? Um mehrere Teile aus einem String zu extrahieren, kannst du die TEIL()-Funktion mehrmals in verschiedenen Zellen verwenden oder eine benutzerdefinierte VBA-Funktion schreiben.

2. Kann ich die TEIL()-Funktion auch für andere Textformate verwenden? Ja, die TEIL()-Funktion kann für verschiedene Textformate verwendet werden, solange du die Start- und Endpositionen korrekt angibst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige