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

Forumthread: Text an beliebiger Stelle auslesen

Text an beliebiger Stelle auslesen
Lemmi
Hallo zusammen,
ich möchte in einer TextZelle Teil-Informationen in eine neue Zelle übertragen!
Zur Zeit habe ich nachfolgende Information:
ABCEFG (XXX) SSSDFER
oder
ABCDFRSED (XXX) SDERFRRF in einer Zelle
In die neue Zelle soll der Inhalt der Klammer ausgelesen werden, die Klammer ist aber immer an verschiedenen Stellen in dem Text angeordnet!
Wie kann ich das lösen?
Gruß
Lemmi
Anzeige
Mit der Funktion Teil
12.09.2009 11:48:45
Backowe
Hi,
 AB
1ABCEFG (XXX) SSSDFERXXX
2ABCDFRSED (XXX) SDERFRRFXXX

Formeln der Tabelle
ZelleFormel
B1=TEIL(A1;FINDEN("(";A1)+1;FINDEN(")";A1)-FINDEN("(";A1)-1)
B2=TEIL(A2;FINDEN("(";A2)+1;FINDEN(")";A2)-FINDEN("(";A2)-1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Jürgen
Anzeige
AW: Mit der Split-Funktion
12.09.2009 11:55:17
Gerd
Hallo Lemmi,
da gibt es verschiedene Möglichkeiten.
Sub Teil() Range("a1") = "ABCEFG (XXX) SSSDFER" Range("a2") = "ABCDFRSED (XXX) SDERFRRF" Range("b1") = Split(Split(Range("a1"), "(")(1), ")")(0) Range("b2") = Split(Split(Range("a2"), "(")(1), ")")(0) End Sub Gruß Gerd
AW: Mit der Split-Funktion
12.09.2009 12:07:21
Lemmi
Hallo,
das passt ja prima! Vielen Dank!
Wenn ich den noch eine Frage stellen darf, würde ich noch wissen wollen wie ich den Text vor der Klammer und hinter der Klammer herauslösen kann?
Gruß
Lemmi
Anzeige
=TEIL(A1;1;FINDEN("(";A1)-1)
12.09.2009 12:21:24
WF
und
=TEIL(A1;FINDEN(")";A1)+1;99)
Salut WF
AW: =TEIL(A1;1;FINDEN("(";A1)-1)
12.09.2009 13:03:39
Lemmi
Wunderbar!
... und noch eine Frage!
...ich hoffe danach habe ich alle Abfragen!
Also wenn ich einen Text oder auch ein Wort suche z. B. "alles o.k." und möchte diesen Text auch in der Zelle ausgeben. Ist kein Inhalt gefunden worden soll auch die Zelle leer bleiben!
Gruß
Lemmi
Anzeige
mit FEHLER-Abfrage
12.09.2009 13:14:51
WF
Hi,
=WENN(ISTFEHLER(FINDEN("alles o.k.";A1));"";"alles o.k.")
Salut WF
AW: ohne Fehler
12.09.2009 13:38:31
Daniel
HI
das geht auch ohne Fehler:
=Wenn(ZählenWenn(A1;"*alles o.k*");"alles o.k.";"")
Gruß, Daniel
unterscheidet aber nicht GROSS/klein-Schreibung
12.09.2009 13:45:54
WF
.
Anzeige
AW: unterscheidet aber nicht GROSS/klein-Schreibung
12.09.2009 14:06:34
Lemmi
alles bestens!
ich habe doch noch eine Frage ..... versprochen ein alles letztes mal!
ich möchte nun =Wenn(ZählenWenn(A1;"*alles o.k*");"alles o.k.";"") etwas erweitern!
"alles o.K." soll in einer Zelle z. B A5 eingetragen werden!
Ich habe dann die Formel nachfolgend verändert =Wenn(ZählenWenn(A1;"*$A$5*");"$A$5";""). Funktioniert leider nicht !
... oder mache ich einen anderen Fehler!
.. habt Ihr eine Lösung?
Gruß
Lemmi
Anzeige
AW: Fehler in Formel
12.09.2009 14:16:15
Daniel
Hi
bei Excel Gut sollte eigentlich der Unterschied zwischen einem Zellbezug und direktem Text innerhalb der Formel bekannt sein!
Gruß, Daniel
AW: unterscheidet aber nicht GROSS/klein-Schreibun
12.09.2009 14:19:41
Daniel
Hi
das ist, zumindest in meinem Arbeitumfeld, in den meisten Fällen auch gut so.
sonst müsste ich die Formel ständig um 2x GROSS oder KLEIN erweitern.
Gruß, Daniel
Anzeige
AW: unterscheidet aber nicht GROSS/klein-Schreibun
12.09.2009 14:22:10
Lemmi
....
wie würde das aussehen? (2x GROSS oder KLEIN)
Gruß
Lemmi
AW: unterscheidet aber nicht GROSS/klein-Schreibun
12.09.2009 14:47:03
Daniel
HI
naja wenn ich wirklich Caseinsensitiv suchen will, muss ich sicherstellen, daß sowohl Suchbegriff als auch das Suchfeld entweder nur in Klein- oder Grossbuchstaben geschrieben ist.
Gruß, Daniel
AW: unterscheidet aber nicht GROSS/klein-Schreibun
12.09.2009 15:09:42
Lemmi
Hallo,
.. der Suchbegriff kann natürlich klein anfangen als auch groß beginnen!
Die Schreibweise kann ich leider nicht beeinflussen, weil die Information aus einer Datenbank herausgenommen werden!
Gibt es hierzu eine "kleine" Lösung ?
Gruß
Egbert
Anzeige
AW: unterscheidet aber nicht GROSS/klein-Schreibun
12.09.2009 15:14:30
Daniel
hi
die sind doch jetzt ausreichend beschrieben worden.
mit SUCHEN und ZÄHLENWENN spielt die Gross-Kleinschreibung keine Rolle (a=A)
mit FINDEN muss sie übereinstimmen, um einen Treffer zu erziehlen (a<>A)
du kannst dir ja jetzt raussuchen, was du verwenden willst.
Gruß, Daniel
Anzeige
als Alternative natürlich SUCHEN
12.09.2009 14:22:45
WF
.
noch eine...
12.09.2009 12:11:04
Tino
Hallo,
Kommt als Code in ein Modul
Function WertAusKlammer(rZelle As Range, TrennZeichen As String)
Dim Regex As Object, objMatch As Object
Dim i As Integer, sTest As String, Wert As String
Set Regex = CreateObject("Vbscript.Regexp")
With Regex
    .IgnoreCase = False
    .MultiLine = True
    .Pattern = "[\(]\w{1,}[\)]"
    .Global = True
     Set objMatch = .Execute(rZelle.Text)
End With

If objMatch.Count > 0 Then
    For i = 0 To objMatch.Count - 1
     sTest = Replace(objMatch(i), "(", "")
     sTest = Replace(sTest, ")", "")
     Wert = Wert & sTest & TrennZeichen
    Next i
 
    Wert = Left(Wert, Len(Wert) - 1)
    
    If IsNumeric(Wert) Then
     WertAusKlammer = Wert * 1
    Else
     WertAusKlammer = Wert
    End If
Else
     WertAusKlammer = ""
End If

End Function
In Excel kannst Du dies nun wie eine Formel verwenden.
Beispiel:
 AB
5ABCEFG  SSSD(xxxx)FERxxxx
6ABCEFG  SSSD(xxxx)FER (Hallo)xxxx;Hallo
7ABCEFG  SSSD(1234) FER ()1234

Formeln der Tabelle
ZelleFormel
B5=WertAusKlammer(A5;";")
B6=WertAusKlammer(A6;";")
B7=WertAusKlammer(A7;";")

Gruß Tino
Anzeige
AW: Rückfrage
12.09.2009 12:47:22
Gerd
Hallo Lemmi,
was verstehst Du unter "herauslösen"?
Lediglich in einer Zelle die Zeichenfolgen vor u. nach den Klammern sowie die Klammern entfernen?
Dann kannst Du bei meinem Code Range("b1")= Split......
durch Range("a1")= Split.... ersetzen.
Gruß Gerd
;

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

Text an beliebiger Stelle auslesen


Schritt-für-Schritt-Anleitung

Um in Excel einen bestimmten Text aus einer Zelle auszulesen, insbesondere wenn dieser Text in Klammern steht, kannst du die Funktion TEIL, FINDEN oder auch VBA verwenden. Hier sind die Schritte:

  1. Öffne deine Excel-Datei und gehe zu der Zelle, in der der Text steht, z. B. A1.
  2. Wenn dein Text beispielsweise ABCEFG (XXX) SSSDFER ist und du den Text in Klammern extrahieren möchtest, kannst du folgende Formel verwenden:
    =TEIL(A1; FINDEN("(" ; A1) + 1; FINDEN(")"; A1) - FINDEN("(" ; A1) - 1)
  3. Kopiere diese Formel in die Zelle B1. Diese Formel sucht den Text zwischen den Klammern und gibt ihn aus.

Wenn du VBA verwenden möchtest, kannst du das folgende Makro nutzen:

Sub Teil()
    Range("B1") = Split(Split(Range("A1"), "(")(1), ")")(0)
End Sub

Füge dies in ein Modul ein und führe das Makro aus, um den Text in Zelle B1 zu erhalten.


Häufige Fehler und Lösungen

  • Fehler: "#WERT!" oder falsche Ausgabe

    • Lösung: Überprüfe, ob die Klammern im Text korrekt platziert sind. Die Formel funktioniert nur, wenn die Klammern vorhanden sind.
  • Fehler: Die Formel gibt nur #NV zurück.

    • Lösung: Stelle sicher, dass der Text in der Zelle tatsächlich Klammern enthält. Du kannst auch die WENNFEHLER Funktion verwenden, um einen benutzerdefinierten Fehlertext anzugeben:
      =WENNFEHLER(TEIL(A1; FINDEN("(" ; A1) + 1; FINDEN(")"; A1) - FINDEN("(" ; A1) - 1); "Kein Text gefunden")

Alternative Methoden

Eine weitere Möglichkeit ist die Verwendung der SOUS-Funktion oder die Regex-Methode in VBA:

Function WertAusKlammer(rZelle As Range, TrennZeichen As String) As String
    Dim Regex As Object, objMatch As Object
    Set Regex = CreateObject("Vbscript.Regexp")
    With Regex
        .IgnoreCase = False
        .Pattern = "\((.*?)\)"
        .Global = True
        Set objMatch = .Execute(rZelle.Value)
    End With

    Dim Wert As String
    If objMatch.Count > 0 Then
        For i = 0 To objMatch.Count - 1
            Wert = Wert & objMatch(i).SubMatches(0) & TrennZeichen
        Next i
        WertAusKlammer = Left(Wert, Len(Wert) - 1)
    Else
        WertAusKlammer = ""
    End If
End Function

Du kannst diese Funktion in Excel wie eine normale Formel verwenden, um den Text in Klammern aus einer Zelle auszulesen.


Praktische Beispiele

Hier sind einige Beispiele, wie du den Text aus einer Zelle auslesen kannst:

  • Beispiel 1: Text mit einer Klammer

    • Eingabe: ABCEFG (XXX) SSSDFER
    • Ausgabe: XXX
  • Beispiel 2: Text mit mehreren Klammern

    • Eingabe: ABCEFG (XXX) SSSDFER (YYY)
    • Ausgabe: XXX;YYY (Wenn du die WertAusKlammer Funktion verwendest)
  • Beispiel 3: Text ohne Klammern

    • Eingabe: ABCEFG SSSDFER
    • Ausgabe: "" (Leer)

Tipps für Profis

  • Du kannst das Ergebnis der Textauslese-Funktion in einer weiteren Berechnung verwenden, z. B. um den Text in eine andere Zelle zu übertragen oder zu formatieren.
  • Wenn du häufig mit Texten in Klammern arbeitest, kann es sinnvoll sein, eine benutzerdefinierte Funktion zu erstellen, die dir die Arbeit erleichtert.
  • Achte darauf, dass die Excel-Version, die du verwendest, die benötigten Funktionen unterstützt. Die oben genannten Formeln funktionieren in Excel 2010 und später.

FAQ: Häufige Fragen

1. Wie kann ich den Text vor oder nach den Klammern auslesen? Du kannst die Funktion TEIL in Kombination mit FINDEN nutzen:

  • Vor der Klammer:
    =TEIL(A1;1;FINDEN("(" ; A1) - 1)
  • Nach der Klammer:
    =TEIL(A1;FINDEN(")"; A1) + 1; 99)

2. Wie kann ich mehrere Textteile aus einer Zelle auslesen? Verwende die benutzerdefinierte WertAusKlammer Funktion, um alle Textteile zwischen verschiedenen Klammern auszulesen.

3. Was mache ich, wenn der gesuchte Text nicht gefunden wird? Verwende die WENNFEHLER Funktion, um eine benutzerdefinierte Nachricht anzuzeigen, falls kein Text gefunden wird.

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