Databázové funkce
Tato sekce se zabývá funkcemi pro práci s daty uspořádanými tak, že každý řádek má význam jednoho záznamu.
Kategorie Databáze může být zaměňována s databází integrovanou v LibreOffice. Mezi databází v LibreOffice a kategorií Databáze v LibreOffice Calcu ovšem není žádná spojitost. |
Ukázková data:
Následující údaje budou použity v některých příkladech a popisech funkcí:
Rozsah A1:E10 obsahuje děti pozvané na Janův narozeninový večírek. V každém záznamu jsou uvedeny tyto informace: jméno (sloupec A), třída (sloupec B), věk (počet roků), vzdálenost od školy v metrech a váha v kilogramech.
A |
B |
C |
D |
E |
|
1 |
Název |
Třída |
Věk |
Vzdálenost do školy |
Váha |
2 |
Aleš |
3 |
9 |
150 |
40 |
3 |
Běta |
4 |
10 |
1000 |
42 |
4 |
David |
3 |
10 |
300 |
51 |
5 |
Daniel |
5 |
11 |
1200 |
48 |
6 |
Eva |
2 |
8 |
650 |
33 |
7 |
Franta |
2 |
7 |
300 |
42 |
8 |
Greta |
1 |
7 |
200 |
36 |
9 |
Jindřich |
3 |
9 |
1200 |
44 |
10 |
Irena |
2 |
8 |
1000 |
42 |
11 |
|||||
12 |
|||||
13 |
Název |
Třída |
Věk |
Vzdálenost do školy |
Váha |
14 |
>600 |
||||
15 |
|||||
16 |
DCOUNT |
5 |
Vzorec v buňce B16 je =DCOUNT(A1:E10;D1;A13:E14)
Parametry databázových funkcí:
Následuje definice parametrů pro všechny databázové funkce:
Databáze je oblast buněk obsahující záznamy databáze.
Pole databáze určuje sloupec, kde funkce pracuje, poté co se použijí vyhledávací kritéria prvního parametru a jsou vybrány řádky dat. Nevztahuje se k vlastním výběrovým kritériím. Parametr Pole databáze lze zadat jako odkaz na buňku záhlaví nebo číslo od 1 určující sloupec v rámci oblasti Databáze. Chcete-li se odkazovat na sloupec pomocí jeho názvu v záhlaví, zapište název v uvozovkách.
Kritéria vyhledávání je oblast buněk obsahující kritéria vyhledávání. Jestliže zapíšete několik kritérií do jednoho řádku, budou spojena pomocí AND (A). Jestliže zapíšete kritéria na různé řádky, budou spojena pomocí OR (NEBO). Prázdné buňky v oblasti kritérií vyhledávání budou ignorovány.
Volbou LibreOffice - PředvolbyNástroje - Možnosti - LibreOffice Calc - Výpočty určíte, jak se má LibreOffice Calc chovat při vyhledávání stejných položek.
Viz také wiki stránku o podmíněném počítání a sumaci.
DAVERAGE
DAVERAGE vrátí průměr hodnot všech buněk (polí) ve všech řádcích (databázových záznamech), které odpovídají zadaným kritériím vyhledávání.
Syntaxe
DAVERAGE(Databáze;Pole databáze;Kritéria vyhledávání)
Příklad
Pro nalezení průměrné váhy dětí stejného věku, v příkladu výše, vložte následující vzorec do B16:
=DAVERAGE(A1:E10;"Váha";A13:E14)
Na řádku 14 pod 'Věkem' vložte 7, 8, 9, a tak dále jeden za druhým. Objeví se průměrná váha dětí daného věku.
DCOUNT
DCOUNT počítá v databázi počet řádků (záznamů), které odpovídají kritériím vyhledávání a obsahují ve sloupci Pole databáze číselné hodnoty.
Syntaxe
DCOUNT(Databáze; [Pole databáze]; Kritéria vyhledávání)
Je-li argument Pole databáze vynechán, DCOUNT vrátí počet všech záznamů splňujících Kritéria.Parametr Pole databáze lze zadat jako odkaz na buňku záhlaví nebo číslo od 1 určující sloupec v rámci oblasti Databáze. Chcete-li se odkazovat na sloupec pomocí jeho názvu v záhlaví, zapište název v uvozovkách.
Příklad
V příkladu výše chceme zjistit, kolik dětí musí chodit do školy dál než 600 metrů. Výsledek by měl být uložen v buňce B16. Nastavte kurzor na buňku B16. Vložte do ní vzorec =DCOUNT(A1:E10;D1;A13:E14). Vložení vstupních oblastí usnadní Průvodce funkcí.
Databáze je oblast dat, která se mají vyhodnotit, včetně jejich záhlaví: v tomto případě je to A1:E10. Pole databáze určuje sloupec pro kritéria vyhledávání: v tomto případě sloupec s číselnými hodnotami vzdáleností. Kritéria vyhledávání je oblast, kam je možné vložit parametry vyhledávání: v tomto případě A13:E14.
Abyste se dozvěděli, kolik dětí ve druhé třídě je starší než 7 let, smažte údaj >600 v buňce D14 a vložte 2 do buňky B14 pod Třída, a vložte >7 do buňky C14. Výsledek je 2. Dvěma dětem z druhé třídy je více než 7 let. Protože jsou obě kritéria na stejném řádku, jsou spojena pomocí A.
DCOUNTA
Funkce DCOUNTA vrací počet řádků (záznamů) v databázi, které vyhovují kritériím vyhledávání a obsahují číselné či alfanumerické hodnoty.
Syntaxe
DCOUNTA(Databáze; [Pole databáze]; Kritéria vyhledávání)
Je-li argument Pole databáze vynechán, DCOUNTA vrátí počet všech záznamů splňujících Kritéria. Parametr Pole databáze lze zadat jako odkaz na buňku záhlaví nebo číslo od 1 určující sloupec v rámci oblasti Databáze. Chcete-li se odkazovat na sloupec pomocí jeho názvu v záhlaví, zapište název v uvozovkách.
Příklad
V příkladu výše můžete zjistit počet dětí, jejichž jméno začíná písmenem E nebo jiným v abecedě následujícím písmenem. Upravte vzorec v buňce B16 na =DCOUNTA(A1:E10;"Name";A13:E14). Smažte staré kritérium vyhledávání a zadejte pod Název do pole A14 >=E. Výsledek je 5. Jestliže nyní smažete všechny číselné hodnoty pro Gretu na řádku 8, výsledek se změní na 4. Řádek 8 se už nebude započítávat, protože neobsahuje žádné hodnoty. Jméno Greta je text, ne hodnota. Pamatujte na to, že parametr Pole databáze musí ukazovat na sloupec, který může obsahovat hodnoty.
DGET
Funkce DGET vrací obsah odkazovaných buněk v databázi, které vyhovují zadaným kritériím. V případě chyby funkce vrací buď #VALUE! pokud není řádek nalezen, nebo Err502 je-li nalezena více než jedna buňka.
Syntaxe
DGET(Databáze;Pole databáze;Kritéria vyhledávání)
Příklad
Ve výše uvedeném příkladu chceme určit, jakou třídu navštěvuje dítě, jehož jméno bylo zadáno do buňky A14. Vzorec je zadán do buňky B16 a od předchozích se liší jen nepatrně, protože do Pole databáze může být zadán pouze jeden sloupec (jedna položka databáze). Zadejte následující vzorec:
=DGET(A1:E10;"Třída";A13:E14)
Do buňky A14 zadejte jméno Franta, dostanete výsledek 2. Franta chodí do druhé třídy. Místo "Třída" zadejte "Věk" a dostanete Frantův věk.
Dále je možné zadat hodnotu 11 do buňky C14 a odstranit ostatní hodnoty na tomto řádku. Upravte vzorec v buňce B16 následujícím způsobem:
=DGET(A1:E10;"Jméno";A13:E14)
Místo třídy se vyhledá jméno. Výsledek se zobrazí vzápětí: jediným dítětem ve věku 11 let je Daniel.
DMAX
Funkce DMAX vrací nejvyšší hodnotu buňky (položky) v databázi (všechny záznamy), která vyhovuje zadaným kriteriím.
Syntaxe
DMAX(Databáze;Pole databáze;Kritéria vyhledávání)
Příklad
Pro zjištění, kolik váží nejtěžší dítě v každé třídě v příkladu výše, vložte následující vzorec do B16:
=DMAX(A1:E10;"Váha";A13:E14)
Pod 'Třídou' vložte 1, 2, 3, a tak dále jednu za druhou. Po vložení čísla třídy se objeví váha nejtěžšího dítěte ve třídě.
DMIN
DMIN vrátí minimální obsah buňky (pole) v záznamech databáze, které odpovídají kritériím vyhledávání.
Syntaxe
DMIN(Databáze;Pole databáze;Kritéria vyhledávání)
Příklad
Pro nalezení nejkratší vzdálenosti od školy pro děti v každé třídě, v příkladu výše, vložte následující vzorec do B16:
=DMIN(A1:E10;"Vzdálenost do školy";A13:E14)
Na řádku 14 pod 'Třídou' vložte 1, 2, 3, a tak dále jednu za druhou. Objeví se nejkratší vzdálenost od školy pro každou třídu.
DPRODUCT
DPRODUCT násobí všechny buňky oblasti dat, kde obsah buněk odpovídá kritériím vyhledávání.
Syntaxe
DPRODUCT(Databáze;Pole databáze;Kritéria vyhledávání)
Příklad
V příkladu narozeninového večírku nahoře nelze tuto funkci smysluplně použít.
DSTDEV
DSTDEV vypočítá směrodatnou odchylku základního souboru na základě výběru, použijí se čísla v záznamech databáze, které odpovídají daným podmínkám. Záznamy jsou chápány jako výběr dat. To znamená, že děti v příkladu reprezentují výběr všech dětí. Reprezentativní výsledek nelze získat z výběru menšího než jeden tisíc.
Syntaxe
DSTDEV(Databáze;Pole databáze;Kritéria vyhledávání)
Příklad
Pro nalezení směrodatné odchylky váhy všech dětí stejného věku v příkladu výše vložte následující vzorec do B16:
=DSTDEV(A1:E10;"Váha";A13:E14)
Na řádku 14 pod 'Věkem' vložte 7, 8, 9, a tak dále jeden za druhým. Výsledkem bude směrodatná odchylka váhy všech dětí v daném věku.
DSTDEVP
DSTDEVP vypočítá směrodatnou odchylku základního souboru na základě všech buněk v oblasti dat, která odpovídá kritériím vyhledávání. Záznamy v příkladu jsou chápány jako kompletní základní soubor.
Syntaxe
DSTDEVP(Databáze;Pole databáze;Kritéria vyhledávání)
Příklad
Pro nalezení směrodatné odchylky váhy všech dětí stejného věku v příkladu výše vložte následující vzorec do B16:
=DSTDEVP(A1:E10;"Váha";A13:E14)
Na řádku 14 pod 'Věkem' vložte 7, 8, 9, a tak dále jeden za druhým. Výsledkem bude směrodatná odchylka váhy všech dětí v daném věku, jejichž váha byla kontrolována.
DSUM
DSUM vrátí součet všech buněk v databázovém poli ve všech řádcích (záznamech), které odpovídají kritériím vyhledávání.
Syntaxe
DSUM(Databáze;Pole databáze;Kritéria vyhledávání)
Příklad
Pro nalezení celkové vzdálenosti od školy pro všechny děti z druhé třídy na narozeninovém večírku v příkladu výše, vložte následující vzorec do B16:
=DSUM(A1:E10;"Vzdálenost do školy";A13:E14)
Vložte 2 v řádku 14 pod "Třídou". Zobrazí se součet (1950) vzdáleností od školy pro všechny děti z druhé třídy.
DVAR
DVAR vrátí rozptyl všech buněk v poli databáze ve všech záznamech, které odpovídají kritériím vyhledávání. Záznamy v příkladu jsou chápány jako výběr dat. Reprezentativní výsledek nelze získat z výběru menšího než jeden tisíc.
Syntaxe
DVAR(Databáze;Pole databáze;Kritéria vyhledávání)
Příklad
Pro nalezení rozptylu váhy všech dětí stejného věku v příkladu výše vložte následující vzorec do B16:
=DVAR(A1:E10;"Váha";A13:E14)
Na řádku 14 pod 'Věkem' vložte 7, 8, 9, a tak dále jeden za druhým. Výsledkem bude rozptyl váhy všech dětí v daném věku.
DVARP
DVARP vypočítá rozptyl všech buněk v poli databáze ve všech záznamech, které odpovídají kritériím vyhledávání. Záznamy v příkladu jsou chápány jako kompletní základní soubor.
Syntaxe
DVARP(Databáze;Pole databáze;Kritéria vyhledávání)
Příklad
Pro nalezení rozptylu váhy všech dětí stejného věku v příkladu narozeninového večírku výše vložte následující vzorec do B16:
=DVARP(A1:E10;"Váha";A13:E14)
Na řádku 14 pod 'Věkem' vložte 7, 8, 9, a tak dále jeden za druhým. Zobrazí se výsledný rozptyl váhy všech dětí v daném věku, které přišli na narozeninový večírek.