Základy práce s databázemi V tabulkách programu MS Excel máme často informace uloženy v různých seznamech. Pokud tyto tabulky splňují kritéria uvedena níže, mluvíme o databázích a pro jejich správu můžeme využít mnoho prostředků, které program nabízí v nabídce Data. V souvislosti s databázemi a prostředky pro jejich správu se používá speciální terminologie převzatá z databázových programů. Sloupce takového seznamu označujeme jako pole, řádky jako záznamy a jednotlivé buňky jako položky. Abychom mohli mluvit o databázi, musí tabulka splňovat tyto tři podmínky: 1. Tabulka musí být souvislá – tzn., že nesmí být rozdělena prázdným řádkem nebo prázdným sloupcem (oblast databáze si program většinou vybírá sám, prázdný řádek (sloupec) pro něj pak znamená konec tabulky). 2. V prvním řádku databáze jsou uvedeny názvy polí (pouze v jednom řádku!). Protože se program při různých nastaveních na tyto názvy odvolává, musí mít každé pole název jednoznačný. 3. V tabulce se nesmí provádět slučování buněk.
Rozdělení okna a příčky Okno programu MS Excel se dá rozdělit do několika (dvou nebo čtyř) částí. Rozdělení se používá, pokud potřebujeme vedle sebe zobrazit dvě (čtyři) vzdálené části jednoho listu nebo pokud potřebujeme „ukotvit“ záhlaví tabulky tak, aby se při posunu po listě neposouvalo. Rozdělení můžeme provést vtažením dělících lišt do listu, nebo pomocí příkazu. Zkusíme druhou možnost. Rozdělení okna provedeme pomocí příkazu Rozdělit v nabídce Okno. Program se podívá na polohu aktivní buňky a rozdělení okna povede horní a levou hranou aktivní buňky. Pokud jsme aktivní buňku umístili nevhodně, dají se dělící čáry uchopit myší a přesunout na vhodnější místo. Současně s rozdělením plochy okna došlo i k rozdělení posuvníků tak, abychom si v každé části okna mohli zobrazit jinou část listu.
Dělící příčky
Rozdělené jsou i posuvníky
Příčky odstraníme příkazem Okno/Odebrat příčky. Zkusíme ještě ukotvení záhlaví tabulky. Pracujeme s dlouhou tabulkou. Stačí se posunout ke dvanáctému řádku, a nevidíme její záhlaví. Upevníme proto několik prvních řádků tabulky tak, abychom měli název celé tabulky a názvy sloupců stále na očích. Aktivní buňku umístíme do prvního sloupce listu tak, aby se při rozdělení okna neuplatnila levá hrana aktivní buňky a do řádku prvního záznamu tabulky. Protože částí okna se záhlavím tabulky nebudeme pohybovat, nepoužijeme v nabídce Okno příkaz Rozdělit, ale ve stejné nabídce klepneme do řádku Ukotvit příčky. Došlo k rozdělení okna tenkou nepohyblivou čarou. Posuvníky se tentokrát nerozdělily, v horní části okna nemůžeme
zobrazený obsah posunovat. Posuvník se používá pro posun k dalším záznamům nebo polím tabulky. Příčka
Třídění databáze Toto je ukázka části databáze, se kterou budeme dále pracovat. Do tabulky byla data zapisována v tom pořadí, v jakém studenti přicházeli se sběrem. Našim úkolem je tabulku seřadit podle množství odevzdaného papíru tak, aby ten, kdo odevzdal nejvíc, byl v seznamu uveden jako první, ostatní za ním sestupně, takže ten, kdo odevzdal nejméně, bude poslední. Pokud tabulku řadíme podle hodnot jednoho pole, stačí umístit aktivní buňku do příslušného pole (u nás kamkoliv do sloupce Kg papíru) a na panelu nástrojů pro změnu pořadí záznamů vybrat tlačítko Seřadit sestupně ( ). Program změnil pořadí řádků tabulky podle našich požadavků. Aby lépe vyniklo nové řazení, změníme formát čísel tohoto pole tak, aby ve všech buňkách bylo zobrazeno jedno desetinné místo. Rozsáhlé tabulky se tažením označují špatně, proto využijeme jiný postup. Označíme první položku v poli Kg papíru. Kombinací CTRL+SHIFT+↓ označíme ostatní položky tohoto sloupce. Pozn.: Tady využíváme toho, že jsou všechny buňky tohoto pole vyplněny. V opačném případě by program označil část pole až po první prázdnou buňku a my bychom uvedenou kombinaci museli několikrát opakovat. Na panelu nástrojů Formát pomocí tlačítka Přidat desetinné místo sjednotíme u čísel zobrazení desetinných míst. Nyní je již změna pořadí patrná. Někdy potřebujeme změnit pořadí řádků podle hodnot více polí. Zkusíme naše data seřadit podle tříd, v rámci tříd seřadíme seznam podle příjmení a pokud by v jedné třídě studovalo několik studentů stejného příjmení, seřadíme záznamy ještě podle jména. Umístíme aktivní buňku kamkoliv do databáze a vybereme Data/Seřadit. Otevře se dialogové okno, ve kterém program nabízí tři rozbalovací seznamy. Pomocí prvního z nich (Třídit podle) určujeme, podle kterého pole se má řadit nejdříve. Vybereme Třída. Zkontrolujeme pohledem, že je zvoleno řazení Vzestupné. Pokud je v tabulce několikrát stejná třída, podívá se program na nastavení druhého seznamu (Dále podle). Vybereme v něm Příjmení a opět zkontrolujeme volbu řazení Vzestupné. V posledním poli (Pak podle) vybereme Jméno a jako u předchozích polí zkontrolujeme řazení Vzestupné. V dolní části dialogového okna si můžeme všimnout, že program rozpoznal, že naše tabulka má záhlaví
(řádek s názvy polí). Můžeme to také zkontrolovat pohledem na tabulku – celá tabulka, mimo rozpoznaného záhlaví, je označena. Tlačítkem OK nastavení dokončíme.
Pozn.: Řazení lze provádět i v seznamech, které nemají názvy polí. Program se potom odvolává na názvy sloupců.
Řazení se dá používat i v klasických, tzv. křížových tabulkách, ale protože tyto tabulky mívají složitější strukturu, často tady saháme k označování. Výběru buněk musíme věnovat velkou pozornost, při špatném označení dojde ke zničení tabulky. Proto si vždy výsledek řazení kontrolujeme a pokud máme pocit, že něco není v pořádku okamžitě krokem zpět akci vrátíme. Pozn. Častou chybou při označování je, že vybereme jen buňky toho pole, podle jehož hodnot řadíme. Program pak „přehází“ jen označené buňky mezi sebou a zbytky řádků nechá na původním místě. Na tuto častou chybu ale již nové verze programu MS Excel upozorňují dialogovým oknem. Ukázky možných chybných postupů a jejich následky
Výchozí stav Umístili jsme aktivní buňku do pole Janák, řadíme tlačítkem Seřadit vzestupně
Výsledek řazení
Označili jsme data pole, podle kterého potřebujeme řadit, řadíme tlačítkem Seřadit vzestupně
Program nás upozorňuje, že výběr je nesprávný, nabízí opravu, pokud ji přijmeme, je výsledek následující
Abychom mohli určit pole pro řazení (při tomto označení by tlačítko seřadit vzestupně řadilo podle nepojmenovaného prvního pole s názvy měsíců, protože je v něm aktivní buňka) řazení provedeme volbou Data/Seřadit.
Označili jsme všechna pole tabulky, jen jeden řádek záhlaví (nemuseli jsme vybírat záhlaví vůbec), vynechali jsme výpočty pod tabulkou.
Výsledek
Výběry (filtrování) databáze Někdy je potřeba z rozsáhlých seznamů vybrat jen záznamy, které splňují nějakou podmínku. Pro podobné výběry se v prostředí programu MS Excel používá nástroj zvaný Filtr. Filtry program nabízí dva: automatický filtr – jednodušší na nastavení a zadávání podmínek, ale neumožňuje realizaci všech podmínek rozšířený filtr – trochu složitější, ale má nesrovnatelně větší možnosti použití Vyzkoušíme si automatický filtr. Umístíme aktivní buňku do databáze. Vybereme Data/Filtr/Automatický filtr. V každé buňce s názvem pole se objevila rozbalovací šipka. Po klepnutí na šipku u vybraného sloupce najdeme možnost řazení seznamu podle hodnot tohoto pole. Volba (Vše) se používá pro vymazání podmínky pro výběr záznamů podle hodnot tohoto sloupce. Volbu (Prvních 10…) používáme pro výběr zadaného počtu záznamů s nejvyšší nebo naopak nejmenší hodnotou v tomto poli. Volba (Vlastní…) se používá v případě složitějších podmínek. Na konci seznamu najdeme výčet všech hodnot, které se v tomto poli vyskytují. Výběrem hodnoty říkáme, že má program zobrazit jen ty záznamy, ve kterých se hodnota v poli rovná vybrané hodnotě. V seznamu, jehož část vidíte dole, potřebujeme vybrat pět nejúspěšnějších studentů. Umístíme aktivní buňku do seznamu. Vybereme Data/Filtr/Automatický filtr. Ve sloupci Kg papíru klepneme na rozbalovací šipku. Z rozbalené nabídky vybereme (Prvních 10…). V prvním rozbalovacím seznamu ponecháme volbu prvních (kdybychom chtěli zobrazit posledních pět, vybrali bychom posledních). V číselníku nastavíme 5 a v druhém seznamu ponecháme položek. Nastavení potvrdíme. Seznam se zúžil na pět řádků s nejvyšší hodnotou v poli Kg papíru. Že je nastaven filtr poznáme podle obsahu stavového řádku, dále podle modrou barvou zvýrazněných čísel řádků a modré rozbalovací šipky u názvu pole, v němž jsme zadávali podmínku. Zkusíme výběr ještě jednou, tentokrát potřebujeme vybrat záznamy studentů 1.A. Klepneme na rozbalovací šipku u názvu pole Kg papíru a z nabízených možností vybereme Vše. Klepneme na rozbalovací šipku u pole Třída a vybereme 1.A. Výběrem hodnoty ze seznamu jsme nastavili podmínku pro zobrazení záznamů. Původní seznam se zúžil na 10 řádků studentů z 1.A. Ostatní řádky tabulky jsou skryté. Pozn.: Tímto způsobem můžeme vybrat ze seznamu jen jednu hodnotu. Při výběru jiné hodnoty rušíme předchozí výběr.
Podmínky můžeme zadávat v několika polích najednou. Jejich podmínky se potom sčítají, to znamená, že musí platit současně. Zkusíme náš výběr studentů 1.A zúžit na ty záznamy, kde odevzdané množství je větší než 30 kg. U názvu pole Kg papíru klepneme na rozbalovací šipku. Protože potřebujeme test na nerovnost a navíc nevybíráme žádnou konkrétní hodnotu tohoto pole, vybereme ze seznamu volbu Vlastní. Otevře se dialogové okno, ve kterém můžeme zadat i trochu složitější podmínky, než je test na rovnost jedné konkrétní hodnotě z vybraného pole. V okně jsou dva řádky. Do každého z nich můžeme zadat jednu podmínku. Mezi řádky jsou tlačítka výběru a (obě podmínky musí platit současně – např. vybíráme v pořadí studenty mezi 10 a 20 místem1) a nebo (stačí, je-li splněna alespoň jedna podmínka – výběr 2 studentů 1.A a 1.B ). V obou řádcích se v prvním poli vybírá srovnání, do druhého se zadává hodnota, se kterou srovnáváme. My máme jen jednu podmínku – hledáme záznamy, ve kterých je množství větší než 30 kg, stačí nám první řádek dialogového okna. V rozbalovacím seznamu vlevo vybereme Je větší než a do vedlejšího pole napíšeme 30. Potvrdíme nastavení tlačítkem OK. Zkusíme ještě změnit podmínku u výběru třídy tak, abychom vybrali řádky všech studentů prvních a druhých ročníků. V rozbaleném seznamu u názvu pole Třída vybereme volbu Vlastní a provedeme nastavení podle obrázku. Protože student navštěvuje buď první nebo druhý ročník, nezapomeneme klepnout do volby nebo. V opačném případě by program nevrátil žádný záznam.
Pokud máme nastaveno několik podmínek, a potřebujeme zrušit některou z nich, stačí v rozbaleném seznamu příslušného pole vybrat (Vše). Touto akcí zrušíme podmínku pouze v tomto poli, v ostatních zůstanou podmínky dále nastavené. Pokud potřebujeme odebrat všechny podmínky, je rychlejší vybrat Data/Filtr/Zobrazit vše. Automatický filtr se vypíná tam, kde se nastavuje, výběrem Data/Filtr/Automatický filtr. S vypnutím filtru se ruší všechny nastavené podmínky pro výběr záznamů. 1 2
Pořadí je větší nebo rovno 10 a současně menší nebo rovno 20 Student studuje v 1.A nebo v 1.B
Vytváření souhrnných výpočtů V rozsáhlých databázích je občas potřeba zjistit souhrnný výpočet nad skupinami dat. Předpokládejme, že v našem seznamu potřebujeme vytvořit součet odevzdaného množství papíru a tomu odpovídající peněžní hodnoty v jednotlivých třídách. K výpočtu můžeme použít několik prostředků, jedním z nich jsou souhrny. Předpokladem správných výsledků vytvořených souhrnů je správné pořadí záznamů. Tabulku nejdřív seřadíme podle hodnot sloupce Třída tak, abychom vytvořili skupiny záznamů jednotlivých tříd. Zkontrolujeme, že máme aktivní buňku v seznamu, a v nabídce Data vybereme příkaz Souhrny. Zobrazí se jednoduché dialogové okno. V poli U každé změny ve sloupci program nabízí názvy polí tabulky. Vybereme Třída. V seznamu Použít funkci nabízí program různé funkce pro vytvoření souhrnných výpočtů. Ponecháme nabídnutý Součet. V poli Přidat souhrn do sloupce určujeme, ve kterém sloupci se má souhrnný výpočet provést (data kterého sloupce budeme sečítat). Zaškrtneme Kg papíru a Vyplatit Kč. Případné zaškrtnutí u jmen dalších polí klepnutím vyprázdníme. Nastavené volby potvrdíme tlačítkem OK. Program vytvořil souhrnné výpočty – na konec skupiny dat každé třídy vložil řádek a do něj příslušný součet. Mimo to se v levé části okna objevil pruh se symboly přehledu. Pomocí nich se skrývají, případně zpět rozkrývají skupiny dat.
U třídy 1.B vidíme detailní řádky a souhrnný výpočet U 1.A, 1.C a 2.A jsou detailní řádky pomocí symbolů přehledu skryty, vidíme pouze souhrnný výpočet
Klepnutím na tlačítko 1 se zobrazí pouze součet za celou tabulku
Klepnutím na tlačítko 2 se zobrazí součet za tabulku a dílčí součty za skupiny dat (u nás třídy)
Klepnutím na tlačítko 3 se vracíme k zobrazení všech řádků
Stejnou funkci mají tlačítka se symbolem + a -, která se nacházejí podél tabulky, jen s tím rozdílem, že rozkrývají nebo skrývají jen jednu skupinu dat (třídu). Souhrny z tabulky odstraníme tak, že znovu vybereme Data/Souhrny a v dialogovém okně klepneme na tlačítko Odebrat vše. Před výběrem příkazu je nutné umístit aktivní buňku do tabulky se souhrny. Složitější souhrny se pak dají vytvořit pomocí velice silného nástroje – kontingenčních tabulek.