Ексел разполага с над 2,000 вградени функции в различните му приложения, но няма готова такава за разреждане на ракия. Например имате 10 литра ракия с алкохолен градус 55. Желаете да я разредите така, че да получите градус 40. Колко литра вода трябва да добавите?
Разбира се, ако не сте забравили уроците по математика от 6-7 клас, няма да ви е проблем да си го пресметнете. Дори и да сте забравили с малко търсене в гугъл попадате на сайта rakiyata.com, в който любители на тази напитка надълго и широко обсъждат точната формула за рареждане на ракия. И тя не е чак толкова сложна. Най-напред умножаваме литрите ракия, които имаме с техния алкохолен градус (10*55=550). Така получаваме общото количество алкохолни градуси. Като го разделим на желания алкохолен градус, който искаме да постигнем (40) ще получим новото количество ракия, което трябва да имаме (550/40 = 13.75). Сега остава от новото количество да извадим сегашното и ще получим колко вода трябва да добавим (13.75 -10 = 3.75).
С други думи формулата е:
(литри ракия сега * алкохолен градус сега)/нов алкохолен градус – литри ракия сега
Проблемът е да си припомните или разберете правилото за изчислението, а от там насетне лесно ще сглобите формулата в Ексел:
Но всичко това нарушава ритъма ви на работа и отнема от така скъпоценното време. А след няколко месеца, когато пак се наложи да правите това изчисление, отново ще се наложи да хабите време, за да си припомните как става. Далеч по-просто е, ако разполагате с функция в Ексел, в която въвеждате трите известни параметъра и тя сама ви пресмята точното количество вода за разреждане на ракия.
И ето тук на помощ идва
LAMBDA
Съвсем накратко казано – LAMBDA е нова функция в Ексел 365, която позволява да създаваме наши собствени функции и след това да ги използваме във всякакви изчисления във файла. Такава възможност съществува и в по-старите версии, но става с писане на VBA код, което определено е затруднение за масовия Ексел потребител.
Синтаксисът на LAMBDA е прост: (параметър; параметър2; … параметър 253; изчисление). В нашия случай тя ще изглежда така:
Ако сега натиснем Enter, ще получим грешка:
Но спокойно – това все още не е истинската функция.
За да се уверим, че тя ще работи, можем да тестваме с един специален оператор в Ексел:
Добавяме скоби зад функцията и посочваме клетките, където са параметрите за изчислението. Резултатът е какъвто го очакваме:
С това се уверяваме, че сме създали правилната логика за функцията за разреждане на ракия и е време да я създадем.
Създаване на функция за разреждане на ракия с LAMBDA
Най-напред копираме целия текст на формулата, в случая това:
=LAMBDA(litri_sega;gradus_sega;nov_gradus; (gradus_sega*litri_sega)/nov_gradus – litri_sega)
Следващата стъпка е да отворим Name Manager (най-лесно става с клавишната комбинация CTRL + F3) и там натискаме New
Появява се ново меню
Тук трябва да въведем име на нашата функция в Name. Аз съм избрал твърде креативното RAKIA. В Refers to просто пействаме текста и даваме ОК
Така създаваме една нова наименована област (Named range), която обаче ще се държи като функция в целия файл.
От тук нататък, когато искаме да пресметнем колко вода ни трябва за разреждане на ракия, можем да използваме функцията RAKIA като всяка една функция в Ексел. Натискаме =(равно) и започваме да пишем RA и нашата функция се появява.
Въвеждаме параметрите
Натискаме ENTER и готово:
Като заключение
LAMBDA е функция в Ексел, която ни позволява да правим свои собствени функции. Така можем да спестим време и нерви.
Тя има обаче няколко съществени ограничения:
- Налична е само в Ексел 365 и в настолните версии от 2021 нагоре
- Работи само във файла, в който сме я създали
- Няма пълноценно описание като стандартните функции на Ексел
Независимо от всичко тя е доста удобна и дава възможност да улесним изчисленията. За целите на статията използвах един леко хумористичен пример с формула за разреждане на ракия. Но като финансист на прима виста се сещам цял куп показатели, за които в Ексел няма създадена формула, а се налага да се изчисляват често:
- Процентно изменение спрямо бюджета или миналата година
- Обръщаемост на краткотрайните активи
- Надценка и марж
- Заплата бруто-нето
- Средна претеглена величина
- Кръстосани валутни курсове и много други
Препоръчвам също така да се запознаете и с тези допълнителни материали:
Видео с чудесни обяснения от Leila Gharani
Официалната документация от Microsoft
Много добро и подробно обяснение от Ablebits.com
А за това какво е възможно да се направи с LAMBDA в съчетание с други от новите функционалности в Ексел – вижте това видео от ExcelIsFun
P.S.
Трябва да отбележа, че използваната формула за разреждане на ракия е само за целите на демонстрацията на LAMBDA. Тя ще бъде коректна само ако температурата на водата и на ракията е около 20 градуса. Когато водата и ракията са с различни от 20 градуса температура, тогава формулата се усложнява като се добавят параметри и за тях. Това разбира се, ще бъде една универсална формула, но аз не съм специалист и не мога да кажа как ще изглежда тя. Ако знаете каква би била логиката – моля свържете се с мен, чрез формата за контакт.
При всички положения за разреждане на ракия се използва дестилирана вода. А ракията трябва да се употребява с удоволствие и мярка.