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

Hoe kan ik meerdere opzoekwaarden retourneren in een door komma's gescheiden cel?

In Excel kunnen we de functie VERT.ZOEKEN toepassen om de eerste overeenkomende waarde uit een tabelcel te retourneren, maar soms moeten we alle overeenkomende waarden extraheren en vervolgens gescheiden door een specifiek scheidingsteken, zoals komma, streepje, enz ... in een enkele cel zoals in het volgende screenshot getoond. Hoe kunnen we meerdere opzoekwaarden ophalen en retourneren in één door komma's gescheiden cel in Excel?

doc retourneert meerdere waarden door komma's gescheiden 1

Retourneer meerdere opzoekwaarden in een door komma's gescheiden cel met door de gebruiker gedefinieerde functie

Retourneer meerdere opzoekwaarden in een door komma's gescheiden cel met Kutools voor Excel


Retourneer meerdere opzoekwaarden in een door komma's gescheiden cel met door de gebruiker gedefinieerde functie

Normaal gesproken is er voor ons geen directe manier om de meerdere overeenkomende waarden en gescheiden door komma's in één cel te extraheren en terug te sturen. Hier kunt u een door de gebruiker gedefinieerde functie maken om deze taak op te lossen, doe dit als volgt:

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.

VBA-code: retourneer meerdere opzoekwaarden in één door komma's gescheiden cel

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. Sla vervolgens deze code op en sluit het modulevenster, ga terug naar uw werkblad en voer deze formule in: = SingleCellExtract (D2, A2: B15,2, ",") in een lege cel waarvan u het resultaat wilt retourneren. En druk dan op Enter sleutel om het resultaat te krijgen, zie screenshot:

doc retourneert meerdere waarden door komma's gescheiden 2

Opmerking:: In de bovenstaande formule:

D2: geeft de celwaarden aan die u wilt opzoeken;

A2: B15: is het gegevensbereik waarvoor u de gegevens wilt ophalen;

2: het getal 2 is het kolomnummer waarvan de overeenkomende waarde moet worden geretourneerd;

,: de komma is het scheidingsteken dat u de meerdere waarden wilt scheiden.

U kunt ze naar wens aanpassen.


Retourneer meerdere opzoekwaarden in een door komma's gescheiden cel met Kutools voor Excel

Als je Kutools for Excel, zal deze taak niet langer een probleem zijn. De Geavanceerd Combineer rijen hulpprogramma kan u helpen alle relatieve waarden te combineren op basis van een kolom.

Kutools for Excel : met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen

Na het installeren van Kutools for Excelgaat u als volgt te werk:

1. Selecteer het gegevensbereik waarin u alle overeenkomende waarden wilt combineren op basis van een kolom.

2. Klikken Kutools > Samenvoegen en splitsen > Geavanceerd Combineer rijen, zie screenshot:

3. In de Combineer rijen op basis van kolom dialoogvenster, klik op de kolomnaam die u wilt combineren op basis van en klik vervolgens op Hoofdsleutel knop, zie screenshot:

doc retourneert meerdere waarden door komma's gescheiden 4

4. Klik vervolgens op een andere kolomnaam waarvan u de overeenkomende waarden wilt combineren, en klik op Combineren om een ​​scheidingsteken te kiezen om de gecombineerde waarden te scheiden, zie screenshot:

doc retourneert meerdere waarden door komma's gescheiden 5

5. Dan klikken OK knop, zijn alle corresponderende cellen met dezelfde waarde gecombineerd in één cel die gescheiden zijn door de komma, zie screenshots:

doc retourneert meerdere waarden door komma's gescheiden 6 2 doc retourneert meerdere waarden door komma's gescheiden 7

Klik voor meer details over dit hulpprogramma Geavanceerd combineren rijen ...

Download en gratis proef Kutools voor Excel nu!


Demo: retourneer meerdere opzoekwaarden in één door komma's gescheiden cel met Kutools voor Excel

Kutools for Excel: met meer dan 300 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 30 dagen. Download en probeer nu gratis!

