Wie extrahiere ich alle Teilübereinstimmungen in Excel?
Wenn Sie alle Übereinstimmungen, die ein bestimmtes Schlüsselwort enthalten, aus einer Spalte extrahieren und sie in einer Spalte oder in einer durch ein Trennzeichen getrennten Zelle auflisten möchten, wie im folgenden Screenshot gezeigt, wie könnten Sie diese Aufgabe in Excel lösen?
Extrahieren Sie alle teilweisen Übereinstimmungen vertikal mit der Formel
Extrahieren Sie alle Teilübereinstimmungen in eine einzelne Zelle mit benutzerdefinierter Funktion
Extrahieren Sie alle teilweisen Übereinstimmungen vertikal mit der Formel
Um alle Übereinstimmungen vertikal in einer Spalte basierend auf einem Teiltext zu extrahieren, kann Ihnen die folgende Array-Formel einen Gefallen tun:
Step1: Bitte kopieren Sie die folgende Formel und fügen Sie sie in eine leere Zelle ein, in der Sie das Ergebnis einfügen möchten:
Note: In der obigen Formel A2: A14 können die Zellen das Schlüsselwort enthalten, von dem Sie Übereinstimmungen zurückgeben möchten, C2 enthält das Schlüsselwort, E1 ist die Zelle über der Formel.
Step2: Dann drücken Strg + Umschalt + Enter gleichzeitig drücken, um das erste Ergebnis zu erhalten, und ziehen Sie dann den Ausfüllgriff nach unten, um alle Übereinstimmungen zu erhalten, bis der Fehlerwert angezeigt wird. Löschen Sie zuletzt die Fehlerwerte, siehe Screenshot:
Extrahieren Sie alle Teilübereinstimmungen in eine einzelne Zelle mit benutzerdefinierter Funktion
Wenn Sie alle Übereinstimmungen in eine einzelne Zelle extrahieren und durch ein bestimmtes Trennzeichen trennen müssen, gibt es möglicherweise keine Formel, die dies lösen kann. Hier müssen Sie die folgende benutzerdefinierte Funktion anwenden:
Step1: Drücken Sie Alt + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.
Step2: In dem Microsoft Visual Basic für Applikationen Klicken Sie im Fenster Insert > Modul, kopieren Sie dann den folgenden Code in das Modul.
VBA-Code: Extrahieren Sie alle Teilübereinstimmungen in eine einzelne Zelle
Function ExtractPartMatch(rngInput As Range, rngSource As Range, Optional sDelimiter As String)
'Updateby ExtendOffice
Dim rng As Range
If sDelimiter = "" Then sDelimiter = ", "
For Each rng In rngSource
If InStr(1, rng.Value, rngInput.Value, vbTextCompare) > 0 Then ExtractPartMatch = ExtractPartMatch & sDelimiter & rng.Value
Next
If Len(ExtractPartMatch) > 0 Then ExtractPartMatch = Mid(ExtractPartMatch, 2, Len(ExtractPartMatch))
End Function
Step3: Nachdem Sie den Code eingefügt haben, gehen Sie bitte zurück zu dem Arbeitsblatt, in dem Sie das Ergebnis finden möchten, und geben Sie dann diese Formel ein: =ExtractPartMatch(C2,$A$2:$A$14), und drücken Sie dann Enter Taste, um das Ergebnis wie im folgenden Screenshot zu erhalten:
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!