Obsah
Výukový program ukazuje, jak používat pokročilý filtr v aplikaci Excel, a uvádí řadu netriviálních příkladů rozsahu kritérií pro vytvoření filtru rozlišujícího malá a velká písmena, vyhledávání shod a rozdílů mezi dvěma sloupci, extrakci záznamů, které odpovídají menšímu seznamu, a další.
V našem předchozím článku jsme se zabývali různými aspekty pokročilého filtru aplikace Excel a tím, jak jej použít k filtrování řádků pomocí logiky AND i OR. Nyní, když už znáte základy, se podíváme na složitější příklady rozsahů kritérií, které se vám mohou při práci hodit.
Nastavení rozsahu kritérií na základě vzorce
Vzhledem k tomu, že většina příkladů rozsahů kritérií probíraných v tomto kurzu bude obsahovat různé vzorce, začneme definicí základních pravidel pro jejich správné nastavení. Věřte mi, že tento malý kousek teorie vám ušetří spoustu času a ušetří vás bolesti hlavy při řešení problémů s vašimi složitými rozsahy kritérií, které obsahují více podmínek založených na vzorcích.
- Vzorec, který použijete v rozsahu kritérií, se musí vyhodnotit jako. TRUE nebo FALSE .
- Rozsah kritérií by měl obsahovat alespoň 2 buňky: buňka vzorce a buňka záhlaví.
- Na stránkách buňka záhlaví kritérií založených na vzorci by měla být buď prázdná, nebo odlišná od záhlaví tabulky (rozsahu seznamu).
- Pro vzorec, který má být vyhodnocen pro každý řádek v rozsahu seznamu odkazujte na nejvyšší buňku s daty pomocí relativního odkazu, například A1.
- Aby se vzorec vyhodnocoval pouze pro a konkrétní buňka nebo rozsah buněk , odkazujte na tuto buňku nebo rozsah pomocí absolutního odkazu, například $A$1.
- Při odkazování na rozsah seznamu ve vzorci vždy používejte absolutní odkazy na buňky.
- Při zadávání více podmínek zadejte všechna kritéria na stejném řádku, abyste je spojili pomocí spojovníku. A a každé kritérium umístěte na samostatný řádek, abyste je mohli spojit s operátorem NEBO provozovatel.
Příklady kritérií pokročilého filtru aplikace Excel
V následujících příkladech se naučíte vytvářet vlastní filtry v aplikaci Excel, které zvládnou složitější úlohy, jež nelze provést pomocí běžného automatického filtru aplikace Excel.
Filtr pro textové hodnoty rozlišující malá a velká písmena
Stejně jako nástroj Automatický filtr aplikace Excel, ani nástroj Rozšířený filtr ve své podstatě nerozlišuje velká a malá písmena, což znamená, že při filtrování textových hodnot nerozlišuje mezi velkými a malými písmeny. Můžete však snadno provést vyhledávání s rozlišením velkých a malých písmen pomocí funkce EXACT v kritériích rozšířeného filtru.
Chcete-li například filtrovat řádky obsahující Banán , přičemž ignoruje BANANA a banán , zadejte do rozsahu kritérií následující vzorec:
=EXACT(B5, "Banán")
Kde B je sloupec obsahující názvy položek a řádek 5 je první datový řádek.
A poté použijte pokročilý filtr aplikace Excel kliknutím na tlačítko Pokročilé tlačítko na Data a nakonfigurujte kartu Rozsah seznamu a Rozsah kritérií jak je znázorněno na obrázku níže. Věnujte prosím pozornost tomu, že Rozsah kritérií obsahuje 2 buňky - buňka záhlaví a buňka vzorce .
Poznámka: Na výše uvedeném obrázku i na všech dalších snímcích obrazovky v tomto návodu jsou vzorce v buňkách rozsahu kritérií zobrazeny pouze z důvodu přehlednosti. V reálných pracovních listech by buňka vzorce měla vracet buď hodnotu TRUE, nebo FALSE v závislosti na tom, zda první řádek dat odpovídá kritériím, nebo ne:
Filtrování hodnot nad nebo pod průměrem ve sloupci
Při filtrování číselných hodnot můžete často chtít zobrazit pouze ty buňky, které jsou nad nebo pod průměrnou hodnotou ve sloupci. Například:
Filtrování řádků s mezisoučtem nadprůměrný , použijte v rozsahu kritérií následující vzorec:
=F5>PRŮMĚR($F$5:$F$50)
Filtrování řádků s mezisoučtem podprůměrný , použijte následující vzorec:
=F5
Dbejte prosím na to, že pro odkaz na horní buňku s daty (F5) používáme relativní odkaz a pro definování celého rozsahu, pro který chcete vypočítat průměr, kromě záhlaví sloupce, používáme absolutní odkazy ($F$5:$F$50).
Následující snímek obrazovky ukazuje výše uvedený průměrný vzorec v akci:
Ti z vás, kteří znají číselné filtry aplikace Excel, se možná diví, proč by se někdo obtěžoval používat pokročilý filtr, když vestavěné číselné filtry již mají. Nadprůměrný a Podprůměrný To je pravda, ale vestavěné filtry Excelu nelze použít s logikou OR!
Abychom tento příklad posunuli dále, vyfiltrujme řádky, kde Dílčí součet (sloupec F) NEBO září prodej (sloupec E) je nadprůměrná. Za tímto účelem nastavte rozsah kritérií s logikou OR zadáním každé podmínky na samostatném řádku. Výsledkem bude seznam položek s nadprůměrnými hodnotami ve sloupci E nebo F:
Filtrování řádků s prázdnými nebo nevyplněnými místy
Jak všichni vědí, filtr aplikace Excel má vestavěnou možnost filtrování prázdných buněk. Výběrem nebo zrušením výběru buňky (prázdná místa) zaškrtávacího políčka v nabídce Automatický filtr, můžete zobrazit pouze ty řádky, které mají v jednom nebo více sloupcích prázdné nebo neprázdné buňky. Problém je v tom, že vestavěný filtr Excelu pro prázdné buňky může pracovat pouze s logikou AND.
Pokud chcete filtrovat prázdné nebo neprázdné buňky pomocí logiky OR nebo použít podmínky pro prázdné/neprázdné buňky spolu s některými dalšími kritérii, nastavte rozšířený rozsah kritérií filtru pomocí jednoho z následujících vzorců:
Filtr polotovary :
top_cell =""Filtr bez prázdných políček:
top_cell ""Filtrování prázdných buněk pomocí logiky OR
Chcete-li filtrovat řádky, které mají prázdnou buňku buď ve sloupci A, nebo B, nebo v obou sloupcích, nakonfigurujte rozsah kritérií pokročilého filtru tímto způsobem:
=A6=""
=B6=""
Kde 6 je nejvyšší řádek dat.
Filtrování neprázdných buněk pomocí logiky OR i AND
Abychom lépe pochopili, jak pokročilý filtr aplikace Excel pracuje s více kritérii, vyfiltrujme řádky v naší ukázkové tabulce pomocí následujících podmínek:
- Buď Region (sloupec A) nebo Položka (sloupec B) by neměl být prázdný a
- Dílčí součet (sloupec C) by měla být větší než 900.
Jinak řečeno, chceme zobrazit řádky, které splňují následující podmínky:
( Mezisoučet >900 A Region =neprázdný) NEBO ( Mezisoučet >900 A Položka =neprázdný)
Jak již víte, v rozsahu kritérií pokročilého filtru aplikace Excel by měly být podmínky spojené logikou AND zadány ve stejném řádku a podmínky spojené logikou OR v různých řádcích:
Protože jedno kritérium v tomto příkladu je vyjádřeno pomocí vzorce (bez prázdných míst) a druhé obsahuje operátor porovnání (Dílčí součet> 900), dovolte mi připomenout, že:
- Kritéria vytvořená pomocí operátorů porovnávání by měla mít nadpisy přesně stejné jako nadpisy tabulky, jako např. Dílčí součet kritéria na výše uvedeném snímku obrazovky.
- Kritéria založená na vzorcích by měla mít buď prázdnou buňku záhlaví, nebo záhlaví, které neodpovídá žádnému ze záhlaví tabulky, jako např. Nevyplněné položky kritéria na výše uvedeném snímku obrazovky.
Jak extrahovat horní/dolní N záznamů
Jak pravděpodobně víte, vestavěné číselné filtry aplikace Excel mají možnost zobrazit 10 nejvyšších nebo 10 nejnižších položek. Co když ale potřebujete vyfiltrovat 3 nejvyšší nebo 5 nejnižších hodnot? V takovém případě se hodí pokročilý filtr aplikace Excel s následujícími vzorci:
Výpis top N položek:
top_cell >=LARGE( rozsah , N)Výpis spodní část N položek:
top_cell <=SMALL( rozsah , N)Chcete-li například filtrovat 3 nejvyšší mezisoučty, vytvořte rozsah kritérií pomocí tohoto vzorce:
=F5>=LARGE($F$5:$F$50,3)
Chcete-li získat spodní 3 mezisoučty, použijte tento vzorec:
=F5>=SMALL($F$5:$F$50,3)
kde F5 je nejvyšší buňka s daty v seznamu. Mezisoučet (kromě záhlaví sloupce).
Následující snímek obrazovky ukazuje vzorec Top 3 v akci:
Poznámka: Pokud rozsah seznamu obsahuje několik řádků se stejnými hodnotami, které spadají do horní/dolní části seznamu N, zobrazí se všechny takové řádky, jak je znázorněno na obrázku níže:
Filtrování shod a rozdílů mezi dvěma sloupci
V jednom z našich předchozích článků jsme vysvětlili řadu způsobů, jak v aplikaci Excel porovnat dva sloupce a najít mezi nimi shody a rozdíly. Kromě vzorců aplikace Excel, pravidel podmíněného formátování a nástroje Odstraňovač duplicit popsaných ve výše uvedeném návodu můžete také použít pokročilý filtr aplikace Excel k extrakci řádků, které mají stejné nebo rozdílné hodnoty ve dvou nebo více sloupcích. K tomu zadejte jeden z nich.následujících jednoduchých vzorců v rozsahu kritérií:
- Filtr pro odpovídá (duplikáty) ve 2 sloupcích:
=B5=C5
=B5C5
Kde B5 a C5 jsou nejvyšší buňky s daty ve dvou sloupcích, které chcete porovnat.
Poznámka: Nástroj rozšířeného filtru může vyhledávat shody a rozdíly pouze v. stejný řádek Chcete-li najít všechny hodnoty, které jsou ve sloupci A, ale nejsou nikde ve sloupci B, použijte tento vzorec.
Filtrování řádků na základě shodných položek v seznamu
Předpokládejme, že máte velkou tabulku se stovkami nebo tisíci řádků a obdrželi jste kratší seznam obsahující pouze položky relevantní v daném okamžiku. Otázka zní - jak zjistíte všechny položky v tabulce, které jsou nebo nejsou v menším seznamu?
Filtrování řádků, které odpovídají položkám v seznamu
Chcete-li najít všechny položky ve zdrojové tabulce, které se vyskytují i v menším seznamu, použijte následující vzorec COUNTIF:
COUNTIF( list_to_match , top_data_cell)Za předpokladu, že menší seznam je v rozsahu D2:D7 a položky tabulky, které se mají s tímto seznamem porovnávat, jsou ve sloupci B počínaje řádkem 10, je vzorec následující (všimněte si prosím použití absolutních a relativních odkazů):
=COUNTIF($D$2:$D$7,B10)
Samozřejmě nejste omezeni na filtrování tabulky pouze podle jednoho kritéria.
Například pro filtrování řádků odpovídajících seznamu, ale pro položku Severní region pouze zadejte dvě kritéria do stejného řádku, aby fungovala s logikou AND:
- Region:
="=Sever"
- Odpovídající položky:
=COUNTIF($D$2:$D$7,B10)
Jak vidíte na obrázku níže, v tabulce jsou pouze dva záznamy, které splňují obě kritéria:
Poznámka: V tomto příkladu používáme přesná shoda kritéria pro textové hodnoty: ="=Sever "
vyhledat pouze ty buňky, které se přesně rovnají zadanému textu. Pokud zadáte kritéria regionu jednoduše jako Severní (bez znaménka rovnosti a dvojitých uvozovek) najde Microsoft Excel všechny položky, které začínají zadaným textem, např. Severovýchod nebo Severozápadní . Další informace naleznete v části Pokročilý filtr aplikace Excel pro textové hodnoty.
Filtrování řádků, které neodpovídají položkám v seznamu
Chcete-li najít všechny položky v tabulce, které nejsou v menším seznamu, zkontrolujte, zda je výsledek našeho vzorce COUNTIF roven nule:
COUNTIF( list_to_match , top_data_cell) =0Chcete-li například filtrovat Severní region položek v tabulce, které se v seznamu objeví, použijte následující kritéria:
- Region:
="=Sever"
- Neodpovídající položky:
=COUNTIF($D$2:$D$7,B10)=0
Poznámky:
- Pokud se seznam, který má být porovnán, nachází v jiném pracovním listu, nezapomeňte do vzorce uvést název listu, např.
=COUNTIF(List2!$A$2:$A$7,B10)
. - Pokud chcete výsledky extrahovat do jiného listu, spusťte pokročilý filtr z cílového listu, jak je vysvětleno v části Jak extrahovat filtrované řádky do jiného listu.
Filtr pro víkendy a pracovní dny
Dosud jsme se v příkladech rozsahu kritérií pokročilého filtru zabývali převážně číselnými a textovými hodnotami. Nyní je na čase poskytnout nápovědu těm z vás, kteří pracují s daty.
Vestavěné filtry data aplikace Excel poskytují širokou škálu možností, které pokrývají mnoho scénářů. Mnoho, ale ne všechny! Například, pokud byste dostali seznam dat a chtěli filtrovat dny v týdnu a víkendy, jak byste postupovali?
Jak pravděpodobně víte, Microsoft Excel nabízí speciální funkci WEEKDAY, která vrací den v týdnu odpovídající danému datu. A právě tuto funkci budeme používat v rozsahu kritérií pokročilého filtru aplikace Excel.
Jak filtrovat víkendy v aplikaci Excel
Vzhledem k tomu, že v termínech WEEKDAY znamená 1 neděli a 6 sobotu, je vzorec pro filtrování víkendů následující:
NEBO(TÝDEN( datum )=7, WEEKDAY( datum )=1)V tomto příkladu filtrujeme data ve sloupci B počínaje řádkem 5, takže náš vzorec Weekends má následující tvar:
=NEBO(DEN V TÝDNU(B5)=7, DEN V TÝDNU(B5)=1)
Jak filtrovat dny v týdnu v aplikaci Excel
Chcete-li filtrovat dny v týdnu, upravte výše uvedený vzorec tak, aby vynechal jedničky (neděle) a sedmičky (sobota):
A(TÝDEN( datum )7, WEEKDAY( datum )1)Pro naši vzorovou tabulku bude fungovat následující vzorec:
=AND(DEN V TÝDNU(B5)7, DEN V TÝDNU(B5)1)
Kromě toho můžete přidat ještě jednu podmínku pro odfiltrování prázdných buněk: =B5""
Chcete-li filtrovat data v pracovních listech jinými způsoby, stačí najít příslušnou funkci Datum a neváhejte ji použít v rozsahu kritérií rozšířeného filtru.
Takto tedy můžete použít pokročilý filtr v Excelu se složitými kritérii. Vaše možnosti samozřejmě nejsou omezeny na příklady probírané v tomto návodu, naším cílem bylo pouze poskytnout vám několik inspirativních nápadů, které vás navedou na správnou cestu. Nezapomeňte, že cesta k mistrovství je dlážděna praxí, můžete si stáhnout naše příklady pomocí níže uvedeného odkazu a rozšířit je nebo obrátit -inženýr je pro lepší pochopení. Děkuji vám za přečtení a doufám, že se uvidíme na našem blogu příští týden!
Cvičebnice
Příklady pokročilých filtrů aplikace Excel (.xlsx soubor)