De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (16)
Rated 5 uit 5 · 2 ratings
Deze opmerking is gemaakt door de moderator op de site
Terwijl ik de module ga plakken en opslaan, verschijnt er een pop-upbericht dat aanzienlijk verlies van functionaliteit compatibiliteitscontrole
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor dit bericht. Weet je hoe ik de twee afzonderlijke gehele getallen zou manipuleren die dit creëert. Laten we bijvoorbeeld zeggen dat de functie '=SingleCellExtract' nu (1 , 2) produceert. Is er een manier om er een cel naast te hebben die dat wel doet (1+.5 , 2+.5)?
Deze opmerking is gemaakt door de moderator op de site
Dit werkt, maar vertraagt ​​mijn Excel aanzienlijk! Tips om te versnellen?
Deze opmerking is gemaakt door de moderator op de site
Dit werkt gewoon niet. Ik kon het niet laten werken in mijn eigen toepassing, dus ik kopieerde en plakte de vba en de formule en er kwam elke keer een fout terug
Deze opmerking is gemaakt door de moderator op de site
bedankt, ten eerste is het me gelukt om dit te laten werken zonder de prestaties te vertragen. Ik gebruik waarden in plaats van tekst, dus mijn vraag is dat ik iedereen wil terugbrengen met minder dan 19 punten in een lijst. Kan het single cell Extract daarvoor werken of moet het een specifieke waarde zijn?
Deze opmerking is gemaakt door de moderator op de site
VB-opdracht breekt wanneer het bereik langer is dan 154 rijen (dwz: B154)....
Deze opmerking is gemaakt door de moderator op de site
Er verschijnt een fout als de arraygrootte wordt vergroot
Deze opmerking is gemaakt door de moderator op de site
Wanneer 2 criteria overeenkomen, retourneert u meerdere opzoekwaarden in één door komma's gescheiden cel
A2=B2 Resultaat uit bereik door "SingleCellExtract" - Alsjeblieft.......
Deze opmerking is gemaakt door de moderator op de site
Good Morning,

de VBA-code werkte perfect met mijn werkblad, vrij duidelijk en eenvoudig, maar ik probeerde een manier te vinden om Excel te vertellen dat alleen de unieke waarden worden geretourneerd. Zou dat mogelijk zijn met dezelfde code?
Deze opmerking is gemaakt door de moderator op de site
Hoi,

Ik wil een exacte validatiecode voor meerdere waarden, gescheiden door komma's en spatie voor elke waarde.

Voorbeeld:
Lucy, Tom, Nicol, Akash, Appel

Gelieve opnieuw te spelen als u suggesties heeft.
Rated 4.5 uit 5
Deze opmerking is gemaakt door de moderator op de site
Hallo Manikanta
Om de meerdere waarden te scheiden door een komma en een spatie, hoeft u alleen maar een spatie achter de komma toe te voegen, de formule als volgt te wijzigen: =SingleCellExtract(D2,A2:B15,2,", ").
Probeer het alsjeblieft, ik hoop dat het je kan helpen!
Deze opmerking is gemaakt door de moderator op de site
Hallo Skyyang,

Bedankt voor je herhaling!

Ik heb het al op dezelfde manier geprobeerd, maar in de celwaarde is de laatste extra komma (,) hieronder het voorbeeld.

Lucy, Tom, Nicol, Akash, Appel,

Dit werkt niet voor het Json-bestand, dus ik wil waarden gescheiden door komma's en spatie zoals hieronder.

Lucy, Tom, Nicol, Akash, Appel

Dank je!
Deze opmerking is gemaakt door de moderator op de site
Hallo, Manikanta
In dit geval kunt u de onderstaande door de gebruiker gedefinieerde functie toepassen:

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


Gebruik na het plakken van de code deze formule: =MultipleValues($A$2:$A$15,D2,$B$2:$B$15,", ")

Probeer het alsjeblieft, ik hoop dat dit je kan helpen!
Als je nog een ander probleem hebt, kun je hier reageren.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-return-multiple-matching-1.png
Deze opmerking is gemaakt door de moderator op de site
Hallo Skyyang,

Dit werkt nu, bedankt voor je snelle reactie.

Het is weer erg nuttig voor mij. Bedankt voor je hulp.

Met vriendelijke groet,
Manikanta.
Rated 5 uit 5
Deze opmerking is gemaakt door de moderator op de site
Er hoeft geen sojaprogramma te zijn om de functie van de abajo in de devolverme esto te kunnen gebruiken

S-01-08-0017->Micro Paal 1R, Zwart, RVS -Uiteinde,->4;S-01-08-0057->Micro Paal 2R, Zwart, RVS -Uiteinde,->2

ik devuelva los valores in verschillende lijnen.
S-01-08-0017->Micro Paal 1R, Zwart, RVS -Uiteinde,->4
S-01-08-0057->Micro Paal 2R, Zwart, RVS -Uiteinde,->2

De functies zijn:
Functie SingleCellExtract (LookupValue als string, LookupRange als bereik, ColumnNumber als integer, Char als string)
'Bijwerken door' Extendoffice
Dim ik zo lang
Dim xRet als tekenreeks
Voor I = 1 Naar LookupRange.Columns(1).Cells.Count
Als LookupRange.Cells(I, 1) = LookupValue Then
Als xRet = "" Dan
xRet = LookupRange.Cells(I, ColumnNumber) & Char
Anders
xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
End If
End If
Volgende
SingleCellExtract = Links(xRet, Len(xRet) - 1)
End Function
Deze opmerking is gemaakt door de moderator op de site
Hallo, Yery,
Bedoelde u een cel op te splitsen in meerdere rijen op basis van de puntkomma?
Als dat het geval is, kan de volgende VBA-code u helpen:
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

Probeer het alsjeblieft, ik hoop dat het je kan helpen!
Er zijn nog geen reacties geplaatst

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL