Pomocí funkce LAMBDA můžete vytvářet vlastní opakovaně použitelné funkce a volat je pomocí popisného názvu. Nová funkce je dostupná v celém sešitu a volá se jako nativní funkce aplikace Excel.
Můžete vytvořit funkci pro běžně používaný vzorec, eliminovat nutnost kopírovat a vkládat tento vzorec (který může být náchylný k chybám) a efektivně přidávat vlastní funkce do nativní knihovny funkcí aplikace Excel. Funkce LAMBDA navíc nevyžaduje VBA, makra ani JavaScript, takže ji mohou využívat i neprogramátoři.
Syntaxe
=LAMBDA([parametr1; parametr2; …,] výpočet)
Argument |
Popis |
---|---|
parametr |
Hodnota, kterou chcete funkci předat, například odkaz na buňku, řetězec nebo číslo. Můžete zadat až 253 parametrů. Tento argument je volitelný. |
výpočet |
Vzorec, který chcete vykonat a vrátit jako výsledek funkce. Musí se jednat o poslední argument a musí vracet výsledek. Tento argument je povinný. |
Poznámky
-
Názvy a parametry funkce Lambda se řídí pravidly syntaxe aplikace Excel pro názvy s jednou výjimkou: nepoužívejte tečku (.) v názvu parametru. Další informace najdete v tématu Názvy ve vzorcích.
-
Při vytváření funkce LAMBDA dodržujte osvědčené postupy stejně jako u libovolného nativního vzorce aplikace Excel, jako je předání správného počtu a typu argumentů, párování ¨levých a pravých závorek a zadávání čísel jako neformátovaných. Když použijete příkaz Evaluate, aplikace Excel okamžitě vrátí výsledek funkce LAMBDA a nemůžete ji vnitřně krokovat. Další informace najdete v tématu Zjišťování chyb ve vzorcích.
Chyby
-
Pokud zadáte více než 253 parametrů, aplikace Excel vrátí #HODNOTA! .
-
Pokud je funkci LAMBDA předán nesprávný počet argumentů, aplikace Excel vrátí #HODNOTA! .
-
Pokud voláte funkci LAMBDA rekurzivně a volání je cyklické, aplikace Excel může vrátit #ČÍS! chybu, pokud existuje příliš mnoho rekurzivních volání.
-
Pokud v buňce vytvoříte funkci LAMBDA, aniž byste ji také volali z buňky, aplikace Excel vrátí #VÝP! .
Vytvoření funkce LAMBDA
Tady je podrobný postup, který vám pomůže zajistit, aby funkce Lambda fungovala tak, jak jste zamýšleli, a velmi se podobala chování nativní funkce aplikace Excel.
Ujistěte se, že vzorec, který používáte v argumentu výpočtu, funguje správně. To je důležité, protože při vytváření funkce LAMBDA chcete zajistit, aby vzorec fungoval, a můžete to znemožnit, pokud dojde k chybám nebo neočekávanému chování. Další informace najdete v tématech Přehled vzorců v aplikaci Excel a Vytvoření jednoduchého vzorce v aplikaci Excel.
Osvědčeným postupem je vytvořit a otestovat funkci LAMBDA v buňce, abyste měli jistotu, že funguje správně, včetně definice a předávání parametrů. Abyste se vyhnuli chybě #ČÍS! chybě, přidejte volání funkce LAMBDA, které okamžitě vrátí výsledek:
=Funkce LAMBDA ([parametr1, parametr2, ...],výpočet) (volání funkce)
Následující příklad vrátí hodnotu 2.=LAMBDA(number, number + 1)(1)
Jakmile dokončíte funkci LAMBDA, přesuňte ji do Správce názvů ke konečné definici. Tímto způsobem dáte funkci LAMBDA smysluplný název, zajistíte popis a umožníte její opětovné použití z libovolné buňky v sešitu. Funkci LAMBDA můžete také spravovat tak, jak je to možné u libovolného názvu, například řetězcové konstanty, oblasti buněk nebo tabulky.
Postup
-
Udělejte jednu z těchto věcí:
-
V aplikaci Excel pro Windows vyberte Vzorce > Správce názvů.
-
V aplikaci Excel pro Mac vyberte Vzorce > Definovat název.
-
-
Vyberte Nový a potom zadejte informace do dialogového okna Nový název:
Jméno:
Zadejte název funkce LAMBDA.
Obor:
Sešit je výchozí možnost. K dispozici jsou také jednotlivé listy.
Komentář:
Volitelný, ale důrazně jej doporučujeme. Zadejte až 255 znaků. Stručně popište účel funkce a správný počet a typ argumentů.
Zobrazí se v dialogovém okně Vložit funkci a jako popis (spolu s argumentem Výpočet), když zadáte vzorec a použijete Automatického dokončování vzorců (označované také jako Intellisense).
Odkazovaná položka:
Zadejte funkci LAMBDA.
Například:
-
Pokud chcete vytvořit funkci LAMBDA, vyberte OK.
-
Pokud chcete zavřít dialogové okno Správce názvů, vyberte Zavřít.
Další informace najdete v tématu Použití Správce názvů.
Příklady
Ve Správci názvů definujte následující:
Jméno: |
ToCelsius |
Obor: |
Sešit |
Komentář: |
Převod teploty ve stupních Fahrenheita na teplotu ve stupních Celsia |
Odkazovaná položka: |
=LAMBDA(temp, (5/9) * (Temp-32)) |
Zkopírujte vzorová data v následující tabulce a vložte je do buňky A1 nového excelového sešitu. Pokud potřebujete, můžete přizpůsobit šířky sloupců a zobrazit si všechna data.
Data |
|
104 |
|
86 |
|
68 |
|
50 |
|
32 |
|
Vzorec |
Výsledek |
=TOCELSIUS(A2) |
40 |
=TOCELSIUS(A3) |
30 |
=TOCELSIUS(A4) |
20 |
=TOCELSIUS(A5) |
10 |
=TOCELSIUS(A6) |
0 |
Ve Správci názvů definujte následující:
Jméno: |
Hypotenuse |
Obor: |
Sešit |
Komentář: |
Vrátí délku přepony pravoúhlého trojúhelníku |
Odkazovaná položka: |
=LAMBDA(a, b, SQRT((a^2+b^2))) |
Zkopírujte vzorová data v následující tabulce a vložte je do buňky A1 nového excelového sešitu. Pokud potřebujete, můžete přizpůsobit šířky sloupců a zobrazit si všechna data.
Data |
|
3 |
4 |
5 |
12 |
7 |
24 |
9 |
40 |
Vzorec |
Výsledek |
=HYPOTENUSE(A2,B2) |
5 |
=HYPOTENUSE(A3,B3) |
13 |
=HYPOTENUSE(A4,B4) |
25 |
=HYPOTENUSE(A5,B5) |
41 |
Ve Správci názvů definujte následující:
Jméno: |
CountWords |
Obor: |
Sešit |
Komentář: |
Vrátí počet slov v textovém řetězci |
Odkazovaná položka: |
=LAMBDA(text, LEN(TRIM(text)) - LEN(SUBSTITUTE(TRIM(text), " ", "")) + 1) |
Zkopírujte vzorová data v následující tabulce a vložte je do buňky A1 nového excelového sešitu. Pokud potřebujete, můžete přizpůsobit šířky sloupců a zobrazit si všechna data.
Data |
|
Něco zlého tímto způsobem přichází. |
|
Přišel jsem, viděl jsem, zvítězil jsem. |
|
Příliš žluťoučký kůň úpěl ďábelské ódy. |
|
Použij Sílu, Luku! |
|
Vzorec |
Výsledek |
=COUNTWORDS(A2) |
5 |
=COUNTWORDS(A3) |
6 |
=COUNTWORDS(A4) |
9 |
=COUNTWORDS(A5) |
4 |
Ve Správci názvů definujte následující:
Jméno: |
DenDíkůvzdání |
Obor: |
Sešit |
Komentář: |
Vrátí datum, na které v USA připadá Den díkůvzdání pro daný rok |
Odkazovaná položka: |
=LAMBDA(rok, TEXT(DATUM(rok, 11, VYBRAT(VŠEDNÍ DEN(DATUM(rok, 11, 1)), 26, 25, 24, 23, 22, 28, 27)), "mm/dd/rrrr")) |
Zkopírujte vzorová data v následující tabulce a vložte je do buňky A1 nového excelového sešitu. Pokud potřebujete, můžete přizpůsobit šířky sloupců a zobrazit si všechna data.
Data |
|
2020 |
|
2021 |
|
2022 |
|
2023 |
|
2024 |
|
Vzorec |
Výsledek |
=DENDÍKŮVZDÁNÍ(A2) |
26. 11. 2020 |
=DENDÍKŮVZDÁNÍ(A3) |
25. 11. 2021 |
=DENDÍKŮVZDÁNÍ(A4) |
24. 11. 2022 |
=DENDÍKŮVZDÁNÍ(A5) |
23. 11. 2023 |
=DENDÍKŮVZDÁNÍ(A6) |
28. 11. 2024 |
Potřebujete další pomoc?
Kdykoli se můžete zeptat odborníka z komunity Excel Tech nebo získat podporu v komunitách.