Note: The other languages of the website are Google-translated. Back to English

Wie kann ich mehrere Suchwerte in einer durch Kommas getrennten Zelle zurückgeben?

In Excel können wir die VLOOKUP-Funktion anwenden, um den ersten übereinstimmenden Wert aus einer Tabellenzelle zurückzugeben. Manchmal müssen wir jedoch alle übereinstimmenden Werte extrahieren und dann durch ein bestimmtes Trennzeichen wie Komma, Bindestrich usw. in ein einzelnes trennen Zelle wie im folgenden Screenshot gezeigt. Wie können wir in Excel mehrere Suchwerte in einer durch Kommas getrennten Zelle abrufen und zurückgeben?

doc gibt mehrere durch Kommas getrennte Werte zurück 1

Geben Sie mit der benutzerdefinierten Funktion mehrere Suchwerte in einer durch Kommas getrennten Zelle zurück

Geben Sie mit Kutools for Excel mehrere Suchwerte in einer durch Kommas getrennten Zelle zurück


Geben Sie mit der benutzerdefinierten Funktion mehrere Suchwerte in einer durch Kommas getrennten Zelle zurück

Normalerweise gibt es für uns keine direkte Möglichkeit, die mehreren übereinstimmenden Werte, die durch Komma getrennt sind, in eine Zelle zu extrahieren und zurückzugeben. Hier können Sie eine benutzerdefinierte Funktion erstellen, um diesen Job zu lösen. Gehen Sie dazu wie folgt vor:

1. Halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.

2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Feld ein Modul Fenster.

VBA-Code: Geben Sie mehrere Suchwerte in eine durch Kommas getrennte Zelle zurück

Function SingleCellExtract(LookupValue As String, LookupRange As Range, ColumnNumber As Integer, Char As String)
'Updateby Extendoffice
    Dim I As Long
    Dim xRet As String
    For I = 1 To LookupRange.Columns(1).Cells.Count
        If LookupRange.Cells(I, 1) = LookupValue Then
            If xRet = "" Then
                xRet = LookupRange.Cells(I, ColumnNumber) & Char
            Else
                xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
            End If
        End If
    Next
    SingleCellExtract = Left(xRet, Len(xRet) - 1)
End Function

3. Speichern Sie dann diesen Code und schließen Sie das Modulfenster, kehren Sie zu Ihrem Arbeitsblatt zurück und geben Sie die folgende Formel ein: = SingleCellExtract (D2, A2: B15,2, ",") in eine leere Zelle, in der Sie das Ergebnis zurückgeben möchten. Und dann drücken Weiter Schlüssel, um das Ergebnis zu erhalten, siehe Screenshot:

doc gibt mehrere durch Kommas getrennte Werte zurück 2

Hinweis: In der obigen Formel:

D2: gibt die Zellenwerte an, nach denen Sie suchen möchten;

A2: B15: ist der Datenbereich, in den Sie die Daten abrufen möchten;

2: Die Nummer 2 ist die Spaltennummer, deren übereinstimmender Wert zurückgegeben werden soll.

,: Das Komma ist das Trennzeichen, durch das Sie die mehreren Werte trennen möchten.

Sie können sie nach Ihren Wünschen ändern.


Geben Sie mit Kutools for Excel mehrere Suchwerte in einer durch Kommas getrennten Zelle zurück

Wenn Sie Kutools for Excelwird diese Aufgabe kein Problem mehr sein. Das Erweiterte Zeilen kombinieren Das Dienstprogramm kann Ihnen dabei helfen, alle relativen Werte basierend auf einer Spalte zu kombinieren.

Kutools for Excel : Mit mehr als 300 praktischen Excel-Add-Ins können Sie diese innerhalb von 30 Tagen ohne Einschränkung testen

Nach der Installation Kutools for ExcelBitte gehen Sie wie folgt vor:

1. Wählen Sie den Datenbereich aus, in dem Sie alle übereinstimmenden Werte basierend auf einer Spalte kombinieren möchten.

2. Klicken Sie Kutoolen > Zusammenführen & Teilen > Erweiterte Zeilen kombinieren, siehe Screenshot:

3. In dem Zeilen basierend auf Spalte kombinieren Klicken Sie im Dialogfeld auf den Spaltennamen, auf dessen Grundlage Sie kombinieren möchten, und klicken Sie dann auf Primärschlüssel Schaltfläche, siehe Screenshot:

doc gibt mehrere durch Kommas getrennte Werte zurück 4

4. Klicken Sie dann auf einen anderen Spaltennamen, dessen übereinstimmende Werte kombiniert werden sollen, und klicken Sie auf Kombinieren Um ein Trennzeichen zum Trennen der kombinierten Werte auszuwählen, siehe Screenshot:

doc gibt mehrere durch Kommas getrennte Werte zurück 5

5. Dann klick OK Schaltfläche, alle entsprechenden Zellen mit dem gleichen Wert wurden zu einer Zelle zusammengefasst, die durch Komma getrennt sind, siehe Screenshots:

doc gibt mehrere durch Kommas getrennte Werte zurück 6 2 doc gibt mehrere durch Kommas getrennte Werte zurück 7

Klicken Sie hier, um weitere Informationen zu diesem Dienstprogramm für erweiterte Kombinationszeilen zu erhalten.

Laden Sie Kutools for Excel jetzt herunter und testen Sie es kostenlos!


Demo: Geben Sie mit Kutools for Excel mehrere Suchwerte in einer durch Kommas getrennten Zelle zurück

Kutools for Excel: Mit mehr als 300 praktischen Excel-Add-Ins können Sie es innerhalb von 30 Tagen ohne Einschränkung testen. Jetzt herunterladen und kostenlos testen!

Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

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!
officetab unten
Kommentare (16)
Bewertet 5 aus 5 · 2 Bewertungen
Dieser Kommentar wurde vom Moderator auf der Website minimiert
WÄHREND ich dabei bin, das Modul einzufügen und zu speichern, erscheint eine Popup-Meldung, dass ein erheblicher Verlust der Kompatibilitätsprüfung der Funktionalität vorliegt
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Danke für diesen Beitrag. Wissen Sie, wie ich die beiden separaten Ganzzahlen manipulieren würde, die dadurch erstellt werden? Nehmen wir zum Beispiel an, dass die Funktion „=SingleCellExtract“ jetzt (1 , 2) erzeugt. Gibt es eine Möglichkeit, eine Zelle daneben zu haben, die (1+.5 , 2+.5) tut?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Das funktioniert, verlangsamt aber mein Excel erheblich! Irgendwelche Tipps zur Beschleunigung?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Das geht einfach nicht. Ich konnte es nicht in meiner eigenen Anwendung zum Laufen bringen, also habe ich die vba und die Formel kopiert/eingefügt und es wurde jedes Mal ein Fehler zurückgegeben
Dieser Kommentar wurde vom Moderator auf der Website minimiert
danke, erstens habe ich es geschafft, dies ohne Leistungseinbußen zum Laufen zu bringen. Ich verwende eher Werte als Text, also ist meine Frage, ob ich alle mit weniger als sagen wir 19 Punkten in einer Liste zurückbringen möchte. Kann der Einzelzellenextrakt dafür funktionieren oder muss es ein bestimmter Wert sein?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Der VB-Befehl bricht ab, wenn der Bereich länger als 154 Zeilen ist (z. B. :B154)....
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Beim Erhöhen der Array-Größe wird ein Fehler angezeigt
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wenn 2 Kriterien übereinstimmen, werden mehrere Suchwerte in einer durch Kommas getrennten Zelle zurückgegeben
A2=B2 Dann Ergebnis aus Bereich nach "SingleCellExtract" - Bitte.......
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Good Morning,

Der VBA-Code funktionierte perfekt mit meinem Arbeitsblatt, ziemlich klar und einfach, aber ich versuchte, einen Weg zu finden, Excel anzuweisen, nur die eindeutigen Werte zurückzugeben. Wäre das mit demselben Code möglich?
Bewertet 5 aus 5
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,

Ich möchte einen genauen Validierungscode für mehrere Werte, getrennt durch Komma und Leerzeichen für jeden Wert.

Beispiel:
Lucy, Tom, Nicol, Akash, Apple

Bitte wiederholen Sie, wenn Sie Vorschläge haben.
Bewertet 4.5 aus 5
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Manikanta
Um die mehreren Werte durch ein Komma und ein Leerzeichen zu trennen, müssen Sie nur ein Leerzeichen hinter dem Komma hinzufügen und die Formel wie folgt ändern: =SingleCellExtract(D2,A2:B15,2,", ").
Bitte versuchen Sie es, ich hoffe, es kann Ihnen helfen!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Skyyang,

Danke für deine Antwort!

Ich habe es bereits auf die gleiche Weise versucht, aber im Zellenwert ist das letzte zusätzliche Komma (,) unten das Beispiel.

Lucy, Tom, Nicol, Akash, Apfel,

Dies funktioniert nicht für die Json-Datei, daher möchte ich Werte wie unten durch Komma und Leerzeichen getrennt.

Lucy, Tom, Nicol, Akash, Apple

Vielen Dank!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Manikanta
In diesem Fall können Sie die folgende benutzerdefinierte Funktion anwenden:

Function MultipleValues(work_range As Range, criteria As Variant, merge_range As Range, Optional Separator As String = ",") As Variant
Dim outcome As String
On Error Resume Next
If work_range.Count <> merge_range.Count Then
MultipleValues = CVErr(xlErrRef)
Exit Function
End If
For i = 1 To work_range.Count
If work_range.Cells(i).Value = criteria Then
outcome = outcome & Separator & merge_range.Cells(i).Value
End If
Next i
If outcome <> "" Then
outcome = VBA.Mid(outcome, VBA.Len(Separator) + 1)
End If
MultipleValues = outcome
Exit Function
End Function


Nachdem Sie den Code eingefügt haben, verwenden Sie bitte diese Formel: =MultipleValues($A$2:$A$15,D2,$B$2:$B$15,", ")

Bitte versuchen Sie es, ich hoffe, das kann Ihnen helfen!
Wenn Sie noch ein anderes Problem haben, kommentieren Sie es bitte hier.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-return-multiple-matching-1.png
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Skyyang,

Das funktioniert jetzt, vielen Dank für Ihre schnelle Antwort.

Es ist sehr nützlich für mich noch einmal Vielen Dank für Ihre Hilfe.

Grüße,
Manikanta.
Bewertet 5 aus 5
Dieser Kommentar wurde vom Moderator auf der Website minimiert
No soy programador pero necesito ayuda para que la función de abajo en lugar de devolverme esto

S-01-08-0017->Micro Post 1R, Schwarz, Edelstahl -Ende,->4;S-01-08-0057->Micro Post 2R, Schwarz, Edelstahl -Ende,->2

me devuelva los valores en líneas diferentes.
S-01-08-0017->Micro Post 1R, Schwarz, Edelstahl -Ende,->4
S-01-08-0057->Micro Post 2R, Schwarz, Edelstahl -Ende,->2

La función es:
Funktion SingleCellExtract(LookupValue als String, LookupRange als Range, ColumnNumber als Integer, Char als String)
'Updateby Extendoffice
Dimme ich so lange
Dim xRet als Zeichenfolge
Für I = 1 To LookupRange.Columns(1).Cells.Count
Wenn LookupRange.Cells(I, 1) = LookupValue Then
Wenn xRet = "" Dann
xRet = LookupRange.Cells(I, ColumnNumber) & Char
sonst
xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
End If
End If
Weiter
SingleCellExtract = Left(xRet, Len(xRet) - 1)
End Function
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Yery,
Wollten Sie eine Zelle basierend auf dem Semikolon in mehrere Zeilen aufteilen?
Wenn ja, kann Ihnen der folgende VBA-Code helfen:
Sub SplitAll()
    Dim xRg As Range
    Dim xRg1 As Range
    Dim xCell As Range
    Dim I As Long
    Dim xAddress As String
    Dim xUpdate As Boolean
    Dim xRet As Variant
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select a range", "Kutools for Excel", xAddress, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
        If xRg.Columns.Count > 1 Then
            MsgBox "You can't select multiple columns", , "Kutools for Excel"
            Exit Sub
            End If
            Set xRg1 = Application.InputBox("Split to (single cell):", "Kutools for Excel", , , , , , 8)
            Set xRg1 = xRg1.Range("A1")
            If xRg1 Is Nothing Then Exit Sub
                xUpdate = Application.ScreenUpdating
                Application.ScreenUpdating = False
                For Each xCell In xRg
                    xRet = Split(xCell.Value, ";")
                    xRg1.Worksheet.Range(xRg1.Offset(I, 0), xRg1.Offset(I + UBound(xRet, 1), 0)) = Application.WorksheetFunction.Transpose(xRet)
                    I = I + UBound(xRet, 1) + 1
                Next
                Application.ScreenUpdating = xUpdate
            End Sub

Bitte versuchen Sie es, ich hoffe, es kann Ihnen helfen!
Es sind noch keine Kommentare vorhanden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL