Kazalo
Ena od najbolj neverjetnih in pogosto uporabljenih funkcij programa Excel je funkcija Funkcija VLOOKUP . Do zdaj smo se naučili, kako s to funkcijo iz območja celic izvleči eno ujemanje. Pogosto lahko naletite na scenarije, v katerih morate pridobiti vse ujemajoče se vrednosti za edinstven identifikator. V tem članku bomo pokazali, kako lahko iz območja celic izvlečete več ujemanj z uporabo funkcije Funkcija VLOOKUP v Excelu.
Prenesi delovni zvezek za prakso
Za boljše razumevanje in vadbo lahko prenesete naslednji delovni zvezek programa Excel.
Izvajanje iskanja z več ujemanji.xlsx2 koraka za Vlookup z več ujemanji v Excelu
Tu imamo Knjižni zapisi knjigarne Martin Ta nabor podatkov vsebuje Vrsta knjige , Ime knjige in Avtor nekaterih knjig pod stolpci B , C in D ustrezno.
Naš današnji cilj je, da s pomočjo Funkcija VLOOKUP . To bomo izvedli v dveh korakih. Zato jih raziščimo enega za drugim.
Pri tem smo uporabili Microsoft Excel 365 različico, lahko uporabite katero koli drugo različico, ki vam ustreza.
📌 Korak 01: Ustvarite edinstveno ime za vsako vrednost iskanja
- Na samem začetku vstavite nov stolpec z naslovom Stolpec za pomočnike levo do stolpca za iskanje Vrsta knjige in v celico vnesite to formulo B5 .
=C5&COUNTIF(C5:$C$25,C5)
Razčlenitev formule - COUNTIF(C5:$C$25,C5) vrne skupno število celic v območju C5:C25 ( Vrsta knjige ), ki vsebujejo vrednost v celici C5 ( Novica ). Glej Funkcija COUNTIF za podrobnosti.
- Z enostavnimi besedami, koliko je romanov. To je 7 .
- C5&COUNTIF(C5:$C$25,C5) poveže vrednost v celici C5 ( Novica ) z njim.
- Tako se vrne Novel7 .
Ko povlečete Ročaj za polnjenje orodje, C5 povečuje za en korak, kot C5 , C6 , C7 ... vendar C25 ostaja konstantna. Zato je za vsako Vrsta knjige , se prejšnje izključijo in ustvari se novo ime.
Na primer v primeru romanov, Novel1 na . Novel7 in podobno za Poezija in druge vrste knjig.
- Nato pritisnite VSTOP .
- Nato postavite kazalec v desni spodnji kot celice B5 in videti bo kot plus (+) znak. Pravzaprav gre za Ročaj za polnjenje orodje.
- Zdaj dvakrat kliknite nanj.
To formulo kopira v preostale celice. Vse vrednosti iskanja so opremljene z edinstvenim imenom, npr. Novel1 , Novel2..., Poezija1 , Poezija2... , itd.
📌 Korak 02: Uporaba funkcije VLOOKUP
- Najprej ustvarite nov stolpec z Glava stolpca kot vrednost iskanja.
- Nato v celico vstavite naslednjo formulo G5 ki je prva celica tega stolpca.
=VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE)
Razčlenitev formule - COUNTIF($C$5:$C$25,G$4) pove, koliko celic v območju C5:C25 ( Vrsta knjige ) vsebuje vrednost v celici G4 ( Novica ).
- Z enostavnimi besedami, koliko romanov je skupaj. To je 7 .
Uporabili smo absolutno referenco celice območja C5:C25 ( $C$5:$C$25 ), saj želimo, da ostane nespremenjena, če formulo kopiramo v katero koli celico.
- INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) postane . INDIRECT("A"&7) in vrne referenco na celico A7 . Glej INDIREKTNA funkcija za podrobnosti.
- ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) zdaj postane VRSTICA (A1: A7) .Glej Funkcija ROW za podrobnosti.
- Vrne polje iz 1 na . 7 kot je . {1, 2, 3, 4, 5, 6, 7} .
Uporabili smo $A$1 ker ne želimo, da se spremeni, če formulo kopiramo v drugo celico.
- G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) zdaj združuje vrednost v celici G4 ( Novica ) z nizom, ki ga vrne ukaz Funkcija ROW in vrne drugo polje.
- Tako se vrne {Novel1, Novel2, ..., Novel7} .
- VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) postane . VLOOKUP({Novel1, Novel2, ..., Novel7},$B$5:$E$25,3,FALSE) .
Poišče vsako vrednost v polju {Novel1, Novel2, ... Novel7} v stolpcu za iskanje B .
Nato vrne ustrezno ime romana iz 3. stolpec (kot col_index_num je . 3 ). Tako dobimo seznam vseh romanov.
- Kot običajno pritisnite VSTOP ključ.
Opomba: Gre za formulo v obliki polja, zato ne pozabite pritisniti Ctrl + Shift + Enter razen če ste v Excelu 365. .
In za druge Vrste knjig ,
- Najprej vstavite njuni imeni eno poleg drugega kot Naslovi stolpcev in povlecite Ročaj za polnjenje .
Preberite več: INDIREKTNI VLOOKUP v Excelu
Podobna branja
- VLOOKUP ne deluje (8 razlogov in rešitev)
- Excel LOOKUP vs VLOOKUP: s 3 primeri
- Zakaj VLOOKUP vrne #N/A, ko obstaja ujemanje? (5 vzrokov in rešitev)
- Uporaba VLOOKUP z več merili v Excelu (6 metod + alternative)
- Excel VLOOKUP za iskanje zadnje vrednosti v stolpcu (z alternativami)
Alternativni načini za Vlookup z več ujemanji v Excelu
Če se vam zdi prejšnja metoda nevarna, ne skrbite. Na voljo je več možnosti.
1. Uporaba funkcije FILTER
To je dejansko najbolj preprosta metoda. V tem primeru bomo uporabili samo Funkcija FILTER . Sledite tem preprostim korakom.
📌 Koraki:
- Najprej zapišite Vrsta knjige kot Glava stolpca in v celico vnesite naslednjo formulo F5 .
=FILTER($C$5:$C$25,$B$5:$B$25=F$4)
Razčlenitev formule Tukaj,
- $C$5:$C$25 ( Ime knjige ) je lookup_array . Iščemo imena knjig. Uporabite svoje.
- $B$5:$B$25 ( Vrsta knjige ) je matching_array Želimo uskladiti vrste knjig. Ustrezno uporabite svojo knjigo.
- F4 ( Novica ) je matching_value Želimo, da se ujemajo z romani. Uporabite ga v skladu s tem.
- Nato pritisnite VSTOP .
Če želite, da Imena knjig vseh Vrste knjig ,
- Na začetku vstavite njihova imena kot Naslovi stolpcev drug ob drugem in nato povlecite Ročaj za polnjenje orodje.
2. Uporaba kombinacije funkcij INDEX, SMALL in ROWS (združljivo s starejšimi različicami programa Excel)
Spletna stran Funkcija FILTER je na voljo samo v Office 365 Če uporabljate starejšo različico programa Excel, ne skrbite. Za vas imamo še eno rešitev. Je preprosta in enostavna, zato ji sledite.
📌 Koraki:
- Predvsem vstavite Vrsta knjige kot Glava stolpca v celici F4 in v celico vnesite to formulo 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))))),"")
Razčlenitev formule - VRSTICA (B5: B25) vrne polje {5, 6, 7, ..., 25} . in VRSTICE (B1: B4) vrne 4 . Torej VRSTICA(B5:B25)-VRSTICE(B1:B4) vrne polje {1, 2, 3, ..., 21} . Glej ROW in . VRSTICE za podrobnosti.
- IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),"") vrne ustrezno število iz polja {1, 2, 3, ..., 21} vrednost v celici F4 ( Novica ) se ujema z vrednostjo v katerikoli celici območja B5:B25 ( Vrsta knjige ). V nasprotnem primeru vrne prazno celico. Funkcija IF za podrobnosti.
- SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))) postane . SMALL({1, ..., 3, ..., 6, ..., 20, ...},{1, 2, 3, 4, ...., 21}) in najprej vrne številke, nato pa #NUM! napake v praznih celicah. Funkcija SMALL za podrobnosti.
- INDEX($C$5:$C$25,(SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))))) postane . INDEX($C$5:$C$25,{1,3,6,11,...,#NUM!}) in vrne ustrezno Imena knjig (ime romanov) in #NUM! napake. Oglejte si Funkcija INDEX za podrobnosti.
- Na koncu smo formulo zaprli v Funkcija IFERROR da napake spremenite v prazne celice.
- Nato pritisnite VSTOP .
- Če želite, vstavite drugo Vrste knjig kot Naslovi stolpcev in povlecite Ročaj za polnjenje . Pridobili boste knjige drugih vrst knjig.
3. Vlookup z več ujemanji in vračanjem rezultatov v vrstici
V prejšnjih metodah smo dobili rezultate v navpičnih stolpcih. Če pa želimo dobiti vrednosti v vrstici, kako lahko to storimo? Tukaj bomo dobili Avtor imena za različne Vrste knjig zaporedoma. Natančno sledite spodnjim korakom.
📌 Koraki:
- Najprej pojdite v celico G5 in zapišite spodnjo formulo.
=IFERROR(INDEX($D$5:$D$19,SMALL(IF($F5=$B$5:$B$19,ROW($D$5:$D$19)-4,""),COLUMN()-6)),"")
Ta formula je podobna prejšnji formuli. Če imate težave z razumevanjem te formule, si oglejte prejšnja razlaga .
- Nato tapnite VSTOP ključ.
Toda v tem naboru podatkov so tudi drugi avtorji, ki imajo romane. Kako jih lahko pridobimo?
Preprosto povlecite Ročaj za polnjenje do celice K5 da bi dobili drugo Avtorji na spletnem mestu . Novica Poleg tega povlecite Ročaj za polnjenje orodje v celico K7 za pridobitev imen Avtorji za različne vrste knjig. Za pojasnilo glej spodnjo sliko.
Kako poiskati številne zadetke z več merili
V prejšnjih primerih smo poiskali vrednosti za posamezna merila. Na primer, pridobili smo naslove knjig za določeno vrsto knjige. Tukaj pa bomo implicirali več meril. Poiskali bomo Romani na spletnem mestu Charles Dickens z uporabo te metode. Oglejmo si jo v praksi.
📌 Koraki:
- Najprej izberite celico H5 in prilepite naslednjo formulo.
=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))),"")
- Nato pritisnite VSTOP .
Kako iskati in vrniti več ujemanj v eni celici
V prejšnjih pristopih smo dobili vrednosti v različnih celicah. Vendar bomo pokazali, kako lahko dobimo rezultate v eni sami celici.
📌 Koraki:
- Predvsem pojdite v celico G5 in vnesite spodnjo formulo.
=TEXTJOIN(", ",TRUE,IF($F$5=$B$5:$B$25,C5:C25,""))
Tu je Funkcija IF dobi vrednost iz območja C5:C25 kjer so ustrezne vrednosti v območju B5:B25 se ujema z vrednostjo v celici F5 . Nato Funkcija TEXTJOIN združi vrednosti polja z vejico kot ločilom.
- Nato pritisnite VSTOP .
Preberite več: Funkcija INDEX MATCH proti funkciji VLOOKUP (9 primerov)
Zaključek
V tem članku je na preprost in jedrnat način razloženo, kako vlookup z več ujemanji v Excelu. Ne pozabite prenesti datoteke za vadbo. Hvala, ker ste prebrali ta članek. Upamo, da vam je bilo to v pomoč. Če imate kakršna koli vprašanja ali predloge, nam to sporočite v razdelku s komentarji. Obiščite naše spletno mesto, ExcelWIKI , ponudnika rešitev Excel na enem mestu, da bi raziskali več.