Preskoči na glavno vsebino

Kako vlookup vrniti več vrednosti v eni celici v Excelu?

Običajno lahko v Excelu, če uporabljate funkcijo VLOOKUP, če obstaja več vrednosti, ki ustrezajo merilom, dobite samo prvo. Toda včasih želite vrniti vse ustrezne vrednosti, ki ustrezajo merilom, v eno celico, kot je prikazano na spodnji sliki zaslona, ​​kako bi to lahko rešili?

Vlookup za vrnitev več vrednosti v eno celico s funkcijo TEXTJOIN (Excel 2019 in Office 365)

Vlookup za vrnitev več vrednosti v eno celico z uporabniško določeno funkcijo

Vlookup za vrnitev več vrednosti v eno celico s koristno funkcijo


Vlookup za vrnitev več vrednosti v eno celico s funkcijo TEXTJOIN (Excel 2019 in Office 365)

Če imate višjo različico Excela, kot sta Excel 2019 in Office 365, obstaja nova funkcija - BESEDILOs to zmogljivo funkcijo lahko hitro najdete in vrnete vse ujemajoče se vrednosti v eno celico.

Vlookup za vrnitev vseh ujemajočih se vrednosti v eno celico

Prosimo, uporabite spodnjo formulo v prazno celico, kamor želite dati rezultat, nato pritisnite Ctrl + Shift + Enter tipke skupaj, da dobite prvi rezultat, in nato povlecite ročico za polnjenje navzdol do celice, v kateri želite uporabiti to formulo, in dobili boste vse ustrezne vrednosti, kot je prikazano na spodnji sliki zaslona:

=TEXTJOIN(",",TRUE,IF($A$2:$A$11=E2,$C$2:$C$11,""))

Opomba: V zgornji formuli A2: A11 iskalno območje vsebuje podatke iskanja, E2 je iskalna vrednost, C2: C11 je obseg podatkov, iz katerega želite vrniti ujemajoče se vrednosti, ","je ločilo za ločevanje več zapisov.

Vlookup za vrnitev vseh ujemajočih se vrednosti brez dvojnikov v eno celico

Če želite vrniti vse ujemajoče se vrednosti, ki temeljijo na iskalnih podatkih brez podvojenj, vam lahko pomaga spodnja formula.

Kopirajte in prilepite naslednjo formulo v prazno celico, nato pritisnite Ctrl + Shift + Enter tipke skupaj, da dobite prvi rezultat, nato pa kopirajte to formulo, da zapolnite druge celice, in dobili boste vse ustrezne vrednosti brez dulpicate, kot je prikazano spodaj:

=TEXTJOIN(",", TRUE, IF(IFERROR(MATCH($C$2:$C$11, IF(E2=$A$2:$A$11, $C$2:$C$11, ""), 0),"")=MATCH(ROW($C$2:$C$11), ROW($C$2:$C$11)), $C$2:$C$11, ""))

Opomba: V zgornji formuli A2: A11 iskalno območje vsebuje podatke iskanja, E2 je iskalna vrednost, C2: C11 je obseg podatkov, iz katerega želite vrniti ujemajoče se vrednosti, ","je ločilo za ločevanje več zapisov.

Vlookup za vrnitev več vrednosti v eno celico z uporabniško določeno funkcijo

Zgornja funkcija TEXTJOIN je na voljo samo za Excel 2019 in Office 365, če imate druge nižje različice Excela, uporabite nekaj kod za dokončanje te naloge.

Vlookup za vrnitev vseh ujemajočih se vrednosti v eno celico

1. Držite tipko ALT + F11 in odpre tipko Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Okno modula.

Koda VBA: Vlookup za vrnitev več vrednosti v eno celico

Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
'Updateby Extendoffice
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
    ConcatenateIf = CVErr(xlErrRef)
    Exit Function
End If
For i = 1 To CriteriaRange.Count
    If CriteriaRange.Cells(i).Value = Condition Then
        xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
    End If
Next i
If xResult <> "" Then
    xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function

3. Nato shranite in zaprite to kodo, se vrnite na delovni list in vnesite to formulo: =CONCATENATEIF($A$2:$A$11, E2, $C$2:$C$11, ", ") v določeno prazno celico, kamor želite umestiti rezultat, nato povlecite ročico za polnjenje navzdol, da dobite vse ustrezne vrednosti v eni želeni celici, glejte posnetek zaslona:

Opomba: V zgornji formuli A2: A11 iskalno območje vsebuje podatke iskanja, E2 je iskalna vrednost, C2: C11 je obseg podatkov, iz katerega želite vrniti ujemajoče se vrednosti, ","je ločilo za ločevanje več zapisov.

Vlookup za vrnitev vseh ujemajočih se vrednosti brez dvojnikov v eno celico

Če želite prezreti dvojnike v vrnjenih ujemajočih se vrednostih, upoštevajte spodnjo kodo.

1. Držite tipko Alt + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Okno modula.

Koda VBA: Vlookup in vrni več unikatnih ujemajočih se vrednosti v eno celico

Function MultipleLookupNoRept(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer)
'Updateby Extendoffice
    Dim xDic As New Dictionary
    Dim xRows As Long
    Dim xStr As String
    Dim i As Long
    On Error Resume Next
    xRows = LookupRange.Rows.Count
    For i = 1 To xRows
        If LookupRange.Columns(1).Cells(i).Value = Lookupvalue Then
            xDic.Add LookupRange.Columns(ColumnNumber).Cells(i).Value, ""
        End If
    Next
    xStr = ""
    MultipleLookupNoRept = xStr
    If xDic.Count > 0 Then
        For i = 0 To xDic.Count - 1
            xStr = xStr & xDic.Keys(i) & ","
        Next
        MultipleLookupNoRept = Left(xStr, Len(xStr) - 1)
    End If
End Function

3. Po vstavitvi kode kliknite Orodja > Reference v odprtem Microsoft Visual Basic za aplikacije okno in nato v izpuščenem Reference - VBAProject pogovorno okno, preverite Izvajanje Microsoftovih skriptov možnost v Razpoložljive reference seznam, glejte posnetke zaslona:

4. Nato kliknite OK da zaprete pogovorno okno, shranite in zaprite okno s kodo, se vrnite na delovni list in vnesite to formulo: =MultipleLookupNoRept(E2,$A$2:$C$11,3) into a blank cell where you want to output the result, and then drag the fill hanlde down to get all matching values, see screenshot:

Opomba: V zgornji formuli A2: C11 je obseg podatkov, ki ga želite uporabiti, E2 je iskalna vrednost, število 3 je številka stolpca, ki vsebuje vrnjene vrednosti.

Vlookup za vrnitev več vrednosti v eno celico s koristno funkcijo

 Če imate našega Kutools za Excel, Z njegovim Napredne kombinirane vrstice funkcijo, lahko hitro združite ali združite vrstice na podlagi iste vrednosti in opravite nekaj izračunov, kot jih potrebujete.

Opomba:Če želite uporabiti to Napredne kombinirane vrstice, najprej bi morali prenesti Kutools za Excelin nato funkcijo hitro in enostavno uporabite.

Po namestitvi Kutools za Excel, naredite naslednje:

1. Izberite obseg podatkov, za katerega želite združiti podatke enega stolpca na podlagi drugega stolpca.

2. Kliknite Kutools > Spoji in razdeli > Napredne kombinirane vrstice, glej posnetek zaslona:

3. V izskočil Napredne kombinirane vrstice pogovorno okno:

  • Kliknite ime stolpca ključa, na katerem želite združiti, in nato kliknite Primarni ključ
  • Nato kliknite drug stolpec, za katerega želite združiti njegove podatke glede na ključni stolpec, in kliknite Združite izbrati en ločilnik za ločevanje združenih podatkov.

4. Nato kliknite OK in dobili boste naslednje rezultate:

Prenesite in brezplačno preizkusite Kutools za Excel zdaj!


Več relativnih člankov:

  • Funkcija VLOOKUP z nekaj osnovnimi in naprednimi primeri
  • V Excelu je funkcija VLOOKUP zmogljiva funkcija za večino uporabnikov Excela, ki se uporablja za iskanje vrednosti v skrajnem levem delu obsega podatkov in vrnitev ustrezne vrednosti v isti vrstici iz stolpca, ki ste ga določili. Ta vadnica govori o uporabi funkcije VLOOKUP z nekaterimi osnovnimi in naprednimi primeri v Excelu.
  • Vrne več ujemajočih se vrednosti na podlagi enega ali več meril
  • Običajno je iskanje določene vrednosti in vrnitev ustreznega predmeta za večino od nas enostavno s funkcijo VLOOKUP. Ali ste že kdaj poskusili vrniti več ujemajočih se vrednosti na podlagi enega ali več meril? V tem članku bom predstavil nekaj formul za reševanje te zapletene naloge v Excelu.
  • Iskanje in vrnitev več vrednosti navpično
  • Običajno lahko s funkcijo Vlookup dobite prvo ustrezno vrednost, včasih pa želite vrniti vse ujemajoče se zapise na podlagi določenega merila. V tem članku bom govoril o tem, kako vlookup in vrnem vse ujemajoče se vrednosti navpično, vodoravno ali v eno samo celico.
  • Iskanje in vrnitev več vrednosti s spustnega seznama
  • Kako lahko v Excelu preverite in vrnete več ustreznih vrednosti s spustnega seznama, kar pomeni, da ko izberete en element s spustnega seznama, se naenkrat prikažejo vse njegove relativne vrednosti. V tem članku bom predstavil rešitev korak za korakom.

Najboljša pisarniška orodja za produktivnost

🤖 Kutools AI Aide: Revolucionirajte analizo podatkov na podlagi: Inteligentna izvedba   |  Ustvari kodo  |  Ustvarite formule po meri  |  Analizirajte podatke in ustvarite grafikone  |  Prikličite funkcije Kutools...
Priljubljene funkcije: Poiščite, označite ali identificirajte dvojnike   |  Izbriši prazne vrstice   |  Združite stolpce ali celice brez izgube podatkov   |   Krog brez formule ...
Super iskanje: Več kriterijev VLookup    Multiple Value VLookup  |   VLookup na več listih   |   Nejasno iskanje ....
Napredni spustni seznam: Hitro ustvarite spustni seznam   |  Odvisni spustni seznam   |  Večkrat izberite spustni seznam ....
Upravitelj stolpcev: Dodajte določeno število stolpcev  |  Premakni stolpce  |  Preklop stanja vidnosti skritih stolpcev  |  Primerjaj obsege in stolpce ...
Predstavljene funkcije: Mrežni fokus   |  Pogled oblikovanja   |   Velika vrstica formule    Upravitelj delovnih zvezkov in listov   |  Knjižnica virov (Samodejno besedilo)   |  Izbirnik datuma   |  Združite delovne liste   |  Šifriranje/dešifriranje celic    Pošljite e-pošto po seznamu   |  Super filter   |   Poseben filter (filter krepko/ležeče/prečrtano ...) ...
15 najboljših kompletov orodij12 Besedilo Orodja (dodajanje besedila, Odstrani znake,...)   |   50 + Graf Vrste (Gantt Chart,...)   |   40+ Praktično Formule (Izračunajte starost glede na rojstni dan,...)   |   19 vstavljanje Orodja (Vstavite kodo QR, Vstavi sliko s poti,...)   |   12 Pretvorba Orodja (Številke v besede, Pretvorba valut,...)   |   7 Spoji in razdeli Orodja (Napredne kombinirane vrstice, Razdeljene celice,...)   |   ... in več

Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa.  Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...

Opis


Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
Comments (43)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have created a problem.
"I" have combined a "Textjoin" end "Vlookup" to return multiple values in to one single cell.
My problem is that the formula have to have an exact value to look for and I want it to lookup an "almost" match or Partial match.

Example: I have made a schedule how we ate going to work and a D1 is working from 07:30-16:00. And to lookup D1 is not the problem, the problem is that my boss sometimes puts other stuff togeather with the D1... Like "D1 +" or "D1 meeting".
Since my formula only lookup "D1" it misses for example the "D1 +".

My formula (that I have gotten from the web) =TEXTJOIN(" och ";SANT;OM($B$3:$B$15=$C$22:$F$22;$A$3:$A$15;""))It´s in swedish so "SANT" is "TRUE" and "OM" is "IF".

How can I make the formula lookup all the cells that have some form of "D1" in it and return all those to the same cell?
No matter if it says "D1 +" or "D1 meeting" or whatever.
The reson I want this, is because the boss always leave "D1" but can add other text behind the "D1"... and just because of that, my boss messes up my formula.
This comment was minimized by the moderator on the site
Hi!
This is a great VBA-Code which could help me a lot.But when I start the Function MultipleLookupNoRept Excel crashs...I´ve got a Dataset with about 6.000 Rows (Excel 2013).... is this too much for the VBA Function?

Thanks!
This comment was minimized by the moderator on the site
Hello Mr.XXL,Sorry to hear that. The row limit for Excel 2013 is 1048576. Therefore, maybe the VBA code is the reason for the crash.
Anyway, I would love to offer you another VBA code for Vlookup To Return All Matching Values Without Duplicates Into One Cell. Please use the VBA code below:
Option Explicit

Function Lookup_concat(Search_string As String, _
Search_in_col As Range, Return_val_col As Range)

Dim i As Long
Dim temp() As Variant
Dim result As String
ReDim temp(0)

For i = 1 To Search_in_col.Count
If Search_in_col.Cells(i, 1) = Search_string Then
temp(UBound(temp)) = Return_val_col.Cells(i, 1).Value
ReDim Preserve temp(UBound(temp) + 1)
End If
Next

If temp(0) <> "" Then
ReDim Preserve temp(UBound(temp) - 1)
Unique temp
For i = LBound(temp) To UBound(temp)
result = result & " " & temp(i)
Next i
Lookup_concat = Trim(result)
Else
Lookup_concat = ""
End If

End Function

Function Unique(tempArray As Variant)

Dim coll As New Collection
Dim Value As Variant

On Error Resume Next
For Each Value In tempArray
If Len(Value) > 0 Then coll.Add Value, CStr(Value)
Next Value
On Error GoTo 0

ReDim tempArray(0)

For Each Value In coll
tempArray(UBound(tempArray)) = Value
ReDim Preserve tempArray(UBound(tempArray) + 1)
Next Value

End Function

After you insert this VBA code in the Module, please type the formula =Lookup_concat(E2,$A$2:$A$14,$C$2:$C$14) into a blank cell where you want to output the result, and then drag the fill hanlde down to get all matching values. Please see the file I uploaded in this comment. Hope it solves your problem. 
Sincerely,Mandy

This comment was minimized by the moderator on the site
Hi, Thanks so much this worked!I used it to pull dates, that populated in the serial number format (<span style="letter-spacing: 0.2px; color: inherit; font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: inherit;">Changing the format to short date format using =TEXT(A2,”mm/dd/yy”) OR =DATEVALUE(A2) are not working. Do you have any solutions?</span>
This comment was minimized by the moderator on the site
Thank you for the explanations, however the function 'MultipleLookupNoRept' does not work on my file, could you tell me if an error exists.
This comment was minimized by the moderator on the site
Hi, Hasnae,Please check if you miss the third step -  check Microsoft Scripting Runtime option in the Available References list box.

This comment was minimized by the moderator on the site
Thank you so much for the code. Is there a way I can use the code to look up multiple values from multiple sheets? I tried to combine your function with IFERROR function but it doesn't seem to work.
This comment was minimized by the moderator on the site
Can this be modified to place the sum of those values? Instead of (400 400 400 400 400 400), can it sum them to show (2400)?
This comment was minimized by the moderator on the site
How with HLookUp function?
This comment was minimized by the moderator on the site
thanks for the code. I have modified it to allow you to optionally specify your own separator, Default is " ", if you specify the separator as"#cr" it will insert a CR/LF so the values will be on a separate line in the cell. It only applies the separator if there are multiple values

Function MYVLOOKUP(pValue As String, pWorkRng As Range, pIndex As Long, Optional ByVal pSep As Variant)

' ### Returns multiple values from a table into 1 cell ###

' pValue is the key value to lookup

' WorkRng is the Table you want to look up

' pIndex is the column # for the values to be returned from the pWorkRng

' pSep (optional) is the separator to be used. if omitted then default is a space (it doesn't apply the separator for the 1st entry)

' if the separtor = "#cr" it will separate the values on different line in the cell

Dim rng As Range

Dim sSep As String

Dim xResult As String

Dim Item1 As Boolean

Item1 = True



If IsMissing(pSep) = True Then

sSep = vbCr

Else

If pSep = "#cr" Then

sSep = vbCrLf

Else

sSep = pSep

End If

End If



xResult = ""

For Each rng In pWorkRng

If rng = pValue Then

If Item1 Then

xResult = xResult & rng.Offset(0, pIndex - 1)

Item1 = False

Else

xResult = xResult & sSep & rng.Offset(0, pIndex - 1)

End If

End If

Next

MYVLOOKUP = xResult

End Function
This comment was minimized by the moderator on the site
Thank you for this, the line breaks are what i needed to top this formula off! Question, is there a way to modify the code so that two values are compared? For example, similar to what we see with index and match, can i look for Product and Quantity columns, and based on those parameters it outputs results from the Region Column?
This comment was minimized by the moderator on the site
Thanks a lot for this code, it is very helpful. Does anyone know away to sum the values in the cell to just have at total of them.
Cheers
This comment was minimized by the moderator on the site
Hello, James, to sum values based on the corresponding items, the following article may help you, please chek it:
https://www.extendoffice.com/documents/excel/1268-excel-combine-duplicate-rows-and-sum.html
This comment was minimized by the moderator on the site
I have a server, it has connected with multiple applications. I want to compare compare two column and get the related applications details for that server.

What is the command for that.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations