VLOOKUP och återge alla matchningar i Excel (7 sätt)

  • Dela Detta
Hugh West

Det finns flera sätt att ansöka VLOOKUP eller vertikal sökning i Microsoft Excel för att returnera data baserat på flera matchningar. I den här artikeln får du lära dig alla möjliga sätt att aktivera VLOOKUP och hämta alla tillgängliga uppgifter med lämpliga illustrationer.

Ladda ner övningsboken

Du kan ladda ner Excel-arbetsboken som vi har använt för att förbereda den här artikeln.

VLOOKUP och återge alla träffar.xlsx

7 sätt att VLOOKUP och returnera alla matchningar i Excel

VLOOKUP söker efter ett värde i kolumnen längst till vänster i en tabell och returnerar ett värde i samma rad från den angivna kolumnen. Men den här funktionen kan inte extrahera data baserat på mer än en matchning från en kolumn. Vi måste därför använda andra funktioner och formler för att söka efter ett värde och returnera alla matchningar som hittats i en kolumn.

1. VLOOKUP och återge flera träffar i en kolumn

I följande bild har vi en tabell som innehåller slumpmässiga namn på flera anställda och deras avdelningar. Vi antar att vi vill visa namnen på de anställda i en enda kolumn som arbetar på avdelningen Tillverkning.

Om du är en Excel 365 användare, kan du välja FILTER funktionen här för att hitta returvärdena om ett ögonblick. Med FILTER funktionen, den önskade formeln i utdatafunktionen Cell C16 kommer att vara:

=FILTER(C5:C13,C15=B5:B13)

Efter att ha tryckt på Gå in på ser du namnen på de anställda från Tillverkning avdelning i en vertikal ordning.

Eller om du använder en äldre version i Microsoft Excel måste du använda följande kombinerade formel:

=INDEX($C$5:$C$13, SMALL(IF(($C$15=$B$5:$B$13), MATCH(ROW($B$5:$B$13), ROW($B$5:$B$13)), ""),ROWS($A$1:A1))))

Efter att ha tryckt på Gå in på hittar du den anställdes förnamn i resultatet. Cell C16 .

Genom att använda Handtag för fyllning från Cell C16 till nedåt, får du resten av namnen på de anställda från den angivna avdelningen på en gång.

🔎 Hur fungerar denna formel?

  • RAD($B$5:$B$13): ROW funktionen hämtar radnumren för de definierade cellreferenserna och returnerar följande matris:

{5;6;7;8;9;10;11;12;13}

  • MATCH(ROW($B$5:$B$13), ROW($B$5:$B$13)): MATCH funktionen här konverterar de extraherade radnumren från och med 1. Denna del av formeln returnerar alltså en matris av:

{1;2;3;4;5;6;7;8;9}

  • IF(($C$15=$B$5:$B$13), MATCH(ROW($B$5:$B$13), ROW($B$5:$B$13)), ""): Med hjälp av IF Funktionen returnerar den här delen av formeln indexnumret för de rader som uppfyller det angivna villkoret. Den här delen returnerar alltså en matris av:

{"";2;"";4;"";"";"";"";9}

  • SMALL i formeln tar fram det första lilla talet som hittades i det föregående steget och tilldelar detta tal till det andra argumentet. (row_number) av den INDEX funktion.
  • Slutligen, den INDEX funktionen visar namnet på den anställde baserat på det angivna radnumret.
  • RÄDER funktionen i denna formel definierar den k:e nummer för den SMALL funktion. När du använder Handtag för fyllning för att fylla ut resten av cellerna använder formeln följande k:e nummer för att hämta ut uppgifter följt av SMALL funktion.

Läs mer: INDEX MATCH och VLOOKUP-funktionen (9 exempel)

2. VLOOKUP och återge alla träffar i en rad i Excel

Om du vill se namnen på de anställda horisontellt måste du kombinera FILTER funktion med funktionen TRANSPOSE funktion. TRANSPOSE funktionen omvandlar ett vertikalt intervall av celler till ett horisontellt intervall eller vice versa. Och för att använda denna kombinerade formel måste du vara en Excel 365 användare.

Så den nödvändiga formeln i utgången Cell C16 kommer att vara:

=TRANSPOSE(FILTER(C5:C13,C15=B5:B13))

Tryck nu på Gå in på så visas namnen på de anställda på avdelningen Tillverkning i en horisontell matris.

Eller infoga följande formel i utdata Cell C16 om du inte använder Excel 365.

=INDEX($C$5:$C$13, SMALL(IF($C$15=$B$5:$B$13, ROW($B$5:$B$13)-MIN(ROW($B$5:$B$13))+1, ""), COLUMNS($A$1:A1))))

Tryck på Gå in på så hittar du förnamnet på den anställde från den angivna avdelningen.

Använd nu Handtag för fyllning och dra i Cell C16 till höger tills du hittar den första #NUM fel. Och du får alla namnen från den Tillverkning avdelning horisontellt.

Formeln som infogas här liknar nästan den första långa formeln som användes i det tidigare exemplet i artikeln där de extraherade uppgifterna skulle visas vertikalt. Den enda stora skillnaden är att vi använder COLUMNS funktionen här för att ange sekvensnumret för SMALL När cellerna fylls ut automatiskt horisontellt följer formeln sekvensnumret för SMALL för att extrahera data.

Läs mer: Excel VLOOKUP för att returnera flera värden vertikalt

3. VLOOKUP för att återge flera värden baserat på kriterier

Vi har lagt till en extra kolumn i mitten av tabellen. I denna kolumn lagras de projekt-ID:n som tilldelats motsvarande anställda som finns i Kolumn D . Vi anger nu två olika villkor och extraherar data baserat på alla matchningar som hittas.

Vi vill till exempel veta namnen på de anställda som för närvarande arbetar på Försäljning avdelningen på projekt-ID för DMR 103 .

Den önskade formeln i utdata Cell C17 kommer att vara:

=IFERROR(INDEX($D$5:$D$13, SMALL(IF(1=((--($C$15=$B$5:$B$13)) * (--($C$16=$C$5:$C$13))), ROW($D$5:$D$13)-4,""), ROW()-16)),""),"")

Tryck på Gå in på så hittar du den anställdes förnamn enligt de angivna kriterierna.

Fyll nu i Cell C17 för att visa resten av namnet med de givna villkoren.

🚩 Några viktiga egenskaper hos denna formel:

  • Denna formel är också ganska lik den som används i den föregående metoden.
  • I denna formel ska IFERROR funktionen har använts för att visa en anpassad utskrift om något fel hittas.
  • IF funktionen i denna formel kombinerar två olika kriterier och med hjälp av dubbel-unärvärdet kan de boolska värdena (TRUE eller FALSE) förvandlas till 1 eller 0 Funktionen returnerar sedan indexnumret för de rader som har matchats med de givna kriterierna.
  • RAD($D$5:$D$13)-4: I denna del ska antalet '4' är radnumret i rubriken Employee.
  • ROW()-16: Och det numeriska värdet '16' som används i denna del anger det föregående radnumret för den första utdatacellen.

Läs mer: Använd VLOOKUP med flera kriterier i Excel (6 metoder + alternativ)

4. VLOOKUP och dra ut alla matchningar med AutoFilter

Genom att använda AutoFilter kan vi lättare extrahera data baserat på alla matchningar. Eftersom vi ska ta fram namnen på de anställda från avdelningen Tillverkning måste vi följa följande steg:

📌 Steg 1:

➤ Markera hela datatabellen och högerklicka på musen.

➤ Välj den 'Filtrera efter den valda cellens värde' från alternativet Filter alternativ.

Du har alltså just aktiverat Filter knappar för dina rubriker.

📌 Steg 2:

➤ Klicka på Filter knappen från den Avdelning rubrik.

➤ Sätt ett märke på Tillverkning endast.

➤ Press OK och du är klar.

Som i skärmbilden nedan visas de resulterande och filtrerade uppgifterna.

Läs mer: VLOOKUP med flera matchningar i Excel

Liknande läsningar

  • Hur man använder dubbel VLOOKUP i Excel (4 snabba sätt)
  • VLOOKUP fungerar inte (8 orsaker & lösningar)
  • Hur man kombinerar Excel SUMIF & VLOOKUP på flera blad
  • VLOOKUP för att återge flera kolumner i Excel (4 exempel)
  • Hur man VLOOKUP med flera villkor i Excel (2 metoder)

5. VLOOKUP för att extrahera alla matchningar med avancerade filter i Excel

Du kan också använda Avancerat filter där du måste definiera kriterierna genom att välja ett kriterieområde från ditt Excel-kalkylblad. I följande bild, B15:B16 är kriteriernas räckvidd.

📌 Steg 1:

➤ Välj hela datatabellen.

➤ Under den Uppgifter bandet, klickar du på Avancerad kommandot från Sortera och filtrera rullgardinsmenyn.

En dialogruta med namnet Avancerat filter kommer att öppnas.

📌 Steg 2:

➤ Välj hela datatabellen för den Lista intervall input.

➤ Välj B15:B16 för inmatning av Kriterieområde .

➤ Press OK .

Du kommer att få se det filtrerade resultatet med namnen på de anställda från Tillverkning endast.

Läs mer: VLOOKUP med flera kriterier i Excel (6 exempel)

6. VLOOKUP och återge alla värden genom att formatera som tabell

Nu ska vi visa dig en annan enkel metod för att filtrera datatabellen genom att konvertera den till en formaterad tabell.

📌 Steg 1:

➤ Välj den primära datatabellen först.

➤ Från den Formatera som tabell under den nedrullningsbara listan Hem och välj en av de tabeller som du föredrar.

Efter det första steget kommer din datatabell att se ut som i följande skärmdump med filtrerade rubriker.

📌 Steg 2:

➤ Välj den Tillverkning efter att ha klickat på filterknappen i Avdelning rubrik.

➤ Press OK och du är klar.

Skärmavbildningen nedan visar utgångarna baserat på det angivna urvalet.

Läs mer: Användning av VBA VLOOKUP för att hitta värden från ett annat arbetsblad i Excel

7. VLOOKUP för att ta fram alla matchningar i en enda cell i Excel

TEXTJOIN funktionen sammanfogar en lista eller ett intervall av textsträngar med hjälp av en avgränsare. Genom att använda TEXTJOIN och IF tillsammans kan vi söka upp ett värde och extrahera data baserat på alla träffar i en enda cell.

Den önskade formeln i utdata Cell C16 kommer att vara:

=TEXTJOIN(", ",TRUE,IF($B$5:$B$13=$C$15,$C$5:$C$13,""))

Efter att ha tryckt på Gå in på hittar du namnen på de anställda från Tillverkning avdelningen i en enda cell, åtskilda med kommatecken.

I denna formel ska IF funktionen returnerar matrisen med de matchade namnen samt det boolska värdet "FALSE" för celler som inte är matchade. TEXTJOIN funktionen sammanfogar sedan alla namn som hittas med den angivna avgränsaren.

Läs mer: VLOOKUP Partiell text från en enda cell i Excel

Avslutande ord

Jag hoppas att alla dessa metoder som nämns ovan nu hjälper dig att tillämpa dem i dina Excel-kalkylblad när det behövs. Om du har några frågor eller feedback, låt mig veta i kommentarsfältet. Eller så kan du kolla in våra andra artiklar om Excel-funktioner på den här webbplatsen.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.