Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Jak filtrovat bez využití filtrů, aneb využití pár funkcí a můžete mít naprogramovány vlastní filtry ;)
Reaguje na jeden zajímavý dotaz v emailu a dlouhou cestu do Prahy, tak jsem si trochu pohrál s funkcemi a napsal tento článek.
Cílem článku je ukázat netradiční použití funkcí, které nahradí sofistikovaný filtr v Excel. Cílem je do příslušných buněk zadat hledané veličiny a pokud se v dané tabulce nacházejí, tak budou vypsány.
Pro přehlednost je článek rozdělen:
Jak může vypadat:
Poznámka: Pro lepší pochopení doporučuji stáhnou přiložený excelovský sešit.
Při tvorbě předpokládám, že máte mírně pokročilé znalosti Excel a umíte používat řetězení funkcí a také smíšené odkazy. Předpokládám tyto znalosti:
Pokud umíte (zvládate), můžete se vrhnout na vyřešení, článek vám bude nápomocen (případně si můžete rovnou stáhnout hotovou ukázku, včetně řešení).
Zdrojová tabulka bude obsahovat například ID (pořadí), Jméno, Plat, Datum, Čas
ID | Jméno | Plat | Datum | Čas |
---|---|---|---|---|
1 | Pavel | 15 000 | 4.12.2015 | 15:10 |
2 | Ivo | 17 000 | 4.12.2015 | 16:20 |
3 | Ivos | 20 000 | 7.12.2015 | 11:10 |
4 | Karel | 10 000 | 7.6.2015 | 17:47 |
5 | Karel Voršálek | 15 000 | 1.1.2014 | 5:01 |
A doplním o "tabulku" co hledám.
ID | Jméno | Plat | Datum | Čas |
---|---|---|---|---|
Postup řešení. Zdrojová tabulka se doplní o pomocnou tabulku, která pomůže určit, zda daný řádek patří do hledaného rozsahu (odpovídá, hledaným hodnotám).
Nejprve pro každý sloupec zdrojové tabulky samostatně určíme, zda odpovídají hledaným kritériím. Následně spočteme počet shodných hodnot v řádku. Pokud je počet v řádku shodný s počtem hledaných hodnot zapíše se hodnota daného řádku do dalšího pomocného sloupce. Následně seřadíme čísla řádku, tak ˇAt neobsahují prázdné řádky. Následně již stačí vyplnit cílovou tabulku.
Pomocí této tabulky zjistíte, zda daná položka se shoduje s hledáním (hledanou hodnotou), využijete funkce COUNTIF
=COUNTIF(A18;$A$6)
V dalším pomocném sloupci sečtete (chcete zobrazit jen řádky, které ve všech ohledech splňují hledaná kritéria).
=SUMA(G18:K18)
Ve dalším pomocném sloupci pořadí zobrazíme ID sloupců, které splňují všechna kriéria.
=KDYŽ(M18=$M$6;A18;"")
Počet vyplněných sloupců je z tabulky ve které je hledání. Jelikož někdy potřebujete hledat jen podle jména, někdy podle jména a platu, atd.
=POČET2(A6:E6)
Posledním pomocným sloupcem je sumarizace pořadí, využijete funkce SVYHLEDAT a POSUN. Lze řešit i jinak, ale já zvolil funkci POSUN, mám já rád, tak proč jí nepoužít ;) šlo by doplnit o funkci, která ošetří chybové hodnoty pokud nebude nalezeno, ale to nechám už na vás, pro další postup chybová hodnota nevadí.
=SVYHLEDAT($M$6;M18:N22;2;NEPRAVDA)
=SVYHLEDAT($M$6;(POSUN($M$18:$N$22;O18;0));2;NEPRAVDA)
Takže máme ID (pořadí) řádku splňující požadovaná kritéria. Teď už zbývá jen vytvořit tabulku výsledku, na to se podíváte v další kapitole.
Z předchozí kapitoly máte hotové pořadová čísla, teď už není nic jednoduššího než si vypsat řádky, které splňují naše požadavky. Využijeme funkci INDEX (lze i SVYLHEDAT), ale ať se procvičíte ;)
No a aby nebylo potřeba tvořit pro každý sloupce, lze využít smíšené odkazování. Funkce je doplněna o IFERROR, aby nenalezené řádky ve výsledné tabulce byly prázdné. V této tabulce obsahují mezerník.
=IFERROR(INDEX(A$18:A$22;$O18;1);" ")
Povedlo se? Pokud ne můžete si v další kapitole stáhnout hotovou ukázku.
Soubor Filtry bez filtrů - Excel ke stažení zdarma.
Nehcete se mořit s vlastní imitací filtrů, můžete využít filtry zabudované přímo v Excel:
Máte inspirativní příklad různého použití funkci? Můžete zmínit v komentářích.
Článek byl aktualizován: 19.09.2020 10:56
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Přidáno: 06.12.15 20:44
Vďaka za Vaše stránky , rád ich čítam a skúšam príklady. Tešil som sa aj na dnešné "filtre" , ale je to na mňa komplikované, preto som chcel skúsiť download nefunguje ... (stránka nenalezena...). Pls opravíte to ? Prajem všetko dobré.
Přidáno: 06.12.15 21:34
To Michal: Děkuji, opraveno již funguje.
Přidáno: 06.12.15 21:53
A... cože? Jo, to asi není inspirativní příspěvek, ale já mám prostě otevřenou pusu a nevím, o čem je ten článek.
Přidáno: 06.12.15 21:57
Paráda. Vy ste teda hlavička. Nech sa Vám darí (nie len v EXCEL-i).
Přidáno: 07.12.15 08:55
To xlnc: Tohle není inspirativní článek ;) Jde o "vtípek" jak si lze hrát s funkcemi. Proto je ke stažení excelovský sešit. Zkusím ještě doplnit o další informace ať je popis pochopitelnější. Děkuji.
Přidáno: 07.12.15 22:41
Super nápad je vynikajúci ako študijný materiál.
Přidáno: 08.12.15 08:55
Mne by v práci pomohlo, ak by som mal možnosť filtrovať údaje z cca 3 (hárkov), každý má cez 800 riadkov (a pribúdajú ďalšie) s tým, že kritériom pre zoradenie by bol len jeden jediný parameter (číslo: v tvare napr. 123/2014) Ten "filter" by bol na jednom liste (hárku) a tie výsledky by sa mi v reálnom čase zobrazovali (z tých 3 iných). Vie niekto ako na to ? ... a všetkým prajem pokojný predvianočný čas.
Přidáno: 09.12.15 13:54
To Michal: Nelze využít sloučení v kontingenčních tabulkách? http://office.lasakovi.com/excel/kontingencni-tabulka/kontingencni-tabulka-rozdelene-tabulky-dat-excel/
Přidáno: 10.12.15 11:48
Musím si tie KT viac naštudovať .... vyskúšam. Každopádne vďaka za radu.
Přidáno: 21.12.15 11:50
Tak som svoj problém filtrovania vyriešil ... , na každom hárku (liste) som pripojil rozšírený filter a na vstupnom hárku, kde sa mi majú zobrazovať filtrované dáta som umiestnil tlačítko ktoré mi za pomoci makra jednoducho skopíruje vyfiltrované dáta zo všetkých troch hárkov vedľa seba. Ide to ako má. Určite inšpirované aj Vašimi stránkami. Vďaka.
Přidáno: 25.07.16 14:22
Já díky vám začínám milovat Excel?
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2024 |