Hur kan jag koppla upp för att returnera flera värden i en cell i Excel?
Normalt, i Excel, när du använder VLOOKUP-funktionen, om det finns flera värden som matchar kriterierna, kan du bara få den första. Men ibland vill du returnera alla motsvarande värden som uppfyller kriterierna i en cell enligt följande skärmdump, hur kan du lösa det?
- Vlookup för att returnera alla matchande värden i en cell
- Vlookup för att returnera alla matchande värden utan dubbletter till en cell
Vlookup för att returnera flera värden i en cell med användardefinierad funktion
- Vlookup för att returnera alla matchande värden i en cell
- Vlookup för att returnera alla matchande värden utan dubbletter till en cell
Vlookup för att returnera flera värden till en cell med en användbar funktion
Vlookup för att returnera flera värden till en cell med TEXTJOIN-funktionen (Excel 2019 och Office 365)
Om du har den högre versionen av Excel som Excel 2019 och Office 365 finns det en ny funktion - TEXTGÅ MED, med den här kraftfulla funktionen kan du snabbt söka efter och returnera alla matchande värden i en cell.
Vlookup för att returnera alla matchande värden i en cell
Använd nedanstående formel i en tom cell där du vill placera resultatet och tryck sedan på Ctrl + Skift + Enter tangenter tillsammans för att få det första resultatet och dra sedan fyllningshandtaget ner till cellen du vill använda den här formeln, så får du alla motsvarande värden enligt nedanstående skärmdump:
Vlookup för att returnera alla matchande värden utan dubbletter till en cell
Om du vill returnera alla matchande värden baserat på uppslagsdata utan dubbletter kan formeln nedan hjälpa dig.
Kopiera och klistra in följande formel i en tom cell och tryck sedan på Ctrl + Skift + Enter nycklar tillsammans för att få det första resultatet och kopiera sedan den här formeln för att fylla andra celler, så får du alla motsvarande värden utan dulpikat som visas nedan:
Vlookup för att returnera flera värden i en cell med användardefinierad funktion
Ovanstående TEXTJOIN-funktion är endast tillgänglig för Excel 2019 och Office 365, om du har andra lägre Excel-versioner, bör du använda några koder för att slutföra den här uppgiften.
Vlookup för att returnera alla matchande värden i en cell
1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.
VBA-kod: Vlookup för att returnera flera värden i en cell
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. Spara och stäng sedan den här koden, gå tillbaka till kalkylbladet och ange den här formeln: =CONCATENATEIF($A$2:$A$11, E2, $C$2:$C$11, ", ") in i en specifik tom cell där du vill placera resultatet, dra sedan ned fyllningshandtaget för att få alla motsvarande värden i en cell som du vill, se skärmdump:
Vlookup för att returnera alla matchande värden utan dubbletter till en cell
För att ignorera dubbletterna i de returnerade matchande värdena gör du med koden nedan.
1. Håll ner Alt + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.
VBA-kod: Vlookup och returnera flera unika matchade värden i en cell
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. När du har infogat koden klickar du sedan på verktyg > Referensprojekt i det öppnade Microsoft Visual Basic för applikationer fönstret och sedan, i poppade ut Referenser - VBAProject dialogruta, kontrollera Microsoft Scripting Runtime alternativet i Tillgängliga referenser listruta, se skärmdumpar:
4. Klicka sedan OK för att stänga dialogrutan, spara och stäng kodfönstret, gå tillbaka till kalkylbladet och skriv in denna formel: =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:
Vlookup för att returnera flera värden till en cell med en användbar funktion
Om du har vår Kutools för Excel, med dess Avancerade kombinera rader kan du snabbt slå samman eller kombinera raderna baserat på samma värde och göra några beräkningar som du behöver.
När du har installerat Kutools för Excel, gör så här:
1. Välj det dataområde som du vill kombinera en kolumninformation baserat på en annan kolumn.
2. Klicka Kutools > Slå ihop och dela > Avancerade kombinera rader, se skärmdump:
3. I poppade ut Avancerade kombinera rader dialog ruta:
- Klicka på nyckelkolonnnamnet som ska kombineras baserat på och klicka sedan på Primärnyckel
- Klicka sedan på en annan kolumn som du vill kombinera dess data baserat på nyckelkolumnen och klicka Kombinera för att välja en separator för att separera de kombinerade uppgifterna.
4. Klicka sedan på OK -knappen och du får följande resultat:
Ladda ner och testa gratis Kutools för Excel nu!
Fler relativa artiklar:
- VLOOKUP-funktion med några grundläggande och avancerade exempel
- I Excel är VLOOKUP-funktionen en kraftfull funktion för de flesta Excel-användare, som används för att leta efter ett värde längst till vänster i dataområdet och returnera ett matchande värde i samma rad från en kolumn du angav. Denna handledning talar om hur man använder VLOOKUP-funktionen med några grundläggande och avancerade exempel i Excel.
- Returnera flera matchande värden baserat på ett eller flera kriterier
- Normalt är det enkelt för de flesta av oss att leta upp ett visst värde och returnera det matchande objektet med hjälp av VLOOKUP-funktionen. Men har du någonsin försökt att returnera flera matchande värden baserat på ett eller flera kriterier? I den här artikeln kommer jag att presentera några formler för att lösa denna komplexa uppgift i Excel.
- Vlookup och returnera flera värden vertikalt
- Normalt kan du använda Vlookup-funktionen för att få det första motsvarande värdet, men ibland vill du returnera alla matchande poster baserat på ett specifikt kriterium. Den här artikeln kommer jag att prata om hur man slår på och returnerar alla matchande värden vertikalt, horisontellt eller i en enda cell.
- Vlookup och returnera flera värden från rullgardinslistan
- I Excel, hur kan du söka efter och returnera flera motsvarande värden från en rullgardinslista, vilket innebär att när du väljer ett objekt från rullgardinsmenyn visas alla dess relativa värden på en gång. Den här artikeln presenterar jag lösningen steg för steg.
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!