Obsah
Jednou z nejúžasnějších a nejpoužívanějších funkcí aplikace Excel je funkce Funkce VLOOKUP . Zatím jsme se naučili pomocí této funkce vytáhnout jednu shodu z rozsahu buněk. Často se můžete setkat se scénáři, kdy potřebujete získat všechny shodné hodnoty pro jedinečný identifikátor. V tomto článku si ukážeme, jak můžete vytáhnout více shod z rozsahu buněk pomocí funkce Funkce VLOOKUP v aplikaci Excel.
Stáhnout cvičebnici
Pro lepší pochopení a procvičení si můžete stáhnout následující sešit aplikace Excel.
Provedení Vlookup s více shodami.xlsx2 kroky k vyhledávání s více shodami v aplikaci Excel
Zde máme Knižní záznamy knihkupectví Martin Tento soubor dat obsahuje Typ knihy , Název knihy a Autor některých knih ve sloupcích B , C a D odpovídajícím způsobem.
Dnes je naším cílem vytáhnout všechny shody jednotlivých typů knih s použitím. Funkce VLOOKUP . Provedeme je ve dvou krocích. Pojďme je tedy postupně prozkoumat.
Zde jsme použili Microsoft Excel 365 verzi, můžete použít jakoukoli jinou verzi podle toho, jak vám to vyhovuje.
📌 Krok 01: Vytvoření jedinečného názvu pro každou hodnotu vyhledávání
- Na samý začátek vložte nový sloupec s nadpisem Sloupec pomocníka vlevo do sloupce vyhledávání Typ knihy a zadejte tento vzorec do buňky B5 .
=C5&COUNTIF(C5:$C$25,C5)
Rozdělení vzorců - COUNTIF(C5:$C$25,C5) vrátí celkový počet buněk v rozsahu C5:C25 ( Typ knihy ), které obsahují hodnotu v buňce C5 ( Novinka ). Viz Funkce COUNTIF podrobnosti.
- Jednoduše řečeno, kolik románů existuje. Je to 7 .
- C5&COUNTIF(C5:$C$25,C5) spojí hodnotu v buňce C5 ( Novinka ).
- Vrací se tedy Novel7 .
Při přetahování Plnicí rukojeť nástroj, C5 přírůstky po jedné, jako C5 , C6 , C7 ... ale C25 zůstává konstantní. Proto pro každý Typ knihy , dřívější se vyloučí a vytvoří se nový název.
Například v případě románů, Novel1 na Novel7 a podobně pro Poezie a další typy knih.
- Pak stiskněte tlačítko ENTER .
- Poté přeneste kurzor do pravého dolního rohu buňky. B5 a bude to vypadat jako plus (+) vlastně je to ten. Plnicí rukojeť nástroj.
- Nyní na něj dvakrát klikněte.
Tento vzorec se zkopíruje do ostatních buněk. Všechny vyhledávací hodnoty jsou opatřeny jedinečným názvem, např. Novel1 , Novel2..., Poezie1 , Poezie2... , atd.
📌 Krok 02: Použití funkce VLOOKUP
- Nejprve vytvořte nový sloupec s Záhlaví sloupce jako hodnotu vyhledávání.
- Za druhé vložte do buňky následující vzorec G5 což je první buňka tohoto sloupce.
=VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE)
Rozdělení vzorců - COUNTIF($C$5:$C$25,G$4) říká, kolik buněk v rozsahu C5:C25 ( Typ knihy ) obsahují hodnotu v buňce G4 ( Novinka ).
- Zjednodušeně řečeno, kolik románů celkem existuje. Je to 7 .
Použili jsme absolutní odkaz na buňku rozsahu C5:C25 ( $C$5:$C$25 ), protože chceme, aby zůstal nezměněn, pokud vzorec zkopírujeme do libovolné buňky.
- INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) se stává INDIRECT("A"&7) a vrátí odkaz na buňku A7 . Viz Funkce INDIRECT podrobnosti.
- ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))) se nyní stává ROW(A1:A7) .Viz Funkce ROW podrobnosti.
- Vrací pole z 1 na 7 jako {1, 2, 3, 4, 5, 6, 7} .
Použili jsme $A$1 protože nechceme, aby se změnil, pokud vzorec zkopírujeme do jiné buňky.
- G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))) nyní spojí hodnotu v buňce G4 ( Novinka ) s polem vráceným příkazem Funkce ROW a vrátí jiné pole.
- Vrací se tedy {Novel1, Novel2, ..., Novel7} .
- VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) se stává VLOOKUP({Novel1, Novel2, ..., Novel7},$B$5:$E$25,3,FALSE) .
Vyhledá každou hodnotu pole {Novel1, Novel2, ... Novel7} ve sloupci vyhledávání B .
Poté vrátí odpovídající název románu ze seznamu 3. sloupec (jako col_index_num je 3 ). Získáme tak seznam všech románů.
- Jako obvykle stiskněte tlačítko ENTER klíč.
Poznámka: Je to vzorec pole. Nezapomeňte proto stisknout tlačítko Ctrl + Shift + Enter pokud nejste v aplikaci Excel 365. .
A pro ostatní Typy knih ,
- Nejprve vložte jejich jména vedle sebe jako Záhlaví sloupců a přetáhněte Plnicí rukojeť .
Přečtěte si více: INDIREKTNÍ VLOOKUP v aplikaci Excel
Podobná čtení
- Nefunkční VLOOKUP (8 důvodů a řešení)
- Excel LOOKUP vs. VLOOKUP: se 3 příklady
- Proč VLOOKUP vrací #N/A, když existuje shoda? (5 příčin a řešení)
- Použití VLOOKUP s více kritérii v aplikaci Excel (6 metod + alternativy)
- Excel VLOOKUP pro vyhledání poslední hodnoty ve sloupci (s alternativami)
Alternativní způsoby vyhledávání s více shodami v aplikaci Excel
Pokud se vám předchozí metoda zdá nebezpečná, nezoufejte. K dispozici je více možností.
1. Použití funkce FILTR
To je skutečně nejjednodušší metoda. Zde použijeme pouze příkaz Funkce FILTR . Postupujte podle následujících jednoduchých kroků.
📌 Kroky:
- Nejprve si zapište Typ knihy jako Záhlaví sloupce a do buňky zadejte následující vzorec F5 .
=FILTR($C$5:$C$25,$B$5:$B$25=F$4)
Rozdělení vzorců Zde,
- $C$5:$C$25 ( Název knihy ) je lookup_array Hledáme názvy knih. Použijte svůj.
- $B$5:$B$25 ( Typ knihy ) je matching_array . Chceme, aby se typy knih shodovaly. Podle toho použijte tu svou.
- F4 ( Novinka ) je matching_value . Chceme, aby odpovídaly románům. Podle toho je používejte.
- Pak stiskněte tlačítko ENTER .
Pokud chcete, aby Názvy knih všech Typy knih ,
- Zpočátku vložte jejich jména jako Záhlaví sloupců vedle sebe a pak přetáhněte Plnicí rukojeť nástroj.
2. Použití kombinace funkcí INDEX, SMALL a ROWS (kompatibilní se staršími verzemi aplikace Excel)
Na stránkách Funkce FILTR je k dispozici pouze v Office 365 . Pokud tedy používáte starší verzi aplikace Excel, nezoufejte. Máme pro vás jiné řešení. Je jednoduché a snadné; stačí postupovat podle něj.
📌 Kroky:
- Především vložte Typ knihy jako Záhlaví sloupce v buňce F4 a zadejte tento vzorec do buňky 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))))),"")
Rozdělení vzorců - ROW(B5:B25) vrací pole {5, 6, 7, ..., 25} . A ROWS(B1:B4) vrací 4 . Takže ŘÁDEK(B5:B25)-ŘÁDKY(B1:B4) vrací pole {1, 2, 3, ..., 21} . Viz ROW a ŘADY funkce pro podrobnosti.
- IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),"") vrátí odpovídající číslo z pole {1, 2, 3, ..., 21} hodnotu v buňce F4 ( Novinka ) odpovídá hodnotě v kterékoli buňce rozsahu B5:B25 ( Typ knihy ). V opačném případě se vrátí prázdná buňka. Viz. Funkce IF podrobnosti.
- SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4)))) se stává SMALL({1, ..., 3, ..., 6, ..., 20, ...},{1, 2, 3, 4, ...., 21}) a vrátí nejprve čísla a pak #NUM! chyby v prázdných buňkách. Funkce 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))))) se stává INDEX($C$5:$C$25,{1,3,6,11,...,#NUM!}) a vrátí odpovídající Názvy knih (název románů) a #NUM! chyby. Viz Funkce INDEX podrobnosti.
- Nakonec jsme vzorec zabalili do Funkce IFERROR aby se chyby změnily na prázdné buňky.
- Poté stiskněte tlačítko ENTER .
- Nyní, pokud chcete, vložte další Typy knih jako Záhlaví sloupců a přetáhněte Plnicí rukojeť . Získáte knihy ostatních typů knih.
3. Vlookup s více shodami a vrácení výsledků v řádku
V předchozích metodách jsme získali výsledky ve svislých sloupcích. Pokud však chceme získat hodnoty v řádku, jak to udělat? Zde získáme hodnoty ve svislých sloupcích. Autor názvy pro různé Typy knih v řadě za sebou. Stačí pečlivě postupovat podle níže uvedených kroků.
📌 Kroky:
- Nejprve přejděte do buňky G5 a zapište následující 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 do jisté míry podobný předchozímu vzorci. Pokud tedy máte s pochopením tohoto vzorce problémy, podívejte se prosím na článek předchozí vysvětlení .
- Pak klepněte na položku ENTER klíč.
Ale v tomto souboru dat jsou i další autoři, kteří mají romány. Jak je tedy můžeme získat?
Stačí přetáhnout Plnicí rukojeť až k buňce K5 abyste získali další Autoři z Novinka . Kromě toho přetáhněte Plnicí rukojeť nástroj do buňky K7 získat názvy Autoři pro různé typy knih. Viz obrázek níže pro vysvětlení.
Jak vyhledat mnoho shod s několika kritérii
V předchozích příkladech jsme zjišťovali hodnoty pro jednotlivá kritéria. Získali jsme například tituly knih pro určitý typ knihy. Zde však budeme implikovat více kritérií. Vyhledáme např. Romány z Charles Dickens pomocí této metody. Podívejme se na ni v akci.
📌 Kroky:
- Především vyberte buňku H5 a vložte následující 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))),"")
- Pak stiskněte tlačítko ENTER .
Jak vyhledat a vrátit více shod v jedné buňce
V dřívějších přístupech jsme získávali hodnoty v různých buňkách. My si však ukážeme, jak můžeme získat výsledky v jediné buňce. Takže se do toho bez dalšího zdržování vrhněme!
📌 Kroky:
- Především přejděte do buňky G5 a zadejte následující vzorec.
=TEXTJOIN(", ",TRUE,IF($F$5=$B$5:$B$25,C5:C25,""))
Zde se Funkce IF získá hodnotu z rozsahu C5:C25 kde odpovídající hodnoty v rozsahu B5:B25 odpovídá hodnotě v buňce F5 . Pak se Funkce TEXTJOIN spojí hodnoty pole s čárkou jako oddělovačem.
- Sekundárně stiskněte ENTER .
Přečtěte si více: Funkce INDEX MATCH vs. VLOOKUP (9 příkladů)
Závěr
V tomto článku je jednoduše a stručně vysvětleno, jak v Excelu provést vlookup s více shodami. Nezapomeňte si stáhnout soubor s cvičením. Děkujeme vám za přečtení tohoto článku. Doufáme, že byl užitečný. Pokud máte nějaké dotazy nebo návrhy, dejte nám vědět v sekci komentářů. Navštivte prosím naše webové stránky, ExcelWIKI , poskytovatele komplexních řešení pro aplikaci Excel, abyste zjistili více.