
Hier ist ein Auszug aus meiner Tabelle:
Bitte beachten: Dies ist nur ein vereinfachtes Beispiel. Meine vollständige Tabelle hat viele Spalten und über 10.000 Zeilen.
Meine Tabelle enthält häufig Zeilen mit Text in eckigen Klammern, die mit LIT:
(wie im Bild) beginnen.
Ist es möglich, diesen Text automatisch zu extrahieren und in einer separaten Spalte der Tabelle einzufügen?
(So würde es im obigen Beispiel beispielsweise [Lit: Next of hotel]
in eine separate Spalte gehen, aber dennoch in derselben Zeile bleiben).
Hinweis: Wie im Beispiel gezeigt, hat nicht jede Zeile ein [Lit:]-Beispiel.
Ich verwende derzeit Apple Pages. Aber ich würde gerne Google Docs oder Open Office oder ein anderes Paket ausprobieren, wenn es das kann.
Antwort1
Ihre Beispiele widersprechen sich hinsichtlich der Frage, ob die gewünschte Zeichenfolge mit [LIT:
oder beginnt [Lit:
. Ich bin davon ausgegangen, dass das großgeschriebene [LIT:
.
In LibreOffice (und vermutlich auch anderen Excel-Äquivalenten, obwohl ich keine Ahnung von Apple Pages oder Google Docs habe) können Sie mit der Funktion eine Teilzeichenfolge in einem Textfeld suchen, aber sie gibt einen Fehler zurück, wenn die Teilzeichenfolge nicht gefunden wird, sodass Sie ebenfalls FIND()
verwenden müssen .IFERROR()
Ich werde zunächst das einfache Beispiel betrachten, bei dem jedes [LIT:
Feld immer am Ende der Zeichenfolge steht, wobei ]
als letztes Zeichen gilt. Wenn die Daten in der Spalte stehen A
und bei beginnen A1
, dann führt die folgende Formel das gewünschte Ergebnis aus:
=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()
wird MID()
ein Fehler generiert und eine leere Zeichenfolge zurückgegeben.
Im komplexeren Fall, in dem das [LIT:
Feld in der Mitte der Zeichenfolge stehen kann, muss die Formel erweitert werden:
=IFERROR(MID(A1,FIND("[LIT:",A1),FIND("]",MID(A1,FIND("[LIT:",A1),LEN(A1)))),"")
In diesem Fall wird die Teilzeichenfolge [LIT:
bis zum Ende der Zeichenfolge gefunden, aber die Anzahl der aus der Originalzelle generierten Zeichen ist durch die Position ]
innerhalb der Teilzeichenfolge begrenzt; auch hier führt jeder Fehler zu einer leeren Zeichenfolge.
[LIT:
Unabhängig davon, welche Formel Sie verwenden, kopieren Sie die Zelle, in der sie sich befindet, und fügen sie in den Rest der Spalte ein. Wenn Sie entweder oder verarbeiten müssen [Lit:
, ersetzen Sie es FIND("[LIT:",A1)
durch SEARCH("\[L[Ii][Tt]:",A1)
: während FIND()
nach einer wörtlichen, Groß-/Kleinschreibung beachtenden Übereinstimmung sucht und SEARCH()
reguläre Ausdrücke verwendet.
[LIT:
Wenn Sie die Teilzeichenfolge aus der ursprünglichen Spalte entfernen müssen A
, fügen Sie das extrahierte [LIT:
Feld in die Spalte ein C
und fügen Sie es in Folgendes ein B1
:
=SUBSTITUTE(A1,C1,"",1)
Kopieren Sie dies nun in den Rest der Spalte B
und blenden Sie die Spalte aus A
. Natürlich können beliebige Spalten und Startzeilen verwendet werden. Für meine Beispiele habe ich nebeneinanderliegende Spalten ohne Kopfzeilen verwendet.
Beachten Sie, dass =SUBSTITUTE()
keine Fehler generiert werden und die Verwendung daher nicht erforderlich ist IFERROR()
.