Pomocou funkcie LAMBDA môžete vytvárať vlastné opakovane použiteľné funkcie a volať ich pomocou popisného názvu. Nová funkcia je dostupná v celom zošite a volá sa ako natívna funkcia programu Excel.
Môžete vytvoriť funkciu pre bežne používaný vzorec, eliminovať nutnosť kopírovať a vkladať tento vzorec (ktorý môže byť náchylný k chybám) a efektívne pridávať vlastné funkcie do natívnej knižnice funkcií programu Excel. Funkcia LAMBDA navyše nevyžaduje VBA, makrá ani JavaScript, takže ju môžu využívať aj neprogramátori.
Syntax
=LAMBDA([parametr1; parametr2; …,] výpočet)
Argument |
Popis |
---|---|
parameter |
Hodnota, ktorú chcete funkciu odovzdať, napríklad odkaz na bunku, reťazec alebo číslo. Môžete zadať až 253 parametrov. Tento argument je voliteľný. |
výpočet |
Vzorec, ktorý chcete vykonať a vrátiť ako výsledok funkcie. Musí ísť o posledný argument a musí vracať výsledok. Tento argument je povinný. |
Poznámky:
-
Názvy a parametre funkcie Lambda sa riadia pravidlami syntaxe programu Excel pre názvy s jednou výnimkou: nepoužívajte bodku (.) v názve parametra. Ďalšie informácie nájdete v téme Názvy vo vzorkách.
-
Pri vytváraní funkcie LAMBDA dodržujte osvedčené postupy rovnako ako u ľubovoľného natívneho vzorca programu Excel, ako je odovzdanie správneho počtu a typu argumentov, párovanie ľavých a pravých zátvoriek a zadávanie čísel ako neformátovaných. Keď použijete Evaluate, program Excel okamžite vráti výsledok funkcie LAMBDA a nemôžete ju vnútorne krokovať. Ďalšie informácie nájdete v téme Zisťovanie chýb vo vzorkách.
Chyby
-
Ak zadáte viac ako 253 parametrov, program Excel vráti #VALUE! Ak je zadané umiestnenie pred prvou alebo za poslednou položkou v poli, výsledkom vzorca bude chybová hodnota #ODKAZ!.
-
Ak je funkcia LAMBDA odovzdaný nesprávny počet argumentov, program Excel vráti #VALUE! Ak je zadané umiestnenie pred prvou alebo za poslednou položkou v poli, výsledkom vzorca bude chybová hodnota #ODKAZ!.
-
Ak voláte funkciu LAMBDA rekurzívne a volanie je cyklické, program Excel môže vrátiť #NUM! chybu, ak existuje príliš veľa rekurzívnych volaní.
-
Ak v bunke vytvoríte funkciu LAMBDA bez toho, aby ste ju tiež volali z bunky, program Excel vráti #CALC! Ak je zadané umiestnenie pred prvou alebo za poslednou položkou v poli, výsledkom vzorca bude chybová hodnota #ODKAZ!.
Vytvorenie funkcie LAMBDA
Tu je podrobný postup, ktorý vám pomôže zaistiť, aby funkcia Lambda fungovala tak, ako ste zamýšľali, a veľmi sa podobala správaniu natívnej funkcie programu Excel.
Uistite sa, že vzorec, ktorý používate v argumente výpočtu, funguje správne. To je dôležité, pretože pri vytváraní funkcie LAMBDA chcete zaistiť, aby vzorec fungoval, a môžete to znemožniť, pokiaľ dôjde k chybám alebo neočakávanému správaniu. Ďalšie informácie nájdete v témach Prehľad vzorcov v programe Excel a Vytvorenie jednoduchého vzorca v programe Excel.
Osvedčeným postupom je vytvoriť a otestovať funkciu LAMBDA v bunke, aby ste mali istotu, že funguje správne, vrátane definície a odovzdávania parametrov. Aby ste sa vyhli #NUM! chybe, pridajte volanie funkcie LAMBDA, ktoré okamžite vráti výsledok:
=Funkcia LAMBDA ([parameter1, parameter2, ...],výpočet) (volanie funkcie)
Nasledujúci príklad vráti hodnotu 2.=LAMBDA(number, number + 1)(1)
Keď dokončíte funkciu LAMBDA, presuňte ju do Správcu názvov na konečnú definíciu. Týmto spôsobom dáte funkciu LAMBDA zmysluplný názov, zaistíte popis a umožníte jej opätovné použitie z ľubovoľnej bunky v zošite. Funkciu LAMBDA môžete tiež spravovať tak, ako je to možné pri ľubovoľnom názve, napríklad reťazcové konštanty, oblasti buniek alebo tabuľky.
Postup
-
Použite niektorý z nasledujúcich postupov:
-
V programe Excel pre Windows vyberte Vzorce > Správca názvov.
-
V programe Excel pre Mac vyberte Vzorce > Definovať názov.
-
-
Vyberte Nový a potom zadajte informácie do dialógového okna Nový názov:
Názov:
Zadajte názov funkcie LAMBDA.
Rozsah:
Zošit je predvolená možnosť. K dispozícii sú aj jednotlivé listy.
Komentár:
Voliteľný, ale dôrazne ho odporúčame. Zadajte maximálne 255 znakov. Stručne popíšte účel funkcie a správny počet a typ argumentov.
Zobrazí sa v dialógovom okne Vložiť funkciu a ako popis (spolu s argumentom Výpočet), keď zadáte vzorec a použijete Automatické dokončovanie vzorcov (označované tiež ako Intellisense).
Odkazuje:
Zadajte funkciu LAMBDA.
Príklad:
-
Ak chcete vytvoriť funkciu LAMBDA, vyberte OK.
-
Ak chcete zavrieť dialógové okno Správca názvov, vyberte Zavrieť.
Ďalšie informácie nájdete v téme Použitie Správcu názvov.
Príklady
V Správcovi názvov definujte nasledujúce:
Názov: |
ToCelsius |
Rozsah: |
Zošit |
Komentár: |
Prevod teploty v stupňoch Fahrenheita na teplotu v stupňoch Celzia |
Odkazuje: |
=LAMBDA(temp, (5/9) * (Temp-32)) |
Vzorové údaje skopírujte do nasledujúcej tabuľky a prilepte ich do bunky A1 nového excelového hárka. V prípade potreby môžete upraviť šírku stĺpcov, aby sa údaje zobrazovali celé.
Údaje |
|
104 |
|
86 |
|
68 |
|
50 |
|
32 |
|
Vzorec |
Výsledok |
=TOCELSIUS(A2) |
40 |
=TOCELSIUS(A3) |
30 |
=TOCELSIUS(A4) |
20 |
=TOCELSIUS(A5) |
10 |
=TOCELSIUS(A6) |
0 |
V Správcovi názvov definujte nasledujúce:
Názov: |
Hypotenzia |
Rozsah: |
Zošit |
Komentár: |
Vráti dĺžku prepony pravouhlého trojuholníka |
Odkazuje: |
=LAMBDA(a, b, SQRT((a^2+b^2))) |
Vzorové údaje skopírujte do nasledujúcej tabuľky a prilepte ich do bunky A1 nového excelového hárka. V prípade potreby môžete upraviť šírku stĺpcov, aby sa údaje zobrazovali celé.
Údaje |
|
3 |
4 |
5 |
12 |
7 |
24 |
9 |
40 |
Vzorec |
Výsledok |
=HYPOTENUSE(A2,B2) |
5 |
=HYPOTENUSE(A3,B3) |
13 |
=HYPOTENUSE(A4,B4) |
25 |
=HYPOTENUSE(A5,B5) |
41 |
V Správcovi názvov definujte nasledujúce:
Názov: |
CountWords |
Rozsah: |
Zošit |
Komentár: |
Vráti počet slov v textovom reťazci |
Odkazuje: |
=LAMBDA(text, LEN(TRIM(text)) - LEN(SUBSTITUTE(TRIM(text), " ", "")) + 1) |
Vzorové údaje skopírujte do nasledujúcej tabuľky a prilepte ich do bunky A1 nového excelového hárka. V prípade potreby môžete upraviť šírku stĺpcov, aby sa údaje zobrazovali celé.
Údaje |
|
Niečo zlé týmto spôsobom prichádza. |
|
Prišiel som, videl som, zvíťazil som. |
|
Kŕdeľ ďatľov učí koňa žrať kôru. |
|
Použi Silu, Luke! |
|
Vzorec |
Výsledok |
=COUNTWORDS(A2) |
5 |
=COUNTWORDS(A3) |
6 |
=COUNTWORDS(A4) |
9 |
=COUNTWORDS(A5) |
4 |
V Správcovi názvov definujte nasledujúce:
Názov: |
DatumDnaVdakyvzdania |
Rozsah: |
Zošit |
Komentár: |
Vráti dátum, na ktorý v USA pripadá Deň vďakyvzdania pre daný rok |
Odkazuje: |
=LAMBDA(rok, TEXT(DATE(rok, 11, CHOOSE(WEEKDAY(DATE(rok, 11, 1)), 26, 25, 24, 23, 22, 28, 27)), "mm/dd/yyyy")) |
Vzorové údaje skopírujte do nasledujúcej tabuľky a prilepte ich do bunky A1 nového excelového hárka. V prípade potreby môžete upraviť šírku stĺpcov, aby sa údaje zobrazovali celé.
Údaje |
|
2020 |
|
2021 |
|
2022 |
|
2023 |
|
2024 |
|
Vzorec |
Výsledok |
=DATUMDNAVDAKYVZDANIA(A2) |
26. 11. 2020 |
=DATUMDNAVDAKYVZDANIA(A3) |
25. 11. 2021 |
=DATUMDNAVDAKYVZDANIA(A4) |
24. 11. 2022 |
=DATUMDNAVDAKYVZDANIA(A5) |
23. 11. 2023 |
=DATUMDNAVDAKYVZDANIA(A6) |
28. 11. 2024 |
Potrebujete ďalšiu pomoc?
Vždy sa môžete opýtať odborníka v komunite Excel Tech Community alebo získať podporu v komunitách.