Clever-Excel-Forum

Normale Version: Text zwischen zwei Zeichen extrahieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Guten Tag,
ich bin kompletter Anfänger und verzweifle gerade an einer Formel. Und zwar würde ich gerne den letzten Stichpunkt extrahieren (mit punkt • aber ohne <"br">). Text: • 2-stufiges Filtersystem für eine ideale Wasserqualität<"br"> • läuft ohne Strom<"br"> • einfache Installation<"br">

*Anführungszeichen in <"br"> wegdenken, ging nicht anders aufgrund von HTML_Code  33 
Wäre super wenn mir jemand helfen kann  19

liebe grüße
Hallo VincentVanExcel,

in deinem Text ist kein Strichpunkt und kein ")".
Was genau ist dein Text und was genau willst Du ausgegeben bekommen?

Gruß,
Lutz
In Zelle A1 steht: 
• 2-stufiges Filtersystem für eine ideale Wasserqualität<"br"> • läuft ohne Strom<"br"> • einfache Installation<"br">

In Zelle B2 hätte ich gerne nur "• einfache Installation" stehen.

Tut mir leid wenn es zu unverständlich war  Confused
Hi,

falls dein Excel das schon kennt:
PHP-Code:
=TEXTVOR(TEXTNACH(A1;"<br> ";-1);"<br>"

Beachte dabei, dass bei den br mal ein Leerzeichen steht und mal nicht.


Falls dein Excel TEXTVOR und TEXTNACH noch nicht kennt, musst du mit FINDEN und LINKS und RECHTS arbeiten und diese geschickt verschachteln.
Hallo

man kann das ganze auch mit einem Makro lösen.  Dann kannst du jeden beliebigen Suchtext selbst eingeben, ohne <"br"> zu suchen!
Das Demo Makro wurde für Spalte A mit Daten, und Spalte C für das Ergebniss geschrieben.  Du kannst es auf jede beliebige Spalte ändern.

mfg Gast 123


Code:
Sub Bezeichnung_ausfiltern()
Dim AC As Range, lz1 As Long
    'LastCell in Spalte A ermitteln
    lz1 = Cells(rwos.Count, 1).End(xlUp).Row
    'Auswertung Spalte C löschen
    Range("C2:C  " & lz1).ClearContents
   
    'Schleife für alle Zeilen zu prüfen
    For Each AC In Range("A2:A" & lz1)
        If InStr(AC, "einfache Installation") Then
           'Ergebniss 2 Spalten nach rechts notieren
           AC.Offset(0, 2) = "einfache InstallationI "
        End If
    Next AC
End Sub

Naschtrag   starten kannst du es über einen Button.
Hallo, 19 

Alternativ als UDF: 21 

Code:
Option Explicit
Public Function fncTrennBR(ByVal rngCell As Range) As Variant
    fncTrennBR = Trim(Split(rngCell.Value, "<br>")(UBound(Split(rngCell.Value, "<br>")) - 1))
End Function

Als Formel in B1 dann:

Code:
=fncTrennBR(A1)
@Gast123 man kann sich auch von hinten ins Knie bohren. Dein Makro macht doch nichts anderes als die nach unten gezogene Formel
PHP-Code:
=WENN(ISTFEHLER(FINDEN("einfache Installation";A2);"";"einfache InstallationI "
Ich habe hier auch mal deine Tippfehler übernommen. 05

Ich glaube nicht, dass diese Lösung gesucht ist. 21
Hi,

in Excelversionen ab 2013 geht das auch mit XMLFILTERN:

PHP-Code:
=XMLFILTERN("<x><y>"&WECHSELN(A1;"<br>";"</y><y>")&"</y></x>";"//x/y["&ANZAHL2(XMLFILTERN("<x><y>"&WECHSELN(A1;"<br>";"</y><y>")&"</y></x>";"//y"))-1&"]"


oder mit INDEX:

PHP-Code:
=INDEX(XMLFILTERN("<x><y>"&WECHSELN(A1;"<br>";"</y><y>")&"</y></x>";"//y");ANZAHL2(XMLFILTERN("<x><y>"&WECHSELN(A1;"<br>";"</y><y>")&"</y></x>";"//y"))-1
Das Problem ist, dass die ich eine ziemlich lange liste habe und der Inhalt mit den Stichpunkten immer unterschiedlich lang ist. Das bedeutet ich brauche eine Formel die mir immer den letzten Stichpunkt extrahiert auch wenn er sich von der Länge in anderen Spalten verändert.  Undecided
Hi,

und was passt da bei den (meisten) Lösungen nicht?
Seiten: 1 2