V první části miniseriálu o nových funkcích Excelu, dostupných předplatitelům Office 365, jsme si představili funkce SORT a SORTBY sloužící k seřazování. Mezi novými funkcemi najdeme ale i funkci FILTER sloužící k filtrování seznamů.
NahoruZákladní provedení funkce FILTER
Stejně jako funkce SORT a SORTBY je i funkce FILTER zástupcem nových maticových vzorců (tzv. dynamických polí). Ukažme si ji opět nejdříve v základním provedení. V oblasti A1:C18 máme připraven zdrojový seznam, ze kterého chceme vyfiltrovat pouze byty. Do oblasti E1:G1 si zkopírujeme záhlaví seznamu a klikneme do buňky E2, ve které má začínat vyfiltrovaný seznam.
![](/images/onlibpc/20_05excel_filter_01.png)
Začneme zapisovat funkci FILTER. Vidíme, že má tři parametry, z nichž poslední je nepovinný.
![](/images/onlibpc/20_05excel_filter_02.png)
Prvním parametrem s názvem pole určíme zdrojový seznam, který chceme filtrovat – v našem případě půjde o oblast A2:C18, tedy oblast našeho původního seznamu bez jeho záhlaví. Druhým parametr s názvem zahrnuje určíme podmínku filtrace, a to tak, že označíme celý sloupec, podle kterého chceme filtrovat a následně po zápisu relačního operátoru (tedy např. znaku rovná se, větší, menší apod.) zapíšeme požadovanou hodnotu. V našem případě se ptáme na záznamy, které ve sloupci B nabývají hodnoty „byt“, a tak bude mít podmínka tvar B2:B18="byt". Uživatelům, kteří pracují s klasickými maticovými vzorci, by měl být zápis, ve kterém se ptáme na hodnoty celého sloupce najednou, celkem povědomý. Pro ostatní uživatele bude asi trochu nezvyklý, nicméně funguje.
![](/images/onlibpc/20_05excel_filter_03.png)
Třetí parametr prozatím vynecháme a vzorec potvrdíme. Počínaje buňkou E2 se nám ve sloupcích E až F zobrazí všechny záznamy o bytech.
![](/images/onlibpc/20_05excel_filter_04.png)
Podmínkou funkčnosti zadaného vzorce je soulad mezi parametry pole a zahrnuje. Pokud se bude lišit počet řádků v oblastech těchto parametrů, tak funkce vrátí chybu #HODNOTA! Pokud by byl sice počet řádků shodný, ale parametry by pokrývaly jiné řádky zdrojového seznamu, tak by byly výsledky nesmyslné.
U rozsáhlých tabulek může být výhodné odkazovat jak v parametru pole, tak v parametru zahrnuje na celé sloupce původní tabulky. Vzorec pak bude mít např. následující podobu:
=FILTER(A:A;B:B="byt")
![](/images/onlibpc/20_05excel_filter_05.png)
Pokud je zadání smysluplné, ale neodpovídá mu žádný záznam z tabulky, tak bude standardně zobrazena chyba #VÝPOČET! Tak např. změníme zadání vzorce tak, aby hledal všechny zahrady – bude mít tedy tvar =FILTER(A2:C18;B2:B18="zahrada"). Žádný takový záznam ve zdrojovém seznamu nemáme, a tak je jako výsledek zobrazena zmíněná chyba.
![](/images/onlibpc/20_05excel_filter_06.png)
Pokud by nám takto…