Indholdsfortegnelse
En af de mest fantastiske og mest anvendte funktioner i Excel er den VLOOKUP-funktion Indtil videre har vi lært at trække et enkelt match ud af en række celler ved hjælp af denne funktion. Du kan ofte støde på scenarier, hvor du har brug for at få alle matchende værdier for en unik identifikator. I denne artikel vil vi demonstrere, hvordan du kan trække flere match ud af en række celler ved hjælp af funktionen VLOOKUP-funktion i Excel.
Download arbejdsbog til øvelser
Du kan downloade følgende Excel-arbejdsbog for at få en bedre forståelse og øve dig selv.
Udførelse af Vlookup med flere matchninger.xlsx2 trin til Vlookup med flere matches i Excel
Her har vi den Bogrekorder fra Martin Bookstore . Dette datasæt indeholder de Bogtype , Bogens navn , og Forfatter af nogle bøger under kolonner B , C , og D tilsvarende.
I dag er vores mål at finde alle tændstikker for hver type bog ved hjælp af VLOOKUP-funktion Vi udfører dette i to trin, så lad os undersøge dem en efter en.
Her har vi anvendt Microsoft Excel 365 version, kan du bruge enhver anden version, hvis det passer dig.
📌 Trin 01: Opret et unikt navn for hver opslagsværdi
- Helt i begyndelsen indsætter du en ny kolonne med overskriften Hjælper-kolonne venstre til opslagskolonnen Bogtype og indtast denne formel i celle B5 .
=C5&COUNTIF(C5:$C$25,C5)
Opdeling af formler - COUNTIF(C5:$C$25,C5) returnerer det samlede antal celler i intervallet C5:C25 ( Bogtype ), der indeholder værdien i celle C5 ( Nyhed ). Se den COUNTIF-funktion for nærmere oplysninger.
- Med enkle ord, hvor mange romaner der er. Det er 7 .
- C5&COUNTIF(C5:$C$25,C5) sammenkæder værdien i celle C5 ( Nyhed ) med den.
- Så den returnerer Novel7 .
Når du trækker den Håndtag til påfyldning værktøj, C5 stiger én for én, som C5 , C6 , C7 ... men C25 forbliver konstant. Derfor vil for hver Bogtype , udelukkes de tidligere, og der oprettes et nyt navn.
For eksempel i forbindelse med romaner, Novel1 til Novel7 genereres, og tilsvarende for Poesi og andre bogtyper.
- Derefter skal du trykke på INDTAST .
- Før derefter markøren til det nederste højre hjørne af celle B5 og det vil se ud som et plus (+) tegn. Faktisk er det den Håndtag til påfyldning værktøj.
- Dobbeltklik nu på den.
Den kopierer denne formel til resten af cellerne. Du vil finde alle opslagsværdierne forsynet med et unikt navn, som f.eks. Novel1 , Novel2...., Poesi1 , Poesi2... , osv.
📌 Trin 02: Brug VLOOKUP-funktionen
- Først og fremmest skal du oprette en ny kolonne med Kolonneoverskrift som opslagsværdi.
- For det andet indsætter du følgende formel i celle G5 som er den første celle i denne kolonne.
=VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE)
Opdeling af formler - COUNTIF($C$5:$C$25,G$4) angiver, hvor mange celler i intervallet C5:C25 ( Bogtype ) indeholder værdien i celle G4 ( Nyhed ).
- Med enkle ord, hvor mange romaner der er i alt. Det er 7 .
Vi har brugt den absolutte cellehenvisning til området C5:C25 ( $C$5:$C$25 ), fordi vi ønsker, at den skal forblive uændret, hvis vi kopierer formlen til en hvilken som helst celle.
- INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))) bliver INDIRECT("A"&7) og returnerer cellereferencen A7 . Se den INDIRECT-funktion for nærmere oplysninger.
- ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))) bliver nu til RÆKKE(A1:A7) .se den ROW-funktion for nærmere oplysninger.
- Den returnerer et array fra 1 til 7 som {1, 2, 3, 4, 5, 6, 7} .
Vi brugte $A$1 fordi vi ikke ønsker, at den skal ændres, hvis vi kopierer formlen til en anden celle.
- G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)))) sammenkædes nu værdien i celle G4 ( Nyhed ) med det array, der returneres af ROW-funktion og returnerer et andet array.
- Så den returnerer {Novel1, Novel2, ..., Novel7} .
- VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) bliver VLOOKUP({Novel1, Novel2, ..., Novel7},$B$5:$E$25,3,FALSE) .
Den søger efter hver værdi i arrayet {Novel1, Novel2, ... Novel7} i opslagskolonnen B .
Derefter returnerer den det tilsvarende navn på romanen fra 3. kolonne (som den col_index_num er 3 ). Vi får således en liste over alle romaner.
- Tryk som sædvanlig på INDTAST nøgle.
Bemærk: Det er en array-formel, så glem ikke at trykke på Ctrl + Shift + Enter medmindre du er i Excel 365 .
Og for de andre Bogtyper ,
- I første omgang indsættes deres navne ved siden af hinanden som Kolonneoverskrifter og træk den Håndtag til påfyldning .
Læs mere: INDIREKTE VLOOKUP i Excel
Lignende læsninger
- VLOOKUP virker ikke (8 grunde & løsninger)
- Excel LOOKUP vs VLOOKUP: Med 3 eksempler
- Hvorfor VLOOKUP returnerer #N/A, når der findes en match? (5 årsager & løsninger)
- Brug VLOOKUP med flere kriterier i Excel (6 metoder + alternativer)
- Excel VLOOKUP til at finde den sidste værdi i kolonnen (med alternativer)
Alternative måder at lave Vlookup med flere matches i Excel på
Hvis den foregående metode virker farlig, skal du ikke være bekymret, for der er flere muligheder.
1. Brug af FILTER-funktionen
Dette er faktisk den mest enkle metode. Her bruger vi kun FILTER-funktion Følg disse enkle trin.
📌 Trin:
- For det første skal du nedskrive den Bogtype som den Kolonneoverskrift og indtast følgende formel i celle F5 .
=FILTER($C$5:$C$25,$B$5:$B$25=F$4)
Opdeling af formler Her,
- $C$5:$C$25 ( Bogens navn ) er den opslagsbatteri Vi leder efter navnene på bøgerne, og du bruger dit navn.
- $B$5:$B$25 ( Bogtype ) er den matching_array Vi ønsker at matche bogtyperne, og du bruger din bog i overensstemmelse hermed.
- F4 ( Nyhed ) er den matching_value Vi ønsker at matche romanerne, og du bruger den i overensstemmelse hermed.
- Derefter skal du trykke på INDTAST .
Hvis du nu vil have den Navne på bøger af alle de Bogtyper ,
- I første omgang indsættes deres navne som Kolonneoverskrifter ved siden af hinanden, og træk derefter den Håndtag til påfyldning værktøj.
2. Anvendelse af kombinationen af INDEX-, SMALL- og ROWS-funktionerne (kompatibel med ældre versioner af Excel)
FILTER-funktion er kun tilgængelig i Office 365 Så hvis du bruger en ældre version af Excel, skal du ikke bekymre dig. Vi har en anden løsning til dig. Den er enkel og nem; følg med.
📌 Trin:
- Indsæt først og fremmest den Bogtype som den Kolonneoverskrift i celle F4 og indtast denne formel i celle F5 .
=IFERROR(INDEX($C$5:$C$25,(SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),"""),(ROW(B5:B25)-ROWS(B1:B4))))),"")
Opdeling af formler - RÆKKE(B5:B25) returnerer et array af {5, 6, 7, ..., 25} . og RÆKKER(B1:B4) returnerer 4 . Så RÆKKE(B5:B25)-RÆKKER(B1:B4) returnerer et array af {1, 2, 3, ..., 21} . Se den RÆKKE og RÆKKER funktion for nærmere oplysninger.
- IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""") returnerer det tilsvarende tal fra arrayet {1, 2, 3, ..., 21} værdien i celle F4 ( Nyhed ) svarer til værdien i en hvilken som helst celle i intervallet B5:B25 ( Bogtype ). Ellers returneres en tom celle. Se IF-funktion for nærmere oplysninger.
- SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),"""),(ROW(B5:B25)-ROWS(B1:B4)))) bliver SMALL({1, ..., 3, ..., 6, ..., 20, ...},{1, 2, 3, 4, ...., 21}) og returnerer først tallene og derefter #NUM! fejl i de tomme celler. Se SMALL-funktion for nærmere oplysninger.
- INDEX($C$5:$C$25,(SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))))) bliver INDEX($C$5:$C$25,{1,3,6,11,...,#NUM!}) og returnerer den tilsvarende Navne på bøger (romanernes navn) og #NUM! fejl. Se den INDEX-funktion for nærmere oplysninger.
- Endelig har vi pakket formlen ind i en IFERROR-funktion for at gøre fejlene til tomme celler.
- Derefter skal du trykke på INDTAST .
- Hvis du vil, kan du nu indsætte den anden Bogtyper som Kolonneoverskrifter og træk den Håndtag til påfyldning Du får bøgerne af de andre bogtyper.
3. Vlookup med flere matches og returnering af resultater i en række
I de foregående metoder fik vi resultaterne i lodrette kolonner. Men hvis vi vil have værdierne i en række, hvordan kan vi så gøre det? Her får vi Forfatter navne for forskellige Bogtyper i træk. Følg blot nedenstående trin omhyggeligt.
📌 Trin:
- Først skal du gå til celle G5 og skriv nedenstående formel ned.
=IFERROR(INDEX($D$5:$D$19,SMALL(IF($F5=$B$5:$B$19,ROW($D$5:$D$19)-4,""),COLUMN()-6))),""),"")
Denne formel minder lidt om den foregående formel. Så hvis du har problemer med at forstå denne formel, kan du se den tidligere forklaring .
- Derefter skal du trykke på INDTAST nøgle.
Men der er andre forfattere, som har romaner i dette datasæt, så hvordan kan vi få fat i dem?
Du skal blot trække den Håndtag til påfyldning til højre op til celle K5 for at få den anden Forfattere på Nyhed . Desuden kan du trække den Håndtag til påfyldning værktøj til celle K7 for at få navnene på Forfattere for forskellige typer af bøger. Se billedet nedenfor for at få en præcisering.
Sådan Vlookup Talrige kampe med flere kriterier
I vores tidligere eksempler fandt vi værdierne for enkelte kriterier. Vi får f.eks. titlerne på bøgerne for en bestemt bogtype. Men her vil vi inddrage flere kriterier. Vi vil slå op i Romaner på Charles Dickens Lad os se den i praksis.
📌 Trin:
- Først og fremmest skal du vælge celle H5 og indsæt følgende formel.
=IFERROR(INDEX($C$5:$C$25,SMALL(IF(1=((--($F$5=$B$5:$B$25))*(--($G$5=$D$5:$D$25))),ROW($C$5:$C$25)-4,""),ROW()-4)),""),"")
- Derefter skal du trykke på INDTAST .
Sådan Vlookup og Return Multiple Matches i én celle
I tidligere fremgangsmåder fik vi værdierne i forskellige celler. Men vi vil vise, hvordan vi kan få resultaterne i en enkelt celle. Så lad os uden yderligere forsinkelse gå i gang!
📌 Trin:
- Gå først og fremmest til celle G5 og indtast nedenstående formel.
=TEXTJOIN(", ", ",TRUE,IF($F$5=$B$5:$B$25,C5:C25,""))
Her er det IF-funktion henter værdien fra området C5:C25 hvor de tilsvarende værdier i intervallet B5:B25 svarer til værdien i celle F5 . Derefter er den TEXTJOIN-funktion kombinerer værdierne i arrayet med et komma som afgrænser.
- I anden omgang skal du trykke på INDTAST .
Læs mere: INDEX MATCH vs. VLOOKUP-funktion (9 eksempler)
Konklusion
Denne artikel forklarer, hvordan man vlookup med flere kampe i Excel på en enkel og kortfattet måde. Glem ikke at downloade øvelsesfilen. Tak for at læse denne artikel. Vi håber, at dette var nyttigt. Lad os vide i kommentarfeltet, hvis du har spørgsmål eller forslag. Besøg venligst vores hjemmeside, ExcelWIKI , en one-stop Excel-løsningsleverandør, for at få mere at vide.