Funkce je přednastavený vzorec v Excelu a Tabulkách Google, který je určen k provádění konkrétních výpočtů v buňce, ve které se nachází.
Informace v tomto článku platí pro Excel 2019, Excel 2016, Excel 2013 a Tabulky Google.
Syntaxe funkcí a argumenty
Syntaxe funkce odkazuje na rozložení funkce a zahrnuje název funkce, závorky, oddělovače čárek a argumenty. Stejně jako všechny vzorce začínají funkce rovnítkem (=), za kterým následuje název funkce a její argumenty:
- Název funkce říká Excelu, jaké výpočty má provést.
- Argumenty jsou obsaženy v kulatých nebo kulatých závorkách a říkají funkci, jaká data má v těchto výpočtech použít.
Například jednou z nejpoužívanějších funkcí v Excelu a Tabulkách Google je funkce SUM:
=SOUČET (D1: D6)
V tomto příkladu:
- Název říká Excelu, aby sečetl data ve vybraných buňkách.
- Funkce argument (D1:D6) přidá obsah rozsahu buněk D1 do D6.
Vnořování funkcí do vzorců
Užitečnost vestavěných funkcí aplikace Excel lze rozšířit vnořením jedné nebo více funkcí do jiné funkce ve vzorci. Účinek funkcí vnoření je umožnit provádění více výpočtů v jedné buňce listu.
Za tímto účelem vnořená funkce funguje jako jeden z argumentů pro hlavní nebo nejvzdálenější funkci. Například v následujícím vzorci je funkce SUM vnořena do funkce ROUND.
=KOLO (SOUČET (D1: D6); 2)
Při vyhodnocování vnořených funkcí Excel nejprve provede nejhlubší nebo nejvnitřnější funkci a poté postupuje směrem ven. Výsledkem je, že výše uvedený vzorec nyní bude:
- Najděte součet hodnot v buňkách D1 až D6.
- Zaokrouhlete tento výsledek na dvě desetinná místa.
Od Excelu 2007 je povoleno až 64 úrovní vnořených funkcí. V předchozích verzích bylo povoleno sedm úrovní vnořených funkcí.
Pracovní list vs. uživatelské funkce
V Excelu a Tabulkách Google existují dvě třídy funkcí:
- Funkce pracovního listu
- Vlastní nebo uživatelem definované funkce
Funkce pracovního listu jsou funkcemi zabudovanými do programu, jako jsou funkce SUM a ROUND popsané výše. Vlastní funkce jsou na druhé straně funkce napsané nebo definované uživatelem.
V Excelu jsou uživatelské funkce napsány ve vestavěném programovacím jazyce: Visual Basic for Applications nebo zkráceně VBA. Funkce jsou vytvářeny pomocí editoru Visual Basic, který je nainstalován s Excelem.
Vlastní funkce Tabulek Google jsou napsány v Apps Script, což je forma JavaScriptu, a jsou vytvářeny pomocí editoru skriptů umístěného pod Toolsmenu.
Vlastní funkce obvykle, ale ne vždy, přijímají určitou formu zadávání dat a vracejí výsledek v buňce, kde se nacházejí.
Níže je příklad uživatelem definované funkce, která vypočítává slevy kupujících zapsané v kódu VBA. Původní uživatelsky definované funkce, neboli UDFs, jsou zveřejněny na webu společnosti Microsoft:
Funkce Sleva (množství, cena)
Pokud množství >=100 Pak
Sleva=množstvícena0,1
Jiné
Sleva=0
End If
Sleva=Application. Round(Sleva, 2)End Function
Omezení
V aplikaci Excel mohou uživatelsky definované funkce vracet hodnoty pouze do buněk, ve kterých jsou umístěny. Nemohou spouštět příkazy, které mění operační prostředí Excelu, jako je úprava obsahu nebo formátování buňky.
Znalostní báze Microsoftu uvádí následující omezení pro uživatelem definované funkce:
- Vkládání, mazání nebo formátování buněk v listu.
- Změna hodnoty dat v jiné buňce.
- Přesouvání, přejmenování, mazání nebo přidávání listů do sešitu.
- Změna libovolných možností prostředí, jako je režim výpočtu nebo zobrazení obrazovky.
- Nastavení vlastností nebo provádění většiny metod.
Uživatelsky definované funkce vs. makra v Excelu
Tabulky Google je sice v současné době nepodporují, ale v Excelu jsou makra řadou zaznamenaných kroků, které automatizují opakující se úlohy s listy. Příklady úloh, které lze automatizovat, zahrnují formátování dat nebo operace kopírování a vkládání.
I když oba využívají programovací jazyk VBA společnosti Microsoft, liší se ve dvou ohledech:
- UDF provádějí výpočty, zatímco makra provádějí akce. Jak bylo uvedeno výše, UDF nemohou provádět operace, které ovlivňují prostředí programu, zatímco makra ano.
-
V okně editoru Visual Basic lze tyto dva odlišit, protože:
UDF začínají příkazem Function a končí End Function.
- Makra začínají Sub příkazem a končí End Sub.