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
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...
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!