Innholdsfortegnelse
Det er flere måter å bruke VLOOKUP eller vertikalt oppslag i Microsoft Excel for å returnere data basert på flere treff. I denne artikkelen vil du bli kjent med alle mulige tilnærminger for å aktivere VLOOKUP og trekke ut alle tilgjengelige data med riktige illustrasjoner.
Last ned Practice Workbook
Du kan laste ned Excel-arbeidsboken som vi har brukt til å forberede denne artikkelen.
VLOOKUP and Return All Matches.xlsx
7 Måter å VLOOKUP og returnere alle treff i Excel
VLOOKUP -funksjonen ser etter en verdi i kolonnen lengst til venstre i en tabell og returnerer en verdi i samme rad fra den angitte kolonnen . Men denne funksjonen er ikke i stand til å trekke ut data basert på mer enn ett samsvar fra en kolonne. Så vi må sette inn noen andre funksjoner og formler for å slå opp en verdi og returnere alle treff som finnes i en kolonne.
1. SØK OPP og returner flere treff i en kolonne
I det følgende bildet har vi en tabell som inneholder tilfeldige navn på flere ansatte og deres avdelinger. Forutsatt at vi ønsker å vise navnene på de ansatte i en enkelt kolonne som jobber i produksjonsavdelingen.
Hvis du er en Excel 365 bruker, så kan du gå til FILTER -funksjonen her for å finne returverdiene på et øyeblikk. Med FILTER funksjonen vil den nødvendige formelen i utdata Celle C16 være:
=FILTER(C5:C13,C15=B5:B13)
Etter å ha trykket Enter , vil du se navnene på de ansatte fra Produksjon avdeling i en vertikal matrise.
Eller hvis du bruker en eldre versjon av Microsoft Excel, må du bruke følgende kombinerte 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)))
Etter å ha trykket Enter vil du finne fornavnet til den ansatte i utdata Celle C16 .
Ved å bruke Fyllhåndtak fra celle C16 til nedover, får du resten av navnene på ansatte fra den angitte avdelingen samtidig.
🔎 Hvordan fungerer denne formelen?
- RAD($B$5:$B$13): RAD -funksjonen trekker ut radnumrene til de definerte cellereferansene og returnerer følgende matrise:
{5;6;7;8;9;10;11;12;13}
- MATCH(RAD($B$5:$B$13) , ROW($B$5:$B$13)): MATCH -funksjonen her konverterer de utpakkede radnumrene fra 1. Så denne delen av formelen returnerer en matrise med:
{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 hjelp av IF funksjon, returnerer denne delen av formelen indeksnummeret til radene som oppfyller den angitte betingelsen. Så denne delen returnerer en matrise med:
{“”;2;””;4;””;””;””;””;9}
- SMALL -funksjonen i formelen trekker ut den første lillenummer funnet i forrige trinn og tilordner dette nummeret til det andre argumentet (radnummer) i funksjonen INDEKS .
- Til slutt, INDEKS funksjonen viser navnet på den ansatte basert på det angitte radnummeret.
- RADER -funksjonen i denne formelen definerer k-th -tallet for SMALL funksjon. Mens du bruker Fyllhåndtak for å fylle ned resten av cellene, bruker formelen dette k-te tallet for å trekke ut data etterfulgt av funksjonen LITEN .
Les mer: INDEX MATCH vs VLOOKUP-funksjon (9 eksempler)
2. SØK OPP og returner alle treff på rad i Excel
Hvis du vil se navnene på de ansatte horisontalt, må du kombinere FILTER funksjonen med TRANSPOSER funksjon. TRANSPOSER -funksjonen konverterer et vertikalt område av celler til et horisontalt område eller omvendt. Og for å bruke denne kombinerte formelen, må du være en Excel 365 -bruker.
Så den nødvendige formelen i utdata Cell C16 vil være:
=TRANSPOSE(FILTER(C5:C13,C15=B5:B13))
Trykk nå Enter og du vil se navnene på de ansatte fra produksjonsavdelingen i en horisontal matrise.
Eller sett inn følgende formel i utdata Cell C16 hvis du ikke er en Excel 365-bruker.
=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)))
Trykk Enter og du vil finne fornavnet til den ansatte fra den angitteavdeling.
Bruk nå Fyllhåndtak og dra Cell C16 mot høyre til du finner den første #NUM feil. Og du får alle navnene fra Produksjon -avdelingen horisontalt.
Formelen som er satt inn her er nesten lik den første lange formelen som ble brukt i tidligere eksempel på artikkelen der de utpakkede dataene måtte vises vertikalt. Den eneste store forskjellen er at vi bruker KOLONNER -funksjonen her for å spesifisere sekvensnummeret til LITEN -funksjonen. Mens cellene automatisk fylles horisontalt, vil formelen følge sekvensnummeret til LITEN funksjonen for å trekke ut data.
Les mer: Excel VLOOKUP til Returner flere verdier vertikalt
3. VLOOKUP for å returnere flere verdier basert på kriterier
Vi har lagt til en ekstra kolonne i midten av tabellen. Denne kolonnen lagrer prosjekt-ID-ene som er tilordnet de tilsvarende ansatte som er tilstede i Kolonne D . Så vi legger inn to forskjellige forhold nå og trekker ut data basert på alle treff som er funnet.
Vi ønsker for eksempel å vite navnene på de ansatte som for tiden jobber i Salg avdeling på prosjekt-IDen til DMR 103 .
Den nødvendige formelen i utdata Celle C17 vil være:
=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)),"")
Trykk Enter og du finner fornavnet til den ansatteunder de angitte kriteriene.
Fyll nå ned Cell C17 for å vise resten av navnet med de gitte betingelsene.
🚩 Noen viktige funksjoner ved denne formelen:
- Denne formelen er også ganske lik den som brukes i forrige metode.
- I denne formelen har IFERROR -funksjonen blitt brukt til å vise en tilpasset utdata hvis det blir funnet en feil.
- IF funksjonen i denne formelen kombinerer to forskjellige kriterier og ved hjelp av dobbelt-unary, blir de boolske verdiene (TRUE eller FALSE) til 1 eller 0 . Funksjonen returnerer så indeksnummeret til radene som har samsvart med de gitte kriteriene.
- RAD($D$5:$D$13)-4: I denne delen er tallet '4' er radnummeret til Employee-overskriften.
- ROW()-16: Og den numeriske verdien '16' brukt i denne delen angir det forrige radnummeret til den første utdatacellen.
Les mer: Bruk VLOOKUP med flere kriterier i Excel (6 metoder + alternativer)
4. VLOOKUP og Draw Out All Matches med AutoFilter
Ved å bruke AutoFilter kan vi lettere trekke ut data basert på alle treff. Siden vi skal trekke ut navnene på de ansatte fra produksjonsavdelingen, må vi gå etter følgende trinn:
📌 Trinn 1:
➤ Velg hele datatabellen og høyreklikk påmus.
➤ Velg alternativet 'Filter etter valgt celles verdi' fra alternativene Filter .
Så du har nettopp aktivert Filtrer -knappene for overskriftene dine.
📌 Trinn 2:
➤ Klikk på Filter -knappen i Avdeling overskriften.
➤ Sett et merke på Produksjon kun alternativet.
➤ Trykk OK og du er ferdig.
Som i skjermbildet nedenfor, vil du bli vist de resulterende og filtrerte dataene.
Les mer: VLOOKUP med flere treff i Excel
Lignende avlesninger
- Slik bruker du dobbel VLOOKUP i Excel (4 raske måter)
- VLOOKUP fungerer ikke (8 grunner og løsninger)
- Hvordan kombinere Excel SUMIF & VLOOKUP på tvers av flere ark
- VLOOKUP for å returnere flere kolonner i Excel (4 eksempler)
- Hvordan VLOOKUP med flere betingelser i Excel (2 metoder) )
5. VLOOKUP for å trekke ut alle treff med avansert filter i Excel
Du kan også bruke Avansert filter der du må definere kriteriene ved å velge kriterieområdet fra Excel-regnearket. I det følgende bildet er B15:B16 kriterieområdet.
📌 Trinn 1:
➤ Velg hele datatabellen.
➤ Under Data -båndet klikker du på Avansert -kommandoen fra Sorter og filtrer rullegardinmenyen.
En dialogboks kalt Avansert filter åpnes.
📌 Trinn 2:
➤ Velg hele datatabellen for Listeområde -inngangen.
➤ Velg B15:B16 for inndata for Criteria Range .
➤ Trykk OK .
Og du vil bli vist filtrert resultat med navnene på de ansatte fra Produksjon -avdelingen.
Les mer: VLOOKUP with Multiple Kriterier i Excel (6 eksempler)
6. VLOOKUP og returner alle verdier ved å formatere som tabell
Nå viser vi deg en annen enkel metode for å filtrere datatabellen ved å konvertere den til en formatert tabell.
📌 Trinn 1:
➤ Velg den primære datatabellen først.
➤ Fra rullegardinmenyen Formater som tabell under 1>Hjem fanen, velg hvilken som helst av tabellene du foretrekker.
Etter det første trinnet vil datatabellen nå se ut som vist i følgende skjermbilde med de filtrerte overskriftene.
📌 Trinn 2:
➤ Velg Produksjon alternativet etter å ha klikket på filterknappen fra Avdeling overskriften.
➤ Trykk OK og du er ferdig.
Skjermbildet nedenfor viser utdataene basert på det angitte utvalget.
Les mer: Bruk av VBA VLOOKUP for å Finn verdier fra et annet regneark i Excel
7.VLOOKUP for å trekke ut alle treff i en enkelt celle i Excel
TEXTJOIN funksjonen setter sammen en liste eller et område med tekststrenger ved hjelp av et skilletegn. Ved å inkorporere TEXTJOIN og IF funksjoner sammen, kan vi slå opp en verdi og trekke ut data basert på alle treff i en enkelt celle.
Den nødvendige formelen i utdataene Celle C16 vil være:
=TEXTJOIN(", ",TRUE,IF($B$5:$B$13=$C$15,$C$5:$C$13,""))
Etter å ha trykket Enter , vil du finne medarbeidernavnene fra 1>Produser avdeling i en enkelt celle atskilt med komma.
I denne formelen returnerer HVIS -funksjonen matrisen med de samsvarende navnene samt den boolske verdien 'FALSE' for ikke-matchede celler. Funksjonen TEXTJOIN slår deretter sammen alle navnene som er funnet med det angitte skilletegnet.
Les mer: VLOOKUP Deltekst fra en enkelt celle i Excel
Avsluttende ord
Jeg håper alle disse metodene nevnt ovenfor vil hjelpe deg med å bruke dem i Excel-regnearkene dine når det er nødvendig. Hvis du har spørsmål eller tilbakemeldinger, vennligst gi meg beskjed i kommentarfeltet. Eller du kan sjekke ut våre andre artikler relatert til Excel-funksjoner på denne nettsiden.