Databázové funkce
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				| m (→Pojem „databáze“ v Excelu:  Úprava vzhledu.) | m (→Oblast kritérií:  Oprava vzhledu...) | ||
| (Nejsou zobrazeny 3 mezilehlé verze od 1 uživatele.) | |||
| Řádka 18: | Řádka 18: | ||
| == Společný princip == | == Společný princip == | ||
| − | + | Databázových funkcí je hodně, ale v principu fungují všechny podobně. | |
| # Vezmou data z databáze. | # Vezmou data z databáze. | ||
| # Podle zadaných kritérií vyberou jen některé objekty (řádky). | # Podle zadaných kritérií vyberou jen některé objekty (řádky). | ||
| # Pro tyto vybranéné řádky (objekty) spočítají nějakou statistiku (průměr, maximum,...). | # Pro tyto vybranéné řádky (objekty) spočítají nějakou statistiku (průměr, maximum,...). | ||
| − | |||
| == Příklady funkcí == | == Příklady funkcí == | ||
| Řádka 29: | Řádka 28: | ||
| * <tt>DMAX</tt> ... najde maximální hodnotu ze zvoleného sloupce z vybraných řádků. | * <tt>DMAX</tt> ... najde maximální hodnotu ze zvoleného sloupce z vybraných řádků. | ||
| * ... | * ... | ||
| + | |||
| + | |||
| + | == Syntaxe == | ||
| + |  DSUMA(''databáze''; ''sloupec_s_cílovou hodnotou''; ''oblast_kritérií'') | ||
| + | |||
| + | == Oblast kritérií == | ||
| + | * V prvním řádku obsahuje názvy sloupců, podle kterých vybíráme. | ||
| + | * Na každém dalším řádku obsahuje podmínky pro jednotlivé sloupce (musí být splněny všechny podmínky v řádku zároveň — funkce AND). | ||
| + | * Pokud máme více řádků s podmínkami, stačí, aby byl splněn jen jeden řádek — funkce OR). | ||
| + | |||
| + | <div class="Upozorneni">Pokud některá buňka v oblasti kritérií není vyplněna, pak se na daném řádku odpovídající sloupec vůbec neřeší!</div> | ||
| + | |||
| + | |||
| + | == Příklad == | ||
| + | <div class="Priklad"> | ||
| + | {| class="wikitable" | ||
| + | Zdrojová data: | ||
| + | |- | ||
| + | ! A !!B !!C !! D !!E !!F !!G | ||
| + | |- | ||
| + | ! ID !!Jméno !!Příjmení !!Oddělení !!Datum narození !!Plat !!Počet výrobků | ||
| + | |-  | ||
| + | |1|| Karel|| A|| 2|| 13.2.1975|| 45902|| 1014 | ||
| + | |-  | ||
| + | |2|| Marie|| B|| 3|| 15.5.1983|| 28205|| 1644 | ||
| + | |-  | ||
| + | |3|| Adéla|| A|| 4|| 15.1.1973|| 42619|| 1550 | ||
| + | |-  | ||
| + | |4|| Jakub|| D|| 2|| 11.5.1984|| 20413|| 1491 | ||
| + | |-  | ||
| + | |5|| František|| E|| 2 || 15.2.1979|| 32704|| 1065 | ||
| + | |-  | ||
| + | |6|| Josef|| F|| 3|| 22.4.1987|| 40735|| 1491 | ||
| + | |-  | ||
| + | |7|| Jakub|| A|| 2|| 25.5.1996|| 33059|| 1402 | ||
| + | |-  | ||
| + | |8|| Ivana|| B|| 4|| 22.8.1988|| 42079|| 1769 | ||
| + | |-  | ||
| + | |} | ||
| + | |||
| + | Vzorec: | ||
| + |  =DPOČET( Data!$A$1:$G$9;   "ID";   Zadani!$D$15:$G$17) | ||
| + | |||
| + | Oblast kritérií (<tt>Zadani!$D$15:$G$17</tt>): | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! Příjmení!! Oddělení!! Datum narození!! Datum narození | ||
| + | |- | ||
| + | | A* || 2 || >=1.1.1975 || <1. 1. 1983 | ||
| + | |- | ||
| + | | >=C ||  ||  ||  | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | Význam: Vybere zákazníky, kteří splňují: | ||
| + | # Příjmení začíná na <tt>A</tt>, jsou z oddělení 2 a datum narození je od 1. 1. 1975 do 31. 12. 1982. | ||
| + | # NEBO jejich příjmení začíná od písmene <tt>C</tt> dál (bez ohledu na oddělení a narození!) | ||
| + | |||
| + | <div class="Varovani">Pokud je příjmení v abecedě od <tt>C</tt> dál, číslo oddělení ani datum narození se NEŘEŠÍ!</div> | ||
| + | </div> | ||
Aktuální verze z 6. 5. 2015, 09:41
| Obsah | 
Pojem „databáze“ v Excelu
Jako „databáze“ se označuje část tabulky, pro kterou platí, že:
- První řádek obsahuje hlavičky sloupců (názvy položek o popisovaných objektech, které v databázi ukládáme).
- Na dalších řádcích jsou vždy informace o jednom popisovaném objektu.
Pokud máme „databázi zaměstnanců“, pak:
- v prvním řádku je napsáno, co o zaměstnancích ukládáme (jméno, datum narození,...),
- v dalších řádcích vždy na jednom řádku informace o jednom zaměstnanci.
Zdrojová data v podobě „databáze“ vyžadují:
- databázové funkce,
- kontingenční tabulky.
Společný princip
Databázových funkcí je hodně, ale v principu fungují všechny podobně.
- Vezmou data z databáze.
- Podle zadaných kritérií vyberou jen některé objekty (řádky).
- Pro tyto vybranéné řádky (objekty) spočítají nějakou statistiku (průměr, maximum,...).
Příklady funkcí
- DSUMA ... sečte jeden sloupec z vybraných řádků.
- DPRŮMĚR ... vypočte průměr hodnot zvoleného sloupce z vybraných řádků.
- DMAX ... najde maximální hodnotu ze zvoleného sloupce z vybraných řádků.
- ...
Syntaxe
DSUMA(databáze; sloupec_s_cílovou hodnotou; oblast_kritérií)
Oblast kritérií
- V prvním řádku obsahuje názvy sloupců, podle kterých vybíráme.
- Na každém dalším řádku obsahuje podmínky pro jednotlivé sloupce (musí být splněny všechny podmínky v řádku zároveň — funkce AND).
- Pokud máme více řádků s podmínkami, stačí, aby byl splněn jen jeden řádek — funkce OR).
Pokud některá buňka v oblasti kritérií není vyplněna, pak se na daném řádku odpovídající sloupec vůbec neřeší!
Příklad
| A | B | C | D | E | F | G | 
|---|---|---|---|---|---|---|
| ID | Jméno | Příjmení | Oddělení | Datum narození | Plat | Počet výrobků | 
| 1 | Karel | A | 2 | 13.2.1975 | 45902 | 1014 | 
| 2 | Marie | B | 3 | 15.5.1983 | 28205 | 1644 | 
| 3 | Adéla | A | 4 | 15.1.1973 | 42619 | 1550 | 
| 4 | Jakub | D | 2 | 11.5.1984 | 20413 | 1491 | 
| 5 | František | E | 2 | 15.2.1979 | 32704 | 1065 | 
| 6 | Josef | F | 3 | 22.4.1987 | 40735 | 1491 | 
| 7 | Jakub | A | 2 | 25.5.1996 | 33059 | 1402 | 
| 8 | Ivana | B | 4 | 22.8.1988 | 42079 | 1769 | 
Vzorec:
=DPOČET( Data!$A$1:$G$9; "ID"; Zadani!$D$15:$G$17)
Oblast kritérií (Zadani!$D$15:$G$17):
| Příjmení | Oddělení | Datum narození | Datum narození | 
|---|---|---|---|
| A* | 2 | >=1.1.1975 | <1. 1. 1983 | 
| >=C | 
Význam: Vybere zákazníky, kteří splňují:
- Příjmení začíná na A, jsou z oddělení 2 a datum narození je od 1. 1. 1975 do 31. 12. 1982.
- NEBO jejich příjmení začíná od písmene C dál (bez ohledu na oddělení a narození!)
Pokud je příjmení v abecedě od C dál, číslo oddělení ani datum narození se NEŘEŠÍ!
