Direkt zum Inhalt

Wie kann ich mehrere entsprechende Werte in Excel anzeigen und verketten?

Wie wir alle wissen, ist die Vlookup Die Funktion in Excel kann uns helfen, einen Wert zu suchen und die entsprechenden Daten in einer anderen Spalte zurückzugeben. Im Allgemeinen kann sie jedoch nur dann den ersten relativen Wert erhalten, wenn mehrere übereinstimmende Daten vorhanden sind. In diesem Artikel werde ich darüber sprechen, wie mehrere entsprechende Werte in nur einer Zelle oder einer vertikalen Liste angezeigt und verkettet werden.

Suchen Sie und stimmen Sie mehrere übereinstimmende Werte vertikal mit der Formel ab

Suchen und verketten Sie mehrere übereinstimmende Werte in einer Zelle mit der benutzerdefinierten Funktion

Mit Kutools for Excel mehrere übereinstimmende Werte in einer Zelle anzeigen und verketten


Angenommen, ich habe den folgenden Datenbereich, um alle entsprechenden Werte basierend auf einem bestimmten Wert vertikal zu erhalten, wie im folgenden Screenshot gezeigt, können Sie eine Array-Formel anwenden.

doc vlookup verketten 1

1. Geben Sie diese Formel ein: =IF(COUNTIF($A$1:$A$16,$D$2)>=ROWS($1:1),INDEX($B$1:$B$16,SMALL(IF($A$1:$A$16=$D$2,ROW($1:$16)),ROW(1:1))),"") in eine leere Zelle, in die Sie das Ergebnis einfügen möchten, z. B. E2, und drücken Sie dann Strg + Umschalt + Enter Tasten zusammen, um die relative Wertebasis für ein bestimmtes Kriterium zu erhalten, siehe Screenshot:

doc vlookup verketten 2

Note: In der obigen Formel:

A1: A16 ist der Spaltenbereich, der den spezifischen Wert enthält, nach dem Sie suchen möchten;

D2 Gibt den spezifischen Wert an, den Sie anzeigen möchten.

B1: B16 ist der Spaltenbereich, aus dem Sie die entsprechenden Daten zurückgeben möchten;

$ 1: $ 16 Gibt die Zeilenreferenz innerhalb des Bereichs an.

2. Wählen Sie dann Zelle E2 aus und ziehen Sie den Füllpunkt nach unten zu den Zellen, bis Sie leere Zellen erhalten. Alle übereinstimmenden Werte werden in der Spalte wie folgt aufgelistet:

doc vlookup verketten 3


Anstatt die relativen Werte vertikal abzurufen, möchten Sie manchmal die übereinstimmenden Werte in einer Zelle zusammenfassen und sie mit einem bestimmten Trennzeichen verknüpfen. In diesem Fall kann Ihnen die folgende benutzerdefinierte Funktion einen Gefallen tun.

1. Halten Sie die 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: Mehrere übereinstimmende Werte in einer Zelle anzeigen und verketten

Function CusVlookup(lookupval, lookuprange As Range, indexcol As Long)
'updateby Extendoffice
Dim x As Range
Dim result As String
result = ""
For Each x In lookuprange
    If x = lookupval Then
        result = result & " " & x.Offset(0, indexcol - 1)
    End If
Next x
CusVlookup = result
End Function

3. Speichern und schließen Sie diesen Code, kehren Sie zum Arbeitsblatt zurück und geben Sie die folgende Formel ein: = cusvlookup (D2, A1: B16,2) in eine leere Zelle, in die Sie das Ergebnis einfügen möchten, und drücken Sie Enter Schlüssel, alle entsprechenden Werte basierend auf bestimmten Daten wurden in eine Zelle mit Leerzeichen zurückgegeben, siehe Screenshot:

doc vlookup verketten 4

Note: In der obigen Formel: D2 gibt die Zellenwerte an, nach denen Sie suchen möchten. A1: B16 ist der Datenbereich, in dem Sie die Daten abrufen möchten, die Nummer 2 Ist die Spaltennummer, von der der übereinstimmende Wert zurückgegeben werden soll, können Sie diese Verweise nach Bedarf ändern.


Wenn Sie Kutools for ExcelMit seinen Erweiterte Zeilen kombinieren Mit dieser Funktion können Sie diesen Auftrag schnell und einfach abschließen. Mit dieser Funktion können Sie alle übereinstimmenden Werte mit einem bestimmten Trennzeichen kombinieren, das auf denselben Daten in einer anderen Spalte basiert.

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, für den Sie die entsprechenden Werte basierend auf den spezifischen Daten erhalten möchten.

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

3. In dem Erweiterte Zeilen 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 vlookup verketten 6

4. Klicken Sie dann auf einen anderen Spaltennamen, für den Sie die übereinstimmenden Werte zurückgeben möchten, und klicken Sie auf Kombinieren Um ein Trennzeichen zum Trennen der kombinierten Werte auszuwählen, siehe Screenshot:

doc vlookup verketten 7

5. Und dann klick Ok Schaltfläche, alle entsprechenden Werte, die auf denselben Werten basieren, wurden mit einem bestimmten Trennzeichen kombiniert, siehe Screenshots:

doc vlookup verketten 8 2 doc vlookup verketten 9

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


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!

Beste Office-Produktivitätstools

🤖 Kutools KI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Erstellen Sie benutzerdefinierte Formeln  |  Analysieren Sie Daten und erstellen Sie Diagramme  |  Rufen Sie Kutools-Funktionen auf...
Beliebte Funktionen: Suchen, markieren oder identifizieren Sie Duplikate   |  Leere Zeilen löschen   |  Kombinieren Sie Spalten oder Zellen, ohne Daten zu verlieren   |   Runde ohne Formel ...
Super-Lookup: VLookup mit mehreren Kriterien    VLookup mit mehreren Werten  |   VLookup über mehrere Blätter hinweg   |   Unscharfe Suche ....
Erweiterte Dropdown-Liste: Erstellen Sie schnell eine Dropdown-Liste   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Fügen Sie eine bestimmte Anzahl von Spalten hinzu  |  Spalten verschieben  |  Schalten Sie den Sichtbarkeitsstatus ausgeblendeter Spalten um  |  Vergleichen Sie Bereiche und Spalten ...
Ausgewählte Funktionen: Rasterfokus   |  Designansicht   |   Große Formelleiste    Arbeitsmappen- und Blattmanager   |  Ressourcen (Autotext)   |  Datumsauswahl   |  Arbeitsblätter kombinieren   |  Zellen verschlüsseln/entschlüsseln    Senden Sie E-Mails nach Liste   |  Superfilter   |   Spezialfilter (Filter fett/kursiv/durchgestrichen...) ...
Top 15 Toolsets12 Text Tools (Text hinzufügen, Zeichen entfernen, ...)   |   50+ Chart Typen (Gantt-Diagramm, ...)   |   40+ Praktisch Formeln (Berechnen Sie das Alter basierend auf dem Geburtstag, ...)   |   19 Einfügen Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Umwandlung (Conversion) Tools (Zahlen zu Wörtern, Currency Conversion, ...)   |   7 Zusammenführen & Teilen Tools (Erweiterte Zeilen kombinieren, Zellen teilen, ...)   |   ... und mehr

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 ...

Beschreibung


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!
Comments (16)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Is there any way to get the unique "name" for "class1"
This comment was minimized by the moderator on the site
Hello, sym-john,
Maybe the below article can solve your problem, please view it:
https://www.extendoffice.com/documents/excel/3381-excel-extract-unique-values-with-criteria.html
This comment was minimized by the moderator on the site
This is working great for me - is there anyway to change it that it checks if the cell contains rather than a complete match? Basically I have a list of tasks where:
Column A: Dependencies (eg 10003 10004 10008)
Column B: Task Reference (eg 10001)
Column C: Dependent Tasks (the column for the formula result) - where it would lookup the task reference to see which rows contain it in Column A, and then list the Task Reference of those tasks.

E.g:

Row | Column A | Column B | Column C
1 | | 10001 | 10002 10003
2 | 10001 | 10002 | 10003
3 | 10001 10002 | 10003 |
This comment was minimized by the moderator on the site
you would want to use the Instr() function which will check for something in a string of text in a cell. You can also use Left() and Right() if you are looking for the starting or ending details.
This comment was minimized by the moderator on the site
The cusVlookup worked great for me. Another way to have a different separator is to wrap in two substitute functions. The first (from inside to out) replaces the first space with no space, the second replaces all other spaces with a " / " in mine. Could use "," if you want commas.
=SUBSTITUTE(SUBSTITUTE(cusVlookup(D2,Table1,2)," ","",1)," "," / ")

Also, if your lookup value isn't the first column, you can use 0 or negative numbers to go to column to the left.
=SUBSTITUTE(SUBSTITUTE(cusVlookup(D2,Table1,-1)," ","",1)," "," / ")
This comment was minimized by the moderator on the site
Hi, jeff,
Thanks for your sharing, you must be a warmhearted man.
This comment was minimized by the moderator on the site
I have to say, I have been trying to get a formula for combining multiple values and returning them to a single cell for 2 days now. This "How To" has saved me!! Thank you SO much! I would never have gotten it without your Module!
I do have 2 questions though. I have the deliminator as a comma instead of a space and because of that it starts out with a comma. Is there a way to prevent the start comma but keep the rest?
My second question is; When I use the fill handle it changes the range values as well as the cell value I want to look up. I want it to continue to change the cell number I want to look up but keep the same range values. How can I make this happen?

Thank you so much for your help!!
This comment was minimized by the moderator on the site
Is there a way to delete the duplicate values in the concatenate?
This comment was minimized by the moderator on the site
Hello, Jacob,
May be the following article can help you to solve your problem.
https://www.extendoffice.com/documents/excel/3381-excel-extract-unique-values-with-criteria.html

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Is there a way to list the duplicate values only once, using the vba code and formula above? I am not sure where to put the countif>1 statement in the formula bar, or in the vba itself. Please help
This comment was minimized by the moderator on the site
you can add two extra condition to skip blank cells and to skip duplicates:For i = 1 To CriteriaRange.Count
If CriteriaRange.Cells(i).Value = Condition Then
If ConcatenateRange.Cells(i).Value <> "" Then 'SKIP BANKS
If InStr(xResult, ConcatenateRange.Cells(i).Value) = 0 Then 'SKIP IF FOUND DUPLICATE
xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
End If
End If
End If
Next i
This comment was minimized by the moderator on the site
This is amazing but i am looking for something else, i have a table with RollNo StudentName sub1, sub2, sub3 ... Total Result, When I enter Rollnumber it should give a result like "SName Sub1 64, sub2 78,... Total 389, Result pass", is it possible
This comment was minimized by the moderator on the site
Loved the function for Excel 2013 but amended it slightly to change the separating character to ";" instead of " " and then remove the prefixed ";" from the concantenated values Results matching values in my example would have ;result01 or ;result01;result02 . Added the extra If Left(xResult, 1) = ";" to remove any extra ";" at the beginning of the string if it is the 1st character. I'm sure there is a neater way of doing it but it worked for me. :) Function CusVlookup(pValue As String, pWorkRng As Range, pIndex As Long) Dim rng As Range Dim xResult As String xResult = "" For Each rng In pWorkRng If rng = pValue Then xResult = xResult & ";" & rng.Offset(0, pIndex - 1) If Left(xResult, 1) = ";" Then xResult = MID(xResult,2,255) End If End If Next CusVlookup = xResult End Function
This comment was minimized by the moderator on the site
Make if condition for result if empty.

Function CusVlookup(lookupval, lookuprange As Range, indexcol As Long)
'updateby Extendoffice 20151118
Dim x As Range
Dim result As String
result = ""
For Each x In lookuprange
If x = lookupval Then
If Not result = "" Then
result = result & " " & x.Offset(0, indexcol - 1)
Else
result = x.Offset(0, indexcol - 1)
End If
Next x
CusVlookup = result
End Function
This comment was minimized by the moderator on the site
When using the cusvlookup is there a way to add the last name as well with a comma in between that might appear in Column C
This comment was minimized by the moderator on the site
How to get the result. Please help. data data1 result a 1 a1 b 2 a2 c b1 b2 c1 c2
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations