Manažerská informatika 3MA381
Domů  |  3MA112  |  3MA191  |  3MA381  |  3MA382  |  3MA481   
Osnova cvičení Úvodní informace Harmonogram prezentací Hodnocení Podklady ke cvičením Teorie Domácí cvičení(Extra) Aktivity Odkazy Lorenc menu-stin

Seznamy a filtrování dat

V tabulkovém procesoru často pracujeme s tabulkou, která vypadá jako jednoduchá databáze. Pokud má taková tabulka určitou strukturu a splňuje jednoduchá pravidla, pak s ní můžeme provádět některé operace jako s databází. Takové tabulce budeme říkat seznam.

Seznam

Co to je seznam

Seznam je jednoduchá databázová tabulka, která obsahuje v prvním řádku záhlaví (názvy polí) a v dalších řádcích záznamy (věty).

Záznam je jedna položka seznamu, jeden řádek, který obsahuje jednotlivá pole záznamu.

Pole  je položka záznamu, buňka, která má daný datový typ stejný s ostatními poli jednotlivých záznamů v daném sloupci. Polem může být text, číslo, datum, čas, logická hodnota, vzorec nebo funkce.  

Nahoru

Pravidla pro vytváření seznamů

Pokud chceme, abychom s tabulkou mohli pracovat jako se seznamem, měli bychom dodržet některá pravidla:

V seznamu nesmíme mít žádný prázdný řádek ani sloupec. Tím by došlo k rozdělení seznamu na části – dílčí seznamy.

Co naopak není potřeba:

Nahoru

Řazení polí

Záznamy můžeme v seznamu řadit podle libovolného pole nebo i podle několika polí najednou. K seřazení záznamů podle jednoho pole stačí označit libovolnou buňku v daném sloupci (včetně záhlaví pole) a kliknout na ikonu Seřadit  vzestupně Řazení polí nebo  Seřadit sestupně Řazení polí. Pro řazení záznamů podle více polí můžeme zvolit z nabídky Data příkaz Seřadit... a nadefinovat podmínek více (před zvolením příkazu je potřeba aby byla označena libovolná buňka seznamu). V možnostech řazení je i zajímavá možnost řazení podle řádku nikoli sloupce.

Seřadit  podle

Pokud v seznamu označíme více než jednu buňku, pak se nás Excel zeptá, jestli chceme řazení provést jen v rámci označených buněk nebo jestli chceme tuto oblast rozšířit na celý seznam.

Seřadit  oblast
Nahoru

Jak řadí Excel

To je složitější otázka. Pokud máme v polích údaje stejného typu, pak je to jednoduché. Například při vzestupném řazení:

Při řazení pole, kde je více typů údajů je řazení na první pohled složitější. Při vzestupném řazení:

Jako první se ve skutečnosti řadí některé řídící a netisknutelné znaky, ale s těmi se v tabulkovém procesoru setkáme zřídka.

Data se řadí podle pořadí dne. Nejdříve tedy ty co jsou blíže k datu 1.1.1900. Při řazení čísel a dat najednou má datum hodnotu čísla dle pořadí od 1.1.1900 resp. 1904.

Formát data, času, čísla apod. nemá vliv na jejich řazení stejně jako barva písma, vzorek či ohraničení apod.

Nahoru

Formulář

Pro prohlížení záznamů v seznamu můžeme použít Formulář. Údaje zde můžeme nejen prohlížet, ale i editovat a přidávat nové řádky (záznamy). Měnit lze ty pole, která jsou v záznamu skutečně zapsaná. Na obrázku níže je vidět, že Věk je dopočítáván vzorcem, proto nejde editovat.

Seznamy - formulář
Nahoru

Automatický filtr

Pokud pracujeme s tabulkou, která má znaky seznamu / databáze, pak se většinou jedná o rozsáhlé množství záznamů, ve kterých není snadné se snadno orientovat. Často jde o stovky až desetitisíce záznamů. Pro lepší orientaci, analýzu a zpracování informací je vhodné pracovat pouze se záznamy, které nás v danou chvíli zajímají. Excel nám pro tento účel mj. nabízí filtrování dat a to pomocí automatického nebo rozšířeného filtru.

Automatický filtr spustíme tak, že označíme jakoukoliv buňku v seznamu a vybereme z nabídky příkaz Data – Filtr – Automatický filtr. Excel automaticky rozpozná první řádek seznamu jako názvy polí a přiřadí každému názvu pole tlačítko se šipkou a seznamem nabízených řazení a filtrů.

Seznamy

Máme tedy následující možnosti:

Filtry v jednotlivých polích seznamu lze libovolně kombinovat. Pokud je aplikován nějaký filtr a alespoň jeden záznam ze seznamu vyhovuje nastavenému filtrování (řádek se záznamem je skrytý), pak šipka u filtrovaného názvu pole má modrou barvu a čísla řádků, ve kterých je seznam mají také modrou barvu. Pokud použijeme filtrování v několika polích a pak chceme najednou zobrazit všechny záznamy nemusíme u všech názvů polí volit (Vše), ale postačí zvolit z nabídky Data – Filtr – Zobrazit vše. Při použití automatického filtru zůstává seznam celou dobu na původním místě a žádné záznamy se ze seznamu nemažou. Při zobrazení všech záznamů dostáváme tedy zpět původní seznam v nezměněné podobě (s výjimkou vzestupného / sestupného řazení seznamu podle pole).

Nahoru

Rozšířený filtr

Rozšířený filtr spustíme tak, že označíme jakoukoliv buňku v seznamu a vybereme z nabídky příkaz Data – Filtr – Rozšířený filtr. Při použití rozšířeného filtru máme více možností filtrování než u automatického filtru. Můžeme použít více kritérií podle kterých chceme filtrovat, můžeme filtrovat přímo v seznamu nebo výsledek filtrace zaznamenat na jiné místo.

Při použití rozšířeného filtru definujeme oblasti:

Rozšířený filtr

Po prvním spuštění rozšířeného filtru se v sešitu vytvoří názvy Kritéria a Extrakce.

Rozšířený filtr

Mezi kritérii, které jsou ve stejném řádku platí logické spojení A (platí současně).

Mezi kritérii, které jsou pod sebou v různých řádcích platí logické spojení NEBO (platí jedno nebo druhé).

Příklady

  1. Pokud chceme vybrat všechny jména začínající na Jan (tedy i např. jméno Jana) a současně starší než 30 let zadáme kritérium:
    Jméno Věk
    Jan >30
  2. Výběr všech záznamů, které mají jméno začínající na Jan a současně příjmení začínající na P.
    Jméno Příjmení
    Jan P
  3. Výběr všech záznamů, které mají jméno začínající na Jan a nebo příjmení začínající na P.
    Jméno Příjmení
    Jan  
      P
  4. Takto nastavené kritérium bychom mohli také číst jako: (1. řádek) vyber všechny záznamy, které mají v poli jméno údaj začínající na Jan a k tomu libovolné příjmení. K tomu přidej záznamy (2. řádek), které mají v poli jméno libovolný údaj a přitom pole příjmení začíná na písmeno p.
  5. Výběr všech záznamů, kde věk je větší než 30 a současně menší nebo roven 40.
    Věk Věk
    >30 <=40
  6. Výběr všech záznamů, kde položce bydliště odpovídá Praha nebo Brno
    Bydliště
    Praha
    Brno
  7. Výběr všech záznamů, které mají v poli jméno právě jen Jan.
    Jméno
    =Jan
    Aby se ve výsledku filtrování vypsaly všechny položky pole jméno, které jsou právě Jan a nikoliv Jana, pak nestačí do kritéria zapsat =Jan nebo ="Jan" ale ="=Jan".

Při vytváření kritérií můžeme použít tyto znaky:

Znak Význam
< Je menší
> Je větší
<= Je menší nebo rovno
>= Je větší nebo rovno
<> Není rovno (je různé od)
* Libovolný sled znaků
? Libovolný znak

Příklady použití

Znak Význam
*ová Příjmení končící na "ová"
*auto* Záznamy, které obsahují v textu "auto"
???1? Předposlední číslo PSČ je jednička
<>????? Pole nemá pět znaků
="=jan" Pole je právě Jan nebo jan
>W Záznamy začínající na X, Y, Z nebo Ž

Výpis unikátních záznamů

Když potřebujeme z nějakého seznamu, který obsahuje duplicitní nebo multiplicitní záznamy vyfiltrovat seznam unikátních záznamů, pak můžeme dané pole použít jako kritérium filtrování (kritérium necháme prázdné) a v dialogovém okně Rozšířený filtr zaškrtneme Bez duplicitních záznamů.

Použití vzorce jako kritéria

Velice účinným způsobem lze filtrovat data při použití kritéria tvořeného vzorcem nebo funkcí.

Filtr a vzorec

V tomto případě nezadáváme do záhlaví kritéria název některého z polí, ale libovolný text - například vzorec. Jako kritérium pak zapisujeme vzorec, který vrací hodnotu PRAVDA nebo NEPRAVDA. Pokud chceme například vybrat záznamy, které mají datum narození v lednu, pak do kritéria zapíšeme vzorec

=MĚSÍC(E3)=1

, kde E3 je odkaz na první záznam v poli Datum_narození. Protože měsíc v datu 26.2.1970 neodpovídá lednu, vrací vzorec hodnotu NEPRAVDA. Pro další záznamy nemusíme vzorec upravovat. Filtr v Excelu projde řádek po řádku a vyhodnotí jej sám. Tam, kde bude odpovídat hodnotě PRAVDA zapíše záznam do oblasti extrakce.

Nahoru

© 2007–2010 Miroslav Lorenc

Převzetí, publikování, kopírování, či jiné užití než pro osobní potřebu je možné pouze s písemným svolením autora.