Excel-Formel: Langtext abgleichen -

Inhaltsverzeichnis

Generische Formel

=MATCH(1,EXACT(LEFT(A1,255),LEFT(rng,255))*EXACT(MID(A1,256,255),MID(rng,256,255)),0)

Zusammenfassung

Um Text mit mehr als 255 Zeichen mit der MATCH-Funktion abzugleichen, können Sie die Funktionen LEFT, MID und EXACT verwenden, um Text zu analysieren und zu vergleichen, wie unten erläutert. Im gezeigten Beispiel lautet die Formel in G5:

=MATCH(1,EXACT(LEFT(E5,255),LEFT(data,255))*EXACT(MID(E5,256,255),MID(data,256,255)),0)

Dabei sind Daten der benannte Bereich B5: B15.

Hinweis: Diese Formel führt einen Vergleich zwischen Groß- und Kleinschreibung durch.

Erläuterung

Die MATCH-Funktion ist auf 255 Zeichen für den Suchwert begrenzt. Wenn Sie versuchen, längeren Text zu verwenden, gibt MATCH einen # VALUE-Fehler zurück.

Um dieses Limit zu umgehen, können Sie die boolesche Logik und die Funktionen LEFT, MID und EXACT verwenden, um Text zu analysieren und zu vergleichen.

Die Zeichenfolge, mit der wir in Zelle E5 testen, besteht aus 373 Zeichen:

Lorem ipsum dolor amet hat einen Vogel auf den Listicle Trust Fund gesetzt, Einhorn-Vaporware-Fahrradrechte, von denen Sie wahrscheinlich noch nichts gehört haben. Forage Helvetica knusprige Semiotik tatsächlich Erbstück. Tumblr Poutine Einhorn Godard bemüht, bevor sie Narwal Meditation Kitsch Weste Fixie Twee buchstäblich Hoodie Retro ausverkauft. Kuriertasche Hölle des knusprigen grünen Safthandwerkers.

Im Kern ist dies nur eine MATCH-Formel, die so eingerichtet ist, dass im exakten Übereinstimmungsmodus nach 1 gesucht wird:

=MATCH(1,array,0)

Das Array in der obigen Formel enthält nur Einsen und Nullen, und Einsen stehen für übereinstimmenden Text. Dieses Array besteht aus dem folgenden Ausdruck:

EXACT(LEFT(E5,255),LEFT(data,255))*EXACT(MID(E5,256,255),MID(data,256,255))

Dieser Ausdruck selbst besteht aus zwei Teilen. Links haben wir:

EXACT(LEFT(E5,255),LEFT(data,255)) // compare first 255 chars

Hier extrahiert die LEFT-Funktion die ersten 255 Zeichen aus E5 und aus allen Zellen in den genannten Bereichsdaten (B5: B15). Da Daten 11 Textzeichenfolgen enthalten, generiert LEFT 11 Ergebnisse.

Die EXACT-Funktion vergleicht dann die einzelne Zeichenfolge von E5 mit allen 11 von LEFT zurückgegebenen Zeichenfolgen. EXACT gibt 11 Ergebnisse in einem Array wie dem folgenden zurück:

(FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE)

Rechts haben wir einen anderen Ausdruck:

EXACT(MID(E5,256,255),MID(data,256,255) // compare next 255 chars

Dies ist genau der gleiche Ansatz wie bei LEFT, aber hier verwenden wir die MID-Funktion, um die nächsten 255 Zeichen Text zu extrahieren. Die EXACT-Funktion gibt wieder 11 Ergebnisse zurück:

(TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE)

Wenn die beiden obigen Arrays miteinander multipliziert werden, erzwingt die mathematische Operation die TRUE FALSE-Werte in 1s und 0s. Nach den Regeln der Booleschen Arithmetik ergibt sich ein Array wie das folgende:

(0;0;0;0;0;0;0;0;0;1;0)

Dies wird direkt an MATCH als Lookup-Array zurückgegeben. Die Formel kann nun wie folgt aufgelöst werden:

=MATCH(1,(0;0;0;0;0;0;0;0;0;1;0),0)

Die MATCH-Funktion führt eine exakte Übereinstimmung durch und gibt ein Endergebnis von 10 zurück, das die zehnte Textzeichenfolge in B5: B15 darstellt.

Hinweis: Die im Beispiel gezeigte Textlänge wird mit der LEN-Funktion berechnet. Es wird nur als Referenz angezeigt.

Option ohne Berücksichtigung der Groß- und Kleinschreibung

Die EXACT-Funktion unterscheidet zwischen Groß- und Kleinschreibung, daher berücksichtigt die obige Formel die Groß- und Kleinschreibung.

Um eine Übereinstimmung mit Langtext ohne Berücksichtigung der Groß- und Kleinschreibung durchzuführen, verwenden Sie die Funktionen ISNUMBER und SEARCH wie folgt:

=MATCH(1,ISNUMBER(SEARCH(LEFT(E5,255),LEFT(data,255)))*ISNUMBER(SEARCH(MID(E5,256,255),MID(data,256,255))),0)

Die Gesamtstruktur dieser Formel ist identisch mit dem obigen Beispiel, aber die Funktion SEARCH wird anstelle von EXACT verwendet, um Text zu vergleichen (hier ausführlich erläutert).

Im Gegensatz zu EXACT unterstützt die SEARCH-Funktion auch Platzhalter.

Mit XMATCH

Die XMATCH-Funktion hat nicht die gleiche Beschränkung von 255 Zeichen wie MATCH. Um mit XMATCH eine ähnliche Übereinstimmung für Langtext durchzuführen, können Sie die viel einfachere Formel verwenden:

=XMATCH(E5,data)

Hinweis: XMATCH unterstützt Platzhalter, unterscheidet jedoch nicht zwischen Groß- und Kleinschreibung.

Interessante Beiträge...