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 jej využitie 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: v názve parametra nepoužívajte bodku (.). Ď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 príkaz Vyhodnotiť , Excel okamžite vráti výsledok funkcie LAMBDA a nemôžete do nej vstúpiť. Ď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.
Krok 1: Otestovanie vzorca
Skontrolujte, či vzorec, ktorý použijete 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 Exceli a Vytvorenie jednoduchého vzorca v Exceli.
Krok 2: Vytvorenie funkcie Lambda v bunke
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)
Krok 3: Pridanie funkcie Lambda do Správcu názvov
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 jeden z nasledovných postupov:
- V Exceli pre Windows vyberte položku Správca názvov vzorcov>.
- V Exceli pre Mac vyberte položku 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é hárky, s výnimkou Excelu pre web. 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ženie funkcie a ako popis (spolu s argumentom Výpočet ), keď zadáte vzorec a použijete funkciu Automatické dokončovanie vzorca (nazývanú aj 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
Príklad 1: Prevod stupňov Fahrenheita na stupne Celzia
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 |
Príklad 2: Nájdenie prepony
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 |
Príklad 3: Počítanie slov
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 |
Príklad 4: Vyhľadanie dátumu vďakyvzdania
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.