Innehållsförteckning
När du arbetar med stora mängder data i Excel kan du ibland hamna i en situation där du behöver söka efter värden som förekommer flera gånger i datasetet. Du måste alltså se dessa data i en cell. I den här handledningen visar vi hur du använder VLOOKUP för flera värden i en cell i Excel.
Generellt sett använder vi inte direkt VLOOKUP Vi kommer att hitta flera värden i en cell som liknar VLOOKUP-funktionen. Vi hoppas att den här handledningen hjälper dig.
Ladda ner övningsboken
Vlookup Flera värden i en cell.xlsm2 enkla metoder för att Vlookup för flera värden i en cell
Nu ska vi visa dig två sätt att söka upp flera värden i en cell i Excel. Det första sättet är att använda Formler och den andra använder sig av VBA Vi kommer att titta på både upprepade och icke upprepade värden i den här artikeln. Du kan alltså välja den metod som passar bäst för ditt problem.
För att demonstrera detta problem använder vi följande dataset:
Här har vi några säljare Namn och deras försäljning Produkter Nu är vårt mål att hitta varje säljares säljande produkter.
1. Användning av formler för att Vlookup flera värden i en cell i Excel
TEXTJOIN funktionen kommer att vara vår första funktion för att implementera denna metod. TEXTJOIN funktionen kan du sammanfoga två eller flera strängar med varje värde separerat med ett avgränsare I huvudsak kombinerar vi olika funktioner med TEXTJOIN-funktionen för att genomföra vår formel.
TEXTJOIN funktionen är endast tillgänglig för Excel 2019 och Office 365.Den grundläggande syntaxen för TEXTJOIN-funktionen:
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
Här är vår avgränsare ett kommatecken ( ","
) för att separera värden i en cell.
1.1 TEXTJOIN- och IF-funktionerna
Den här formeln är ganska enkel att använda. Formeln letar upp värdena och infogar dem i en cell med en avgränsare, ett kommatecken. Men kom ihåg att formeln returnerar värdet med dubbletter.
Den grundläggande syntaxen:
=TEXTJOIN(", ", ",TRUE,IF(lookup_value=lookup_range,,finding_range,""))
📌 Steg
1. Skriv först följande formel i Cell F5 :
=TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
2. Tryck sedan på Ange.
3. Dra slutligen i Handtag för fyllning ikonen över området med celler F6:F7 .
I slutändan är vi framgångsrika med att använda VLOOKUP flera värden i en cell.
🔎 Uppdelning av formeln
Vi använder denna uppdelning endast för personen "John".
➤ IF(E5=B5:B13,C5:C13,"")
Denna funktion returnerar följande matris:
{"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
Slutligen, den TEXTJOIN funktionen kommer att ge följande resultat:
{Mobil, TV, Kylskåp, Mobil}
Läs mer: Excel VLOOKUP för att återge flera värden i en cell separerade med kommatecken
1.2 Funktionerna TEXTJOIN och MATCH (utan dubbletter)
Om du vill ha flera värden i en cell kan du använda den här formeln. Formeln är en kombination av TEXTJOIN och MATCH Denna formel är lite komplicerad att använda, men den ger säkert de önskade värdena.
📌 STEG
1. Skriv först följande formel i Cell F5 :
=TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")))
2. Tryck sedan på Ange.
3. Dra slutligen i Handtag för fyllning ikonen över området med celler F6:F7 .
I slutändan är vi framgångsrika med att använda VLOOKUP flera värden i en cell utan dubbla värden.
🔎 Uppdelning av formeln
Vi använder denna uppdelning endast för personen "John".
➤ RÄCK(C5:C13)
Den returnerar en matris av {5;6;7;8;9;10;11;12;13}
➤ MATCH(RAD(C5:C13), RAD(C5:C13))
Den återkommer: {1;2;3;4;5;6;7;8;9}
➤ IF(E5=B5:B13, C5:C13, "")
Den återkommer: {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ MATCH(C5:C13, IF(E5=B5:B13, C5:C13, "")
Den här funktionen returnerar: {8;8;7;9;7;7;7;8;7}
➤ IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")
Den återkommer: {1;1;"";4;"";6;"";1;""}
➤ IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")
Den återkommer: {"Mobile";"";"";"TV";"";"Fridge";"";"";""}
➤ TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")))
Det slutliga resultatet kommer att vara Mobiltelefon, TV, kylskåp .
Läs mer: Hur man utför VLOOKUP med flera rader i Excel (5 metoder)
1.3 Funktionerna TEXTJOIN och UNIQUE (utan dubbletter)
Nu har UNIK funktionen finns bara i Excel 365. Så om du använder Excel 365 kan du definitivt använda den här formeln. Den tidigare formeln är lite svår, men den här formeln underlättar sökningen av värden i en cell. Funktionen UNIQUE returnerar en lista med unika värden i en lista eller ett intervall. Skillnaden mellan den första och den tredje formeln är att man använder UNIK funktion före den IF funktion.
Den grundläggande syntaxen för UNIQUE-funktionen:
=UNIQUE (array, [by_col], [exactly_once])
matris - Område eller array från vilket unika värden ska hämtas.
by_col - [valfritt] Hur man jämför och extraherar. Genom rad = FALSK (standard); genom kolumn = TRUE.
exactly_once - [valfritt] TRUE = värden som förekommer en gång, FALSE= alla unika värden (standard)
📌 STEG
1. Skriv först följande formel i Cell F5 :
=TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,""))))
2. Tryck sedan på Ange.
3. Dra slutligen i Handtag för fyllning ikonen över området med celler F6:F7.
Som du kan se har vi framgångsrikt använt VLOOKUP flera värden i en cell.
🔎 Uppdelning av formeln
Vi använder denna uppdelning endast för personen "John".
➤ IF(E5=B5:B13,C5:C13,"")
Den returnerar {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ UNIQUE(IF(E5=B5:B13,C5:C13,""))
Den returnerar {"Mobile";"";"TV";"Fridge"}
➤ TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,""))))
Slutligt resultat Mobil,TV,Kylskåp
Läs mer: Hur man Vlookup och returnerar flera värden i Drop Down List
2. Använda VBA-koder för att Vlookup flera värden i en cell
TEXTJOIN funktionen är endast tillgänglig för MS Excel 2019 och MS Excel 365 Om du känner till Excels VBA-koder kommer dessa två koder att vara mycket praktiska för dig. Den första koden är med dubbletter och den andra är utan dubbletter. Så välj din metod efter ditt problem.
2.1 VBA-koder Flera värden i en cell
📌 STEG
1. Först. Tryck på Alt+F11 för att öppna Visual Basic Editor.
2. Klicka sedan på Infoga> Modul .
3. Skriv sedan följande kod:
Funktion 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
4. Gå nu till ditt kalkylblad. Skriv sedan följande formel i Cell F5 :
=MultipleValues(B5:B13,E5,C5:C13,",")
5. Tryck sedan på ENTER.
6. Dra slutligen ikonen Fyllningshandtag över cellintervallet. F6:F7.
I slutändan har vi använt oss av VLOOKUP flera värden i en cell .
Läs mer: VLOOKUP för att returnera flera värden horisontellt i Excel
2.2 VBA-koder för att söka upp flera värden i en cell (utan dubbletter)
📌 STEG
1. Först. Tryck på Alt+F11 för att öppna Visual Basic Editor.
2. Klicka sedan på Infoga> Modul .
3. Skriv sedan följande kod:
Funktion ValuesNoDup(target As String, search_range As Range, ColumnNumber As Integer) Dim i As Long Dim outcome As String For i = 1 To search_range.Columns(1).Cells.Count If search_range.Cells(i, 1) = target Then For J = 1 To i - 1 If search_range.Cells(J, 1) = target Then If search_range.Cells(J, ColumnNumber) = search_range.Cells(i, ColumnNumber) Then GoTo Skip End If End If Next J outcome =outcome & " " & search_range.Cells(i, ColumnNumber) & "," Skip: End If Next i ValuesNoDup = Left(outcome, Len(outcome) - 1) End Function
4. När du har infogat koden klickar du på Verktyg> Referenser i det öppnade fönstret Microsoft Visual Basic for Applications, och sedan, i det utskjutna fönstret Referenser - dialogrutan VBAProject, markera kryssrutan Microsoft Scripting Runtime i alternativet i Tillgängliga referenser listrutan. Klicka på OK .
5. Gå nu till ditt kalkylblad och skriv följande formel i Cell F5 :
=ValuesNoDup(E5,B5:B13,2)
Här är 2 kolumnnumret i datasetet.
6. Tryck sedan på Gå in på .
7. Dra slutligen i Handtag för fyllning ikonen över området med celler F6:F7.
Som du kan se har vi använt oss av VLOOKUP flera värden i en cell utan dubbletter.
Läs mer: Hur man VLOOKUP och returnerar flera värden i Excel (8 metoder)
Slutsats
Avslutningsvis hoppas jag att den här handledningen hjälper dig att vlookup flera värden i en cell i Excel. Ladda ner övningsarbetsboken och prova själv. Det kommer säkert att utveckla dina Excel-kunskaper. Du får också gärna ge feedback i kommentarsfältet. Din värdefulla feedback håller oss motiverade att skapa många artiklar som dessa. Glöm inte att besöka vår webbplats ExcelWIKI för Excel-relaterade problem och lösningar.