Ihre Beispiele sind in Konflikt miteinander, ob die gewünschte Zeichenfolge mit [LIT:
oder beginnt [Lit:
. Ich habe davon ausgegangen, dass Großbuchstaben [LIT:
.
In LibreOffice (und vermutlich anderen Excel-Entsprechungen, obwohl ich keine Ahnung von Apple Pages oder Google Docs habe), FIND()
können Sie mit der Funktion eine Teilzeichenfolge innerhalb eines Textfelds suchen. Wenn jedoch die Teilzeichenfolge nicht gefunden wird, wird eine Fehlermeldung ausgegeben Verwenden Sie IFERROR()
auch.
Ich werde zunächst das einfache Beispiel betrachten, bei dem jedes [LIT:
Feld immer am Ende der Zeichenfolge steht ]
und das letzte Zeichen ist. Wenn sich die Daten in der Spalte befinden A
, beginnen Sie mit A1
, und die folgende Formel macht, was Sie wollen:
=IFERROR(MID(A1,FIND("[LIT:",A1),LEN(A1)),"")
Wenn hier FIND()
ein Wert zurückgegeben wird, wird die Teilzeichenfolge von dieser Position bis zum Ende der Zeichenfolge zurückgegeben. andernfalls FIND()
und damit MID()
einen Fehler, und eine leere Zeichenkette zurückgegeben erzeugen.
In einem komplexeren Fall, in dem das [LIT:
Feld in der Mitte der Zeichenfolge vorkommen kann, muss die Formel erarbeitet werden:
=IFERROR(MID(A1,FIND("[LIT:",A1),FIND("]",MID(A1,FIND("[LIT:",A1),LEN(A1)))),"")
In diesem Fall wird der Teilstring [LIT:
bis zum Ende des Strings gefunden, die Anzahl der aus der ursprünglichen Zelle generierten Zeichen wird jedoch durch die Position ]
innerhalb des Teilstrings begrenzt. Jeder Fehler erzeugt wieder eine leere Zeichenfolge.
Unabhängig davon, welche Formel Sie verwenden, kopieren Sie die Zelle, in der sie sich befindet, und fügen Sie sie in den Rest der Spalte ein. Wenn Sie entweder [LIT:
oder behandeln müssen [Lit:
, ersetzen Sie FIND("[LIT:",A1)
durch SEARCH("\[L[Ii][Tt]:",A1)
: Während bei der FIND()
Suche nach einem wörtlichen, von der Groß- und Kleinschreibung abhängigen Treffer SEARCH()
die Übereinstimmung von regulären Ausdrücken verwendet wird.
Wenn Sie den [LIT:
Teilstring aus der ursprünglichen Spalte entfernen müssen, fügen Sie A
das extrahierte [LIT:
Feld in die Spalte ein C
und fügen Sie Folgendes ein B1
:
=SUBSTITUTE(A1,C1,"",1)
Jetzt kopieren Sie den Rest der Spalte B
und verstecken Sie die Spalte A
. Natürlich können beliebige Spalten und Startzeilen verwendet werden. Für meine Beispiele habe ich benachbarte Spalten ohne Kopfzeilen verwendet.
Beachten Sie, dass =SUBSTITUTE()
keine Fehler generiert werden, so dass keine Verwendung erforderlich ist IFERROR()
.