Innholdsfortegnelse
En av de mest fantastiske og mest brukte funksjonene i Excel er OPSLAKK-funksjonen . Så langt har vi lært å trekke ut en enkelt fyrstikk fra en rekke celler ved å bruke denne funksjonen. Du kan ofte støte på scenarier der du trenger å få alle samsvarende verdier for en unik identifikator. I denne artikkelen vil vi demonstrere hvordan du kan trekke ut flere treff fra en rekke celler ved å bruke LØKOPPSLAG-funksjonen i Excel.
Last ned øvelsesarbeidsbok
Du kan last ned følgende Excel-arbeidsbok for bedre forståelse og øv deg selv.
Utføre Vlookup med flere treff.xlsx2 trinn til Vlookup med flere treff i Excel
Her har vi Book Records of Martin Bookstore . Dette datasettet inneholder Boktype , Boknavn og Forfatter for noen bøker under kolonnene B , C , og D tilsvarende.
I dag er målet vårt å trekke ut alle treffene for hver type bok ved å bruke SØK OPP-funksjonen . Vi utfører dette i to trinn. Så la oss utforske dem én etter én.
Her har vi brukt Microsoft Excel 365 -versjonen, du kan bruke hvilken som helst annen versjon etter eget ønske.
📌 Trinn 01: Lag et unikt navn for hver oppslagsverdi
- Helt i begynnelsen setter du inn en ny kolonne med overskriften Hjelperkolonne til venstre for oppslagskolonnen Boktype og skriv inn denne formelen i celle B5 .
=C5&COUNTIF(C5:$C$25,C5)
Formeloversikt- ANTALLHVIS(C5:$C$25,C5) returnerer det totale antallet celler i området C5:C25 ( Boktype ) som inneholder verdien i celle C5 ( Roman ). Se COUNTIF-funksjonen for detaljer.
- Med enkle ord, hvor mange romaner det er. Det er 7 .
- C5&COUNTIF(C5:$C$25,C5) setter sammen verdien i celle C5 ( Roman ) med den.
- Så den returnerer Novel7 .
Når du drar Fyllhåndtak -verktøyet, C5 øker én etter én, som C5 , C6 , C7 ... men C25 forblir konstant. Derfor, for hver Boktype , blir de tidligere ekskludert og et nytt navn genereres.
For eksempel, når det gjelder romaner, Roman1 til Novel7 genereres, og lignende for Poesi og andre boktyper.
- Trykk deretter ENTER .
- Deretter fører du markøren til høyre -nederste hjørne av celle B5 og det vil se ut som et pluss (+) -tegn. Faktisk er det Fyllhåndtak -verktøyet.
- Nå, dobbeltklikk på det.
Det kopierer denne formelen til resten av cellene. Du vil finne alle oppslagsverdiene gitt med et unikt navn, som Roman1 , Roman2…, Poesi1 , Poesi2… ,osv.
📌 Trinn 02: Bruk VLOOKUP-funksjonen
- Først av alt, opprett en ny kolonne med Kolonneoverskrift som oppslagsverdi.
- Sett deretter inn følgende formel i celle G5 som er den første cellen i denne kolonnen.
=VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE)
Formeloversikt- COUNTIF($C$5:$C $25,G$4) forteller hvor mange celler i området C5:C25 ( Boktype ) som inneholder verdien i celle G4 ( Roman ).
- Med enkle ord, hvor mange romaner det er totalt. Det er 7 .
Vi har brukt den absolutte cellereferansen til området C5:C25 ( $C $5:$C$25 ) fordi vi vil at den skal forbli uendret hvis vi kopierer formelen til en hvilken som helst celle.
- INDIRECT(“A”&COUNTIF($C$5: $C$25,G$4)) blir INDIREKTE(“A”&7) og returnerer cellereferansen A7 . Se INDIREKTE-funksjonen for detaljer.
- RAD($A$1:INDIREKTE(“A”&COUNTIF($C$5:$C$25,G$4))) blir nå RAD(A1:A7) . Se RAD-funksjonen for detaljer.
- Den returnerer en matrise fra 1 til 7 som {1, 2, 3, 4, 5, 6, 7} .
Vi brukte $A$1 fordi vi ikke vil at den skal endres hvis vi kopierer formelen til en annen celle.
- G$4&ROW($A$1:INDIRECT(“A”&COUNTIF($C$5:$C$25,G$4))) setter nå sammen verdien i celle G4 ( Roman ) medmatrisen returnert av RAD-funksjonen og returnerer en annen matrise.
- Så den returnerer {Novel1, Novel2, …, Novel7} .
- VLOOKUP(G$4 &RAD($A$1:INDIREKTE(“A”&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) blir VLOOKUP({Novel1, Novel2, …, Novel7},$B$5:$E$25,3,FALSE) .
Den søker etter hver verdi i matrisen {Novel1 , Novel2, … Novel7} i oppslagskolonnen B .
Deretter returnerer den det tilsvarende navnet på romanen fra tredje kolonne (som col_index_num er 3 ). Dermed får vi en liste over alle romanene.
- Trykk som vanlig ENTER -tasten.
Merk: Det er en matriseformel. Så ikke glem å trykke Ctrl + Shift + Enter med mindre du er i Excel 365 .
Og for de andre Boktypene ,
- Først setter du inn navnene deres side ved side som Kolonneoverskrifter og drar Fyllhåndtaket .
Les mer: INDIREKTE VLOOKUP i Excel
Lignende avlesninger
- VLOOKUP fungerer ikke (8 grunner og løsninger)
- Excel LOOKUP vs VLOOKUP: Med 3 eksempler
- Hvorfor VLOOKUP returnerer #N/A Når match eksisterer? (5 årsaker og løsninger)
- Bruk VLOOKUP med flere kriterier i Excel (6 metoder + alternativer)
- Excel VLOOKUP for å finne siste verdi i kolonne (medAlternativer)
Alternative måter å vlookup med flere treff i Excel
Hvis den forrige metoden virker farlig, ikke bekymre deg. Det er flere tilgjengelige alternativer.
1. Bruke FILTER-funksjonen
Dette er faktisk den enkleste metoden. Her bruker vi bare FILTER-funksjonen . Følg disse enkle trinnene.
📌 Trinn:
- Skriv først ned Boktype som Kolonneoverskrift og skriv inn følgende formel i celle F5 .
=FILTER($C$5:$C$25,$B$5:$B$25=F$4)
FormeloversiktHer,
- $5$:$C$25 ( Boknavn ) er oppslagsmatrisen . Vi leter etter navnene på bøkene. Du bruker din.
- $B$5:$B$25 ( Boktype ) er matching_array . Vi ønsker å matche boktypene. Du bruker den tilsvarende.
- F4 ( Roman ) er matching_value . Vi ønsker å matche romanene. Du bruker den deretter.
- Trykk deretter ENTER .
Nå, hvis du vil ha Boknavn av alle Boktyper ,
- Innledningsvis setter du inn navnene deres som kolonneoverskrifter side ved side, og dra deretter Fyllhåndtak verktøyet.
2. Bruke kombinasjon av INDEX, SMALL og ROWS Funksjoner (kompatible med eldre versjoner av Excel)
FILTER-funksjonen erkun tilgjengelig i Office 365 . Så hvis du bruker den eldre versjonen av Excel, ikke bekymre deg. Vi har en annen løsning for deg. Det er enkelt og greit; bare følg med.
📌 Fremgangsmåte:
- Sett først og fremst inn Boktype som Kolonneoverskrift i celle F4 og skriv inn denne formelen 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))))),"")
Formeloversikt- RAD(B5:B25) returnerer en matrise med {5, 6, 7, …, 25} . Og RADER(B1:B4) returnerer 4 . Så RAD(B5:B25)-RADER(B1:B4) returnerer en matrise med {1, 2, 3, …, 21} . Se funksjonene RAD og RADER for detaljer.
- IF($B$5:$B$25=F4,ROW(B5:B25)-RADER (B1:B4),,””) returnerer det tilsvarende tallet fra matrisen {1, 2, 3, …, 21} verdien i celle F4 ( Roman ) samsvarer med verdien i en hvilken som helst celle i området B5:B25 ( Boktype ). Ellers returnerer en tom celle. Se IF-funksjonen for detaljer.
- LITEN(IF($B$5:$B$25=F4 ,RAD(B5:B25)-RADER(B1:B4),””),(RAD(B5:B25)-RADER(B1:B4))) blir LITEN({1, …, 3 , …, 6, …, 20, …},{1, 2, 3, 4, …., 21}) og returnerer tallene først, deretter #NUM! feil i de tomme feltene celler. Se SMALL-funksjonen for detaljer.
- INDEX($C$5:$C$25,(SMALL( HVIS($B$5:$B$25=F4,RAD(B5:B25)-RADER(B1:B4),","),(RAD(B5:B25)-RADER(B1:B4))))) blir INDEKS($C$5:$C$25;{1,3,6,11,…,#NUM!}) og returnerer de tilsvarende Boknavnene (Navn på romanene) og #NUM! feil. Se INDEKS-funksjonen for detaljer.
- Til slutt pakket vi formelen inn i en IFERROR-funksjon for å gjøre feilene om til tomme celler.
- Etter det, trykk ENTER .
- Nå, hvis du vil , sett inn de andre Boktypene som Kolonneoverskrifter og dra Fyllhåndtaket . Du får bøkene til de andre boktypene.
3. Vlookup med flere treff og returner resultater på rad
I forrige metoder, fikk vi resultatene i vertikale kolonner. Men hvis vi ønsker å få verdiene på rekke og rad, hvordan kan vi gjøre det? Her får vi Forfatter -navnene for forskjellige boktyper på rad. Bare følg trinnene nedenfor nøye.
📌 Trinn:
- Gå først til celle G5 og skriv ned formelen nedenfor.
=IFERROR(INDEX($D$5:$D$19,SMALL(IF($F5=$B$5:$B$19,ROW($D$5:$D$19)-4,""),COLUMN()-6)),"")
Denne formelen ligner på en måte den forrige formelen. Så hvis du har problemer med å forstå denne formelen, vennligst se forrige forklaring .
- Trykk deretter på ENTER -tasten.
Men det er andre forfattere som har romaner i dette datasettet. Så, hvordan kan vi få dem?
Bare dra Fyllhåndtaket til helt opp til celle K5 for å fåandre Forfattere av Roman . Dra dessuten Fyllhåndtak til celle K7 for å få navnene på Forfattere for forskjellige typer bøker. Se bildet nedenfor for klargjøring.
Hvordan søke etter mange treff med flere kriterier
I våre tidligere eksempler fant vi verdiene for enkeltkriterier. For eksempel får vi titlene på bøker for en bestemt boktype. Men her vil vi antyde flere kriterier. Vi skal slå opp romanene til Charles Dickens ved å bruke denne metoden. La oss se det i aksjon.
📌 Trinn:
- Først og fremst, velg celle H5 og lim inn 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)),"")
- Trykk deretter ENTER .
Hvordan Vlookup og returnere flere treff i én celle
I tidligere tilnærminger fikk vi verdiene i forskjellige celler. Men vi skal vise hvordan vi kan få resultater i en enkelt celle. Så, uten ytterligere forsinkelser, la oss dykke inn!
📌 Trinn:
- Gå først og fremst til celle G5 og skriv inn formelen nedenfor.
=TEXTJOIN(", ",TRUE,IF($F$5=$B$5:$B$25,C5:C25,""))
Her får IF-funksjonen verdien fra området C5:C25 der de tilsvarende verdiene i området B5:B25 samsvarer med verdien i celle F5 . Deretter kombinerer TEXTJOIN-funksjonen verdiene til matrisen med et komma som skilletegn.
- Trykk sekundært ENTER .
Les mer: INDEX MATCH vs VLOOKUP-funksjon (9 eksempler)
Konklusjon
Denne artikkelen forklarer hvordan du vlookup med flere treff i Excel på en enkel og kortfattet måte. Ikke glem å laste ned øvelsesfilen. Takk for at du leste denne artikkelen. Vi håper dette var nyttig. Gi oss beskjed i kommentarfeltet hvis du har spørsmål eller forslag. Besøk nettstedet vårt, ExcelWIKI , en one-stop Excel-løsningsleverandør, for å utforske mer.