Obsah
Jednou z najúžasnejších a najpoužívanejších funkcií programu Excel je Funkcia VLOOKUP Doteraz sme sa naučili vytiahnuť jednu zhodu z rozsahu buniek pomocou tejto funkcie. Často sa môžete stretnúť so scenármi, v ktorých potrebujete získať všetky zhodné hodnoty pre jedinečný identifikátor. V tomto článku si ukážeme, ako môžete vytiahnuť viacero zhod z rozsahu buniek pomocou funkcie Funkcia VLOOKUP v programe Excel.
Stiahnite si cvičebnicu
Pre lepšie pochopenie a precvičenie si môžete stiahnuť nasledujúci zošit programu Excel.
Vykonanie Vlookup s viacerými zhodami.xlsx2 kroky na vyhľadávanie s viacerými zhodami v programe Excel
Tu máme Knižné záznamy kníhkupectva Martin Tento súbor údajov obsahuje Typ knihy , Názov knihy a Autor niektorých kníh v stĺpcoch B , C a D zodpovedajúcim spôsobom.
Dnes je naším cieľom vytiahnuť všetky zhody každého typu knihy pomocou Funkcia VLOOKUP . Vykonáme to v dvoch krokoch. Poďme ich teda postupne preskúmať.
Tu sme použili Microsoft Excel 365 verziu, môžete použiť akúkoľvek inú verziu podľa toho, ako vám to vyhovuje.
📌 Krok 01: Vytvorenie jedinečného názvu pre každú hodnotu vyhľadávania
- Na úplný začiatok vložte nový stĺpec s nadpisom Stĺpec pomocníka vľavo do stĺpca vyhľadávania Typ knihy a zadajte tento vzorec do bunky B5 .
=C5&COUNTIF(C5:$C$25,C5)
Rozdelenie vzorca - COUNTIF(C5:$C$25,C5) vráti celkový počet buniek v rozsahu C5:C25 ( Typ knihy ), ktoré obsahujú hodnotu v bunke C5 ( Novinka ). Pozri Funkcia COUNTIF podrobnosti.
- Jednoducho povedané, koľko románov existuje. Je to 7 .
- C5&COUNTIF(C5:$C$25,C5) spojí hodnotu v bunke C5 ( Novinka ) s ním.
- Vráti sa teda Novel7 .
Pri preťahovaní Rukoväť náplne nástroj, C5 prírastky po jednom, ako napríklad C5 , C6 , C7 ... ale C25 zostáva konštantná. Preto pre každý Typ knihy , predchádzajúce sa vylúčia a vytvorí sa nový názov.
Napríklad v prípade románov, Novel1 na Novel7 a podobne pre Poézia a iné typy kníh.
- Potom stlačte tlačidlo VSTÚPIŤ .
- Potom umiestnite kurzor do pravého dolného rohu bunky B5 a bude to vyzerať ako plus (+) znamenie. V skutočnosti je to Rukoväť náplne nástroj.
- Teraz naň dvakrát kliknite.
Tento vzorec sa skopíruje do ostatných buniek. Všetky vyhľadávacie hodnoty majú jedinečný názov, napr. Novel1 , Novel2..., Poézia1 , Poézia2... , atď.
📌 Krok 02: Použitie funkcie VLOOKUP
- Najprv vytvorte nový stĺpec s Záhlavie stĺpca ako vyhľadávacia hodnota.
- Po druhé vložte do bunky nasledujúci vzorec G5 čo je prvá bunka tohto stĺpca.
=VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE)
Rozdelenie vzorca - COUNTIF($C$5:$C$25,G$4) hovorí, koľko buniek v rozsahu C5:C25 ( Typ knihy ) obsahujú hodnotu v bunke G4 ( Novinka ).
- Jednoducho povedané, koľko románov celkovo existuje. Je to 7 .
Použili sme absolútny odkaz na bunku rozsahu C5:C25 ( $C$5:$C$25 ), pretože chceme, aby zostal nezmenený, ak vzorec skopírujeme do akejkoľvek bunky.
- INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) sa stáva INDIRECT("A"&7) a vráti odkaz na bunku A7 . Pozri Funkcia INDIRECT podrobnosti.
- ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) sa teraz stáva ROW(A1:A7) .Pozri Funkcia ROW podrobnosti.
- Vracia pole z 1 na 7 ako {1, 2, 3, 4, 5, 6, 7} .
Použili sme $A$1 pretože nechceme, aby sa vzorec zmenil, ak ho skopírujeme do inej bunky.
- G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) teraz spojí hodnotu v bunke G4 ( Novinka ) s poľom vráteným príkazom Funkcia ROW a vráti iné pole.
- Vráti sa teda {Novel1, Novel2, ..., Novel7} .
- VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) sa stáva VLOOKUP({Novel1, Novel2, ..., Novel7},$B$5:$E$25,3,FALSE) .
Vyhľadá každú hodnotu poľa {Novel1, Novel2, ... Novel7} v stĺpci vyhľadávania B .
Potom vráti zodpovedajúci názov románu z 3. stĺpec (ako col_index_num je . 3 ). Takto získame zoznam všetkých románov.
- Ako zvyčajne stlačte tlačidlo VSTÚPIŤ kľúč.
Poznámka: Je to vzorec poľa. Nezabudnite preto stlačiť Ctrl + Shift + Enter pokiaľ nie ste v programe Excel 365 .
A pre ostatné Typy kníh ,
- Najprv vložte ich mená vedľa seba ako Záhlavia stĺpcov a pretiahnite Rukoväť náplne .
Prečítajte si viac: INDIRECT VLOOKUP v programe Excel
Podobné čítania
- VLOOKUP nefunguje (8 dôvodov & riešenia)
- Excel LOOKUP vs VLOOKUP: s 3 príkladmi
- Prečo VLOOKUP vráti #N/A, keď existuje zhoda? (5 príčin a riešení)
- Používanie VLOOKUP s viacerými kritériami v programe Excel (6 metód + alternatívy)
- Excel VLOOKUP na zistenie poslednej hodnoty v stĺpci (s alternatívami)
Alternatívne spôsoby vyhľadávania s viacerými zhodami v programe Excel
Ak sa vám predchádzajúca metóda zdá nebezpečná, nemusíte sa obávať. K dispozícii je viac možností.
1. Používanie funkcie FILTER
Toto je skutočne najjednoduchšia metóda. Tu použijeme len Funkcia FILTER Postupujte podľa týchto jednoduchých krokov.
📌 Kroky:
- Najprv si zapíšte Typ knihy ako Záhlavie stĺpca a do bunky zadajte nasledujúci vzorec F5 .
=FILTER($C$5:$C$25,$B$5:$B$25=F$4)
Rozdelenie vzorca Tu,
- $C$5:$C$25 ( Názov knihy ) je lookup_array . Hľadáme názvy kníh. Vy použite ten svoj.
- $B$5:$B$25 ( Typ knihy ) je matching_array . Chceme, aby sa typy kníh zhodovali. Podľa toho používajte svoju.
- F4 ( Novinka ) je matching_value . Chceme sa zhodovať s románmi. Používajte ich podľa toho.
- Potom stlačte tlačidlo VSTÚPIŤ .
Ak chcete, aby Názvy kníh všetkých Typy kníh ,
- Na začiatku vložte ich mená ako Záhlavia stĺpcov vedľa seba a potom potiahnite Rukoväť náplne nástroj.
2. Použitie kombinácie funkcií INDEX, SMALL a ROWS (kompatibilné so staršími verziami programu Excel)
Stránka Funkcia FILTER je k dispozícii iba v Office 365 . Ak teda používate staršiu verziu programu Excel, nezúfajte. Máme pre vás iné riešenie. Je jednoduché a ľahké, stačí postupovať podľa neho.
📌 Kroky:
- V prvom rade vložte Typ knihy ako Záhlavie stĺpca v bunke F4 a zadajte tento vzorec do bunky 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))))),"")
Rozdelenie vzorca - ROW(B5:B25) vráti pole {5, 6, 7, ..., 25} . A RIADKY(B1:B4) vráti 4 ... RIADOK(B5:B25)-RIADKY(B1:B4) vráti pole {1, 2, 3, ..., 21} . Pozri ROW a RIADKY funkcia pre podrobnosti.
- IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),"") vráti príslušné číslo z poľa {1, 2, 3, ..., 21} hodnota v bunke F4 ( Novinka ) zodpovedá hodnote v ktorejkoľvek bunke rozsahu B5:B25 ( Typ knihy ). V opačnom prípade sa vráti prázdna bunka. Funkcia IF podrobnosti.
- SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))) sa stáva SMALL({1, ..., 3, ..., 6, ..., 20, ...},{1, 2, 3, 4, ...., 21}) a najprv vráti čísla a potom #NUM! chyby v prázdnych bunkách. Funkcia SMALL 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))))) sa stáva INDEX($C$5:$C$25,{1,3,6,11,...,#NUM!}) a vráti zodpovedajúci Názvy kníh (názov románov) a #NUM! Chyby. Pozrite si Funkcia INDEX podrobnosti.
- Nakoniec sme vzorec zabalili do Funkcia IFERROR na premenu chýb na prázdne bunky.
- Potom stlačte tlačidlo VSTÚPIŤ .
- Teraz, ak chcete, vložte druhý Typy kníh ako Záhlavia stĺpcov a pretiahnite Rukoväť náplne . Získate knihy ostatných typov kníh.
3. Vlookup s viacerými zhodami a vrátenie výsledkov v riadku
V predchádzajúcich metódach sme získali výsledky vo vertikálnych stĺpcoch. Ak však chceme získať hodnoty v riadku, ako to môžeme urobiť? Tu získame Autor názvy pre rôzne Typy kníh v rade za sebou. Stačí pozorne postupovať podľa nižšie uvedených krokov.
📌 Kroky:
- Najprv prejdite do bunky G5 a zapíšte nasledujúci vzorec.
=IFERROR(INDEX($D$5:$D$19,SMALL(IF($F5=$B$5:$B$19,ROW($D$5:$D$19)-4,""),COLUMN()-6)),"")
Tento vzorec je podobný predchádzajúcemu vzorcu. Ak máte problém s pochopením tohto vzorca, pozrite si predchádzajúce vysvetlenie .
- Potom ťuknite na položku VSTÚPIŤ kľúč.
V tomto súbore údajov sú však aj ďalší autori, ktorí majú romány. Ako ich teda môžeme získať?
Stačí pretiahnuť Rukoväť náplne až po bunku K5 získať ďalšie Autori z Novinka Okrem toho presuňte Rukoväť náplne nástroj do bunky K7 na získanie názvov Autori pre rôzne typy kníh. Obrázok nižšie poskytuje vysvetlenie.
Ako vyhľadávať početné zhody s viacerými kritériami
V našich predchádzajúcich príkladoch sme zisťovali hodnoty pre jednotlivé kritériá. Napríklad sme získali tituly kníh pre konkrétny typ knihy. Tu však budeme implikovať viacero kritérií. Vyhľadáme Romány z Charles Dickens pomocou tejto metódy. Pozrime sa na ňu v praxi.
📌 Kroky:
- V prvom rade vyberte bunku H5 a vložte nasledujúci vzorec.
=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)),"")
- Potom stlačte tlačidlo VSTÚPIŤ .
Ako vyhľadať a vrátiť viacero zhodných údajov v jednej bunke
V predchádzajúcich prístupoch sme získali hodnoty v rôznych bunkách. Ukážeme si však, ako môžeme získať výsledky v jednej bunke. Takže sa do toho bez ďalšieho otáľania pustime!
📌 Kroky:
- V prvom rade prejdite do bunky G5 a zadajte nasledujúci vzorec.
=TEXTJOIN(", ",TRUE,IF($F$5=$B$5:$B$25,C5:C25,""))
Tu sa Funkcia IF získa hodnotu z rozsahu C5:C25 kde príslušné hodnoty v rozsahu B5:B25 zodpovedá hodnote v bunke F5 . Potom sa Funkcia TEXTJOIN kombinuje hodnoty poľa s čiarkou ako oddeľovačom.
- Sekundárne stlačte VSTÚPIŤ .
Prečítajte si viac: Funkcia INDEX MATCH vs. VLOOKUP (9 príkladov)
Záver
V tomto článku je jednoducho a stručne vysvetlené, ako v programe Excel použiť vlookup s viacerými zhodami. Nezabudnite si stiahnuť súbor s cvičeniami. Ďakujeme, že ste si prečítali tento článok. Dúfame, že bol užitočný. Ak máte nejaké otázky alebo návrhy, dajte nám vedieť v časti s komentármi. Navštívte našu webovú stránku, ExcelWIKI , poskytovateľa komplexných riešení pre Excel, aby ste zistili viac.