Vytvoření dynamického závislého rozevíracího seznamu v aplikaci Excel snadným způsobem

  • Sdílet Toto
Michael Brown

Tento návod ukazuje, jak vytvořit rozbalovací seznam aplikace Excel v závislosti na jiné buňce pomocí nových dynamických funkcí pole.

Vytvoření jednoduchého rozevíracího seznamu v aplikaci Excel je snadné. Vytvoření víceúrovňového kaskádového rozevíracího seznamu bylo vždy výzvou. Výše uvedený odkazovaný návod popisuje čtyři různé přístupy, z nichž každý zahrnuje šílený počet kroků, spoustu různých vzorců a několik omezení týkajících se víceslovných položek, prázdných buněk atd.

To byla ta špatná zpráva. Dobrá zpráva je, že tyto metody byly navrženy pro předdynamické verze aplikace Excel. Zavedení dynamických polí v aplikaci Excel 365 vše změnilo! Díky novým funkcím dynamických polí je vytvoření vícenásobného závislého rozbalovacího seznamu otázkou několika minut, ne-li sekund. Žádné triky, žádné výhrady, žádné nesmysly. Pouze rychlá, přímočará a snadno použitelná řešení.

    Poznámky:

    • Tento nový způsob vytváření rozevíracích seznamů pomocí dynamického pole funguje pouze v aplikaci Excel 365 a Excel 2021. V předdynamickém Excelu to budete muset udělat starým dobrým způsobem, jak je popsáno v článku Vytvoření závislého rozevíracího seznamu v aplikaci Excel 2019 - 2007.
    • Toto řešení je určeno pro jeden řádek. Pokud chcete zkopírovat své seznamy výběru dolů více řádků , pak postupujte podle pokynů v rozevíracím seznamu Závislé pro více řádků.
    • Jak vytvořit dynamický rozevírací seznam v aplikaci Excel

      Tento příklad demonstruje obecný přístup k vytváření kaskádového rozevíracího seznamu v aplikaci Excel pomocí nových funkcí dynamického pole.

      Předpokládejme, že máte seznam ovoce ve sloupci A a vývozce ve sloupci B. Další komplikací je, že názvy ovoce nejsou seskupeny, ale rozptýleny po sloupci. Cílem je umístit jedinečné názvy ovoce do prvního rozevíracího seznamu a v závislosti na výběru uživatele zobrazit příslušné vývozce v druhém rozevíracím seznamu.

      Chcete-li v aplikaci Excel vytvořit dynamický závislý rozbalovací seznam, proveďte následující kroky:

      1. Získejte položky pro hlavní rozevírací seznam

      Pro začátek vybereme ze sloupce A všechny různé názvy ovoce. To lze provést pomocí funkce UNIQUE v její nejjednodušší podobě - jako první argument zadáme seznam ovoce ( pole ) a vynecháme zbývající nepovinné argumenty, protože nám vyhovují jejich výchozí hodnoty:

      =UNIKÁTNÍ(A3:A15)

      Vzorec přejde do G3 a po stisknutí klávesy Enter se výsledky automaticky přelijí do dalších buněk.

      2. Vytvořte hlavní rozbalovací seznam

      Chcete-li vytvořit primární rozevírací seznam, nakonfigurujte pravidlo Ověřování dat aplikace Excel tímto způsobem:

      • Vyberte buňku, ve které se má rozbalovací seznam zobrazit (v našem případě D3).
      • Na Data na kartě Datové nástroje klikněte na tlačítko Ověřování dat .
      • V Ověřování dat dialogového okna proveďte následující kroky:
        • Pod Povolit , vyberte Seznam .
        • V Zdroj: zadejte odkaz na rozsah rozlití, který je výsledkem vzorce UNIQUE. Za tímto účelem zadejte hash tag hned za odkaz na buňku, například takto: =$G$3#.

          Tomu se říká odkaz na rozsah rozlití a tato syntaxe se vztahuje na celý rozsah bez ohledu na to, jak moc se rozšiřuje nebo smršťuje.

        • Klikněte na OK zavřít dialogové okno.

      Váš primární rozevírací seznam je hotový!

      3. Získejte položky pro závislý rozevírací seznam

      Abychom získali položky pro druhou rozbalovací nabídku, budeme filtrovat hodnoty ve sloupci B na základě hodnoty vybrané v první rozbalovací nabídce. To lze provést pomocí další dynamické funkce pole s názvem FILTER:

      =FILTR(B3:B15, A3:A15=D3)

      Kde B3:B15 jsou zdrojová data pro závislou rozbalovací nabídku, A3:A15 jsou zdrojová data pro hlavní rozbalovací nabídku a D3 je hlavní rozbalovací buňka.

      Abyste se ujistili, že vzorec funguje správně, můžete v prvním rozevíracím seznamu vybrat nějakou hodnotu a sledovat výsledky vrácené filtrem FILTER. Perfektní! :)

      4. Vytvořte závislou rozbalovací nabídku

      Chcete-li vytvořit druhý rozbalovací seznam, nakonfigurujte kritéria pro ověření dat přesně tak, jak jste to udělali pro první rozbalovací seznam v kroku 2. Tentokrát se však odkažte na rozsah rozsypání vrácený funkcí FILTER: =$H$3#

      A je to! Váš rozbalovací seznam závislý na aplikaci Excel je připraven k použití.

      Tipy a poznámky:

      • Chcete-li mít nové položky v rozevíracím seznamu automaticky , naformátujte svá zdrojová data jako tabulku aplikace Excel. Nebo můžete do vzorců zahrnout několik prázdných buněk, jak ukazuje tento příklad.
      • Pokud vaše původní data obsahují mezery, můžete. odfiltrovat prázdná místa pomocí tohoto řešení.
      • Na abecedně seřadit položek rozbalovacího seznamu, zabalte své vzorce do funkce SORT, jak je vysvětleno v tomto příkladu.

      Jak vytvořit více závislých rozevíracích seznamů v aplikaci Excel

      V předchozím příkladu jsme vytvořili rozbalovací seznam závislý na jiné buňce. Ale co když potřebujete víceúrovňovou hierarchii, tj. 3. rozbalovací seznam závislý ve 2. seznamu, nebo dokonce 4. rozbalovací seznam závislý na 3. seznamu. Je to možné? Ano, můžete nastavit libovolný počet závislých seznamů (samozřejmě rozumný počet :).

      V tomto příkladu jsme umístili státy / provincie do sloupce C a nyní chceme přidat odpovídající rozevírací nabídku v G3:

      Chcete-li v aplikaci Excel vytvořit rozbalovací seznam s více závislými položkami, musíte postupovat takto:

      1. Nastavte první rozbalovací seznam

      Hlavní rozbalovací seznam se vytvoří přesně stejnými kroky jako v předchozím příkladu (viz kroky 1 a 2 výše). Jediným rozdílem je odkaz na rozsah rozlivu, který zadáte do pole Zdroj: box.

      Tentokrát je vzorec UNIQUE v položce E8 a hlavní rozbalovací seznam bude v položce E3. Vyberete tedy E3, kliknete na tlačítko Ověřování dat a dodejte tento odkaz: =$E$8#

      2. Konfigurace druhého rozevíracího seznamu

      Jak jste si možná všimli, sloupec B nyní obsahuje více výskytů stejných vývozců. Chcete však mít v rozbalovacím seznamu pouze jedinečné názvy, že? Chcete-li vynechat všechny duplicitní výskyty, obklopte vzorec FILTER funkcí UNIQUE a zadejte tento aktualizovaný vzorec do klávesy F8:

      =UNIQUE(FILTER(B3:B15, A3:A15=E3))

      Kde B3:B15 jsou zdrojová data pro druhý rozbalovací seznam, A3:A15 jsou zdrojová data pro první rozbalovací seznam a E3 je první buňka rozbalovacího seznamu.

      Poté použijte následující odkaz na rozsah rozlití pro kritérium Ověření dat: =$F$8#

      3. Nastavte třetí rozevírací seznam

      Chcete-li shromáždit položky pro 3. rozbalovací seznam, použijte vzorec FILTER s více kritérii. První kritérium kontroluje celý seznam ovoce podle hodnoty vybrané v 1. rozbalovacím seznamu (A3:A15=E3), zatímco druhé kritérium testuje seznam vývozců podle výběru ve 2. rozbalovacím seznamu (B3:B15=F3). Celý vzorec přejde do G8:

      =FILTR(C3:C15, (A3:A15=E3) * (B3:B15=F3))

      Pokud budete přidávat další závislé rozbalovací seznamy (4., 5. atd.), pak s největší pravděpodobností bude sloupec C obsahovat více výskytů stejné položky. Aby se duplicity nedostaly do přípravné tabulky a následně do 3. rozbalovacího seznamu, vnořte vzorec FILTER do funkce UNIQUE, jak jsme to udělali v předchozím kroku:

      =UNIQUE(FILTER(C3:C15, (A3:A15=E3) * (B3:B15=F3)))

      Poslední věcí, kterou musíte udělat, je vytvořit ještě jedno pravidlo pro ověřování dat pomocí tohoto příkazu. Zdroj: odkaz: =$G$8#

      Váš rozevírací seznam s více závislostmi je připraven k použití!

      Tip. Podobným způsobem můžete získat předměty pro následné rozbalovací nabídky . Za předpokladu, že sloupec D obsahuje zdrojová data pro váš 4. rozevírací seznam, můžete do H8 zadat následující vzorec pro získání odpovídajících položek:

      =UNIQUE(FILTER(D3:D15, (A3:A15=E3) * (B3:B15=F3) * (C3:C15=G3)))

      Jak vytvořit rozbalovací seznam v aplikaci Excel

      Po vytvoření rozevíracího seznamu vás nejprve může zajímat, co se stane, když do zdrojových dat přidáte nové položky. Bude se rozevírací seznam automaticky aktualizovat? Pokud jsou vaše původní data formátována jako tabulka aplikace Excel, pak ano, dynamický rozevírací seznam popsaný v předchozích příkladech se automaticky rozšíří bez jakéhokoli úsilí na vaší straně, protože tabulky aplikace Excel jsou ze své podstaty rozšiřitelné.

      Pokud z nějakého důvodu není možné použít tabulku aplikace Excel, můžete rozbalovací seznam vytvořit tímto způsobem:

      • Na zahrnout nové údaje automaticky přidá do zdrojového seznamu několik dalších buněk do polí, na která se ve vzorcích odkazuje.
      • Na vyloučit prázdné buňky , nakonfigurujte vzorce tak, aby ignorovaly prázdné buňky, dokud se nevyplní.

      S ohledem na tyto dva body dolaďme vzorce v naší tabulce pro přípravu dat. Pravidla pro ověřování dat nevyžadují vůbec žádné úpravy.

      Vzorec pro hlavní rozbalovací nabídku

      S názvy ovoce v A3:A15 přidáme do pole 5 dalších buněk, abychom pokryli případné nové položky. Navíc vložíme funkci FILTER do UNIQUE, abychom získali jedinečné hodnoty bez prázdných míst.

      Vzhledem k výše uvedenému má vzorec v G3 tento tvar:

      =UNIQUE(FILTER(A3:A20, A3:A20""))

      Vzorec pro závislé rozbalovací okno

      Vzorec v G3 není třeba příliš upravovat - stačí rozšířit pole o několik dalších buněk:

      =FILTR(B3:B20, A3:A20=D3)

      Výsledkem je plně dynamický rozbalitelný závislý rozbalovací seznam:

      Jak seřadit rozevírací seznam podle abecedy

      Chcete seřadit svůj rozevírací seznam podle abecedy, aniž byste museli použít zdrojová data? Nový dynamický Excel má speciální funkci i pro tento účel! V tabulce pro přípravu dat jednoduše obklopte stávající vzorce funkcí SORT.

      Pravidla pro ověřování dat jsou nakonfigurována přesně tak, jak bylo popsáno v předchozích příkladech.

      Řazení od A do Z

      Vzhledem k tomu, že výchozí možností je vzestupné řazení, můžete své stávající vzorce prostě vnořit do pole pole argumentu SORT a vynechá všechny ostatní argumenty, které jsou nepovinné.

      Pro hlavní rozbalovací nabídka (vzorec v G3):

      =SORT(UNIQUE(FILTER(A3:A20, A3:A20"")))

      Pro závislé rozevírací okno (vzorec v H3):

      =SORT(FILTER(B3:B20, A3:A20=D3))

      Hotovo! Oba rozevírací seznamy se seřadí podle abecedy od A do Z.

      Řazení od Z do A

      Chcete-li řadit sestupně, musíte nastavit 3. argument ( sort_order ) funkce SORT na -1.

      Pro hlavní rozbalovací nabídka (vzorec v G3):

      =SORT(UNIQUE(FILTER(A3:A20, A3:A20"")), 1, -1)

      Pro závislé rozevírací okno (vzorec v H3):

      =SORT(FILTER(B3:B20, A3:A20=D3), 1, -1)

      Tím se data v přípravné tabulce i položky v rozevíracích seznamech seřadí od Z po A:

      Takto lze vytvořit dynamický rozevírací seznam v aplikaci Excel pomocí nových funkcí dynamického pole. Na rozdíl od tradičních metod tento přístup dokonale funguje pro jednoslovné i víceslovné položky a postará se o případné prázdné buňky. Děkujeme za přečtení a doufáme, že se příští týden uvidíme na našem blogu!

      Cvičebnice ke stažení

      Rozbalovací seznam závislý na aplikaci Excel (.xlsx soubor)

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.