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.
Začneme zapisovat funkci FILTER. Vidíme, že má tři parametry, z nichž poslední je nepovinný.
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.
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.
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")
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.
Pokud by nám takto…