Encyklopedie

Lambda funkce

V MS Excel je možné programovat vlastní uživatelské funkce bez použití VBA kódu. To je umožněno díky LAMBDA funkci.

V MS Excelu musíme mnohdy použít složité vzorce. Práci s dlouhými vzorci může zefektivnit použití LAMBDA funkce. Ta umožňuje funkci nadefinovat a pak efektivně v buňkách volat. Využití lambda funkce je možné demonstrovat na výpočtu objemu koule. Vzorec 4/3*PI()*r^3 je pro opakované použití složitý a zadává se velmi nešikovně. Místo toho by bylo mnohem vhodnější vytvořit vlastní funkci s názvem Objem_koule s jediným argumentem r.

 

Funkci vytvoříme s použitím Správce názvů nebo příkazu Definovat název.

 

Do dialogového okna ve správě názvů se zadá Název funkce, případně komentář a do spodní části samotná definice funkce.

 

Funkce LAMBDA se skládá z těchto částí:

  • název proměnné (r)
  • vzorec (4/3*PI()*r^3)

Výsledný zápis vypadá takto:

=LAMBDA(r;4/3*PI()*r^3)

V buňce je pak možné funkci Objem_koule použít.

pozn. Pro porovnání je vidět i výsledek zadaný „klasicky“ =4/3*PI()*C2^3

Použití LAMBDA funkce v MS Excelu může být výhodné z několika důvodů:

  • Čitelnost a přehlednost
  • Opakovatelnost: Pokud budete potřebovat výpočet objemu koule opakovaně na různých místech v Excelu, můžete použít lambda funkci a znovu ji využít, aniž byste museli opakovat stejný výpočet v různých buňkách.
  • Snadná úprava a údržba: Lambda funkce můžete snadno upravovat a aktualizovat
  • Modularita: Lambda funkce umožňují rozdělit složitější výpočty na menší části, což umožňuje lépe spravovat jednotlivé části výpočtu.
  • Dostupnost pro sdílení: Pokud sdílíte Excelový dokument s ostatními, lambda funkce umožňují sdílet definici funkce, což může usnadnit spolupráci a snížit riziko chyb.

Ukázkou použití 2 sloupců jako argumentů vlastní funkce může být výpočet Váženého průměru.

 

Použití LAMBDA funkce zadání v buňce výrazně zjednodušuje.

Definování funkce vypadá takto:

 

Argumenty funkce jsou: hodnoty a váhy

Výpočet: =SOUČIN.SKALÁRNÍ(hodnoty;vahy)/SUMA(vahy)

Celkově vypadá funkce takto:

=LAMBDA(hodnoty;vahy;SOUČIN.SKALÁRNÍ(hodnoty;vahy)/SUMA(vahy))

 

Výsledek vypadá takto: