Přejít k hlavnímu obsahu

Jak filtrovat data z výběru rozevíracího seznamu v aplikaci Excel?

V aplikaci Excel může většina z nás filtrovat data pomocí funkce Filtr. Pokusili jste se ale někdy filtrovat data z výběru z rozevíracího seznamu? Například když vyberu jednu položku z rozevíracího seznamu, chci, aby její odpovídající řádky byly odfiltrovány, jak ukazuje následující snímek obrazovky. V tomto článku budu hovořit o tom, jak filtrovat data pomocí rozevíracího seznamu v jednom nebo dvou listech.

Filtrování dat z výběru rozevíracího seznamu v jednom listu pomocí pomocných vzorců

Filtrujte data z výběru rozevíracího seznamu ve dvou pracovních listech pomocí kódu VBA


Filtrování dat z výběru rozevíracího seznamu v jednom listu pomocí pomocných vzorců

Chcete-li filtrovat data z rozevíracího seznamu, můžete vytvořit několik sloupců pomocných vzorců. Postupujte prosím po následujících krocích:

1. Nejprve vložte rozevírací seznam. Klikněte na buňku, do které chcete vložit rozevírací seznam, a poté klikněte na Data > Ověření dat > Ověření dat, viz screenshot:

2. Ve vyskočené Ověření dat v dialogovém okně pod Nastavení vyberte kartu Seznam z povolit rozevírací seznam a poté klikněte Tlačítko pro výběr datového seznamu, na kterém chcete vytvořit rozevírací seznam, viz screenshot:

3. A pak klikněte na tlačítko OK tlačítko, rozevírací seznam se vloží najednou a z rozevíracího seznamu vyberte jednu položku a poté zadejte tento vzorec: = ŘADY ($ A $ 2: A2) (A2 je první buňka ve sloupci, který obsahuje hodnotu rozevíracího seznamu) do buňky D2, a pak přetáhněte popisovač výplně dolů do buněk a použijte tento vzorec, viz screenshot:

4. Pokračujte zadáním tohoto vzorce: = IF (A2 = $ H $ 2, D2, "") do buňky E2 a potom přetažením úchytu výplně dolů vyplňte tento vzorec, viz screenshot:

Poznámka: Ve výše uvedeném vzorci :A2 je první buňka ve sloupci, která obsahuje hodnotu rozevíracího seznamu ,H2 je buňka, do které je umístěn rozevírací seznam, D2 je první vzorec pomocného sloupce.

5. A potom zadejte tento vzorec: = IFERROR (MALÝ ($ E $ 2: $ E $ 17, D2), "") do buňky F2, pak přetáhněte úchyt výplně dolů do buněk a vyplňte tento vzorec, viz screenshot:

Poznámka: Ve výše uvedeném vzorci: E2: E17 je druhá buňka pomocného vzorce, D2 je první buňka ve sloupci prvního pomocného vzorce.

6. Po vložení sloupců pomocného vzorce byste měli odeslat filtrovaný výsledek do jiného umístění, použijte tento vzorec: =IFERROR(INDEX($A$2:$C$17,$F2,COLUMNS($J$2:J2)),"") do buňky J2 a poté přetáhněte popisovač výplně z J2 na L2 a byl extrahován první záznam dat na základě rozevíracího seznamu, viz screenshot:

Poznámka: Ve výše uvedeném vzorci: A2: C17 jsou původní data, která chcete filtrovat, F2 je třetí sloupec pomocného vzorce, J2 je buňka, do které chcete odeslat výsledek filtru.

7. A pak pokračujte přetažením úchytu výplně dolů do buněk a zobrazte všechny odpovídající filtrované záznamy, viz screenshot:

8. Od této chvíle, když vyberete jednu položku z rozevíracího seznamu, všechny řádky založené na tomto výběru jsou filtrovány najednou, viz screenshot:


Filtrujte data z výběru rozevíracího seznamu ve dvou pracovních listech pomocí kódu VBA

Pokud vaše buňka rozevíracího seznamu v List1 a filtrovaná data v List2, při výběru jedné položky z rozevíracího seznamu bude odfiltrován další list. Jak jste mohli dokončit tuto práci v aplikaci Excel?

Následující kód VBA vám může udělat laskavost, udělejte to takto:

1. Klikněte pravým tlačítkem na kartu listu, která obsahuje buňku rozevíracího seznamu, a poté vyberte Zobrazit kód z kontextového menu v otevřeném Microsoft Visual Basic pro aplikace okno, zkopírujte a vložte následující kód do prázdného modulu:

Kód VBA: Filtrování dat z výběru rozevíracího seznamu ve dvou listech:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Not Intersect(Range("A2"), Target) Is Nothing Then
        Application.EnableEvents = False
        If Range("A2").Value = "" Then
            Worksheets("Sheet2").ShowAllData
        Else
            Worksheets("Sheet2").Range("A2").AutoFilter 1, Range("A2").Value
        End If
        Application.EnableEvents = True
    End If
End Sub

Poznámka: Ve výše uvedeném kódu: A2 je buňka, která obsahuje rozevírací seznam, a Sheet2 je list obsahující data, která chcete filtrovat. Číslo 1 ve skriptu: Automatický filtr 1 je číslo sloupce, podle kterého chcete filtrovat. Můžete je podle potřeby změnit.

2. Od této chvíle, když vyberete jednu položku z rozevíracího seznamu v List1 a odpovídající data budou odfiltrována v List2, viz screenshot:

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
For me, the Formula =ROWS($A$2:A2) didn't workend! It always gave me "2" back. I had to put =ROWS($A2:A2), so without the second "$", in order to reproduce your result.
This comment was minimized by the moderator on the site
How do I add multiple drown down menus? For example,
If i wanted a drop down menu for Product and name?.
This comment was minimized by the moderator on the site
Hey Kev, wondering if you found an answer to your question here? I have been looking for a bit to no avail.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations