Tabulkové procesory#
1. Zápis vzorců#
Vzorce se zapisují do buňky pomocí znaku =, za kterým následuje výraz pro výpočet obsahu buňky. Výraz může obsahovat konkrétní hodnoty nebo odkazy na jiné buňky. Například vzorec =A5+10 sečte obsah buňky A5 s číslem 10. Pokud se obsah buňky A5 změní, výsledek se automaticky přepočítá.
Při zápisu vzorců můžete používat základní aritmetické operátory:
Operátor |
Význam |
Příklad |
|---|---|---|
|
Sčítání |
|
|
Odčítání |
|
|
Násobení |
|
|
Dělení |
|
|
Umocnění |
|
Operátory lze kombinovat a používat závorky pro určení pořadí výpočtů, např. =(A1+B1)*C1.
1.1. Funkce#
Výraz může obsahovat také volání funkce, která provede složitější operaci. Zápis funkce vypadá takto:
NAME(argument1, argument2)
kde NAME je název volané funkce a argument1, argument2 jsou její argumenty (parametry). Každá funkce má definovaný počet parametrů a některé podporují proměnný počet parametrů nebo volitelné parametry. Konkrétní počet a význam parametrů najdete v dokumentaci k příslušnému tabulkovému procesoru.
Čárka nebo středník?
Oddělovač jednotlivých parametrů je buď středník ;, nebo čárka , (záleží na jazykovém nastavení programu).
1.2. Rozsahy buněk#
Kromě odkazů na jednotlivé buňky mohou některé funkce pracovat s celými rozsahy buněk. Rozsah se zapisuje pomocí počáteční a koncové buňky oddělených dvojtečkou :, např. B4:B8, což označuje buňky od B4 po B8 včetně. Rozsahy mohou být i vícerozměrné (pokud je daná funkce podporuje), např. B4:C8.
Lze zapsat i rozsah přes celý sloupec nebo řádek:
B:B: celý sloupecB7:7: celý řádek7
V Google Tabulkách můžete použít také následující zápisy:
B4:B: sloupecBod řádku4včetněC7:7: řádek7od sloupceCvčetně
Celý sloupec
Pokud potřebujete v MS Excel nebo LibreOffice Calc sečíst hodnoty v celém sloupci až od konkrétního řádku, můžete použít například:
B4:B1000000: sloupecBod řádku4po řádek1000000C7:ZZ7: řádek7od sloupceCpo sloupecZZ
Mějte na paměti, že takový zápis ve skutečnosti nepokrývá sloupec nebo řádek až do úplného konce listu.
1.3. Fixace buněk#
Při kopírování nebo přesouvání buňky se vzorcem se odkazy na buňky a rozsahy automaticky upravují o relativní posun. Pokud toto nechcete, můžete zafixovat sloupec či řádek předsazením symbolu $:
$B7: fixuje sloupecBB$7: fixuje řádek7$B$7: fixuje buňkuB7
1.4. Text#
Kromě číselných parametrů nebo odkazů na buňky či rozsahy mohou některé funkce podporovat i textové argumenty, které se zapisují do dvojitých uvozovek, např. "text". Je třeba rozlišovat mezi zápisem například B10 (odkaz na buňku B10) a "B10" (text B10).
Příklad:
Zápis
=IF(A2 = B10, "ANO", "NE")znamená:Pokud je obsah buňky
A2stejný jako obsah buňkyB10, zobrazí seANO, jinakNE.Zatímco
=IF(A2 = "B10", "ANO", "NE")znamená:Pokud se obsah buňky
A2rovná textuB10, zobrazí seANO, jinakNE.
2. Nejčastěji používané funkce#
České překlady funkcí
MS Excel v české verzi vyžaduje použití českého názvu funkce ve vzorci. Google Tabulky umožňují zápis funkce v češtině i pomocí jejího originálního anglického názvu, který se automaticky přeloží.
2.1. Aritmetické funkce#
SUM(range)/SUMA: Sečte všechny číselné hodnoty v rozsahurange. Textové hodnoty ignoruje.Příklad:
=SUM(A2:A100)AVERAGE(range)/PRŮMĚR: Vypočítá aritmetický průměr hodnot v rozsahurange.Příklad:
=AVERAGE(B2:B10)COUNT(range)/POČET: Vrátí počet neprázdných číselných buněk v rozsahurange.Příklad:
=COUNT(C2:C20)ROUND(value, decimals)/ZAOKROUHLIT: Zaokrouhlí číslovaluena zadaný počet desetinných místdecimals. Parametrdecimalsje nepovinný; pokud není zadán, zaokrouhluje na celé číslo.Příklad:
=ROUND(D2, 2)ROUNDUP(value, decimals)/ZAOKR.NAHORU: Zaokrouhlí číslovaluenahoru na počet desetinných místdecimals. Parametrdecimalsje nepovinný; pokud není zadán, zaokrouhluje na celé číslo nahoru.Příklad:
=ROUNDUP(E2, 0)ROUNDDOWN(value, decimals)/ZAOKR.DOLŮ: Zaokrouhlí číslovaluedolů na počet desetinných místdecimals. Parametrdecimalsje nepovinný; pokud není zadán, zaokrouhluje na celé číslo dolů.Příklad:
=ROUNDDOWN(E2, 0)
2.2. Logické funkce#
IF(condition, value_if_true, value_if_false)/KDYŽ: Vyhodnotí logickou podmínkuconditiona pokud je pravdivá, vrátívalue_if_true, jinakvalue_if_false.Příklad:
=IF(A2 > 5, "ANO", "NE")– Pokud je číslo v buňceA2větší než5, vrátí textANO, jinakNE.AND(condition1, condition2, …)/A: Vrátí logickou hodnotuTRUE, pokud jsou všechny podmínky splněny. Funkce může mít libovolný počet parametrů.Příklad:
=AND(A2 > 5, B2 < 10)OR(condition1, condition2, …)/NEBO: Vrátí logickou hodnotuTRUE, pokud je alespoň jedna podmínka splněna. Funkce může mít libovolný počet parametrů.Příklad:
=OR(A2 > 5, B2 < 10)NOT(condition)/NE: Neguje logickou hodnotu parametrucondition.Příklad:
=NOT(A2 = 0)Funkce
AND,OR,NOTje možné vnořovat a sestavit tak komplexní logický výraz.Příklad:
=IF(OR(AND(A2 > 5, B2 = 0), A2 <= 5), "ANO", "NE")COUNTIF(range, condition): Spočítá počet buněk v rozsahurange, které splňují zadanou podmínkucondition. Podmínka může být například porovnání nebo textový řetězec.Příklad:
=COUNTIF(A2:A10, ">5")– Spočítá počet buněk v rozsahuA2:A10, které obsahují hodnotu větší než5.SUMIF(range, condition, [sum_range]): Sečte hodnoty v rozsahusum_range, pokud odpovídající buňky v rozsahurangesplňují zadanou podmínkucondition. Pokud nenísum_rangezadán, sčítají se hodnoty přímo zrange. Funkce podporuje pouze jednu podmínku; pokud potřebujete více podmínek, použijteSUMIFS.Příklad:
=SUMIF(A2:A10, ">5", B2:B10)– Sečte hodnoty v rozsahuB2:B10, kde odpovídající buňky v rozsahuA2:A10obsahují hodnotu větší než5.
Seznam operátorů, které lze v logických funkcích používat:
Operátor |
Význam |
Příklady |
|---|---|---|
|
Rovnost |
|
|
Nerovnost |
|
|
Větší než |
|
|
Menší než |
|
|
Větší nebo rovno |
|
|
Menší nebo rovno |
|
2.3. Textové funkce#
CONCAT(text1, text2, …),CONCATENATE(text1, text2, …): Spojí více textových řetězců do jednoho. Funkce může mít libovolný počet parametrů.Příklad:
=CONCAT(A2, " ", B2)TEXTJOIN(delimiter, ignore_empty, text1, text2, …): Spojí argumentytext1,text2(a další) oddělovačemdelimiter. Pokud je parametrignore_emptyTRUE, přeskakuje prázdné buňky. Parametrytext1,text2mohou být také celé rozsahy buněk.Příklad:
=TEXTJOIN(", ", TRUE, A2:A10)LEN(text)/DÉLKA: Vrátí délku textového řetězce.Příklad:
=LEN(A2)LEFT(text, count)/ZLEVA: Vrátí zleva počet znakůcountz textutext.Příklad:
=LEFT(A2, 3)RIGHT(text, count)/ZPRAVA: Vrátí zprava počet znakůcountz textutext.Příklad:
=RIGHT(A2, 2)MID(text, start, number)/ČÁST: Vrátí část textu od znaku na pozicistarto délcenumber. Index prvního znaku v řetězci je 1.Příklad:
=MID(A2, 2, 4)TRIM(text)/PROČISTIT: Odstraní nadbytečné mezery z textutext.Příklad:
=TRIM(A2)SEARCH(search, text, [start_num])/HLEDAT: Vyhledá pozici prvního výskytu textusearchv textutext. Volitelný parametrstart_numurčuje, od kterého znaku má hledání začít (výchozí je 1). Funkce vrací pozici nalezeného textu jako číslo, nebo chybu, pokud text nenajde.Příklad:
=SEARCH("abc", A2)– Vrátí pozici, kde se v buňceA2poprvé vyskytuje řetězec"abc".TEXT(value, format_text)/TEXT: Převede číslo nebo datum na text podle zadaného formátuformat_text. Formátovací řetězec určuje, jak bude výstupní text vypadat.Příklad:
=TEXT(A2, "0.00")– Převede číslo v buňceA2na text se dvěma desetinnými místy.
Příklad:=TEXT(A2, "dd/mm/yyyy")– Převede datum v buňceA2na text ve formátu den/měsíc/rok.
MS Excel
MS Excel v české verzi vyžaduje při formátování data zapsat rok jako rrrr, tedy například =TEXT(A2, "dd/mm/rrrr").
2.4. Vyhledávání#
XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]): Vyhledá hodnotulookup_valuev oblastilookup_arraya vrátí odpovídající prvek zreturn_array. Pokud se hodnota nenajde, vrátíif_not_found(jinak chybu#N/A).Parametr
match_modedefinuje, jak má být porovnání realizováno:0: přesná shoda (výchozí),-1: nejbližší menší,1: nejbližší větší,2: zástupné znaky (*,?).
Parametr
search_modeurčuje pořadí hledání:1: od začátku (výchozí),-1: od konce.
Příklad:
=XLOOKUP(E2, A2:A100, C2:C100, "nenalezeno")