Kaip naudotis „Excel LAMBDA“ funkcija -

Turinys

Santrauka

„Excel LAMBDA“ funkcija suteikia galimybę sukurti pasirinktines funkcijas, kurias galima pakartotinai naudoti visoje darbaknygėje be VBA ar makrokomandų.

Tikslas

Sukurti pasirinktinę funkciją

Grąžinimo vertė

Kaip apibrėžta formulė

Sintaksė

= LAMBDA (parametras,…, skaičiavimas)

Argumentai

  • parametras - funkcijos įvesties vertė.
  • skaičiavimas - skaičiavimas, atliekamas kaip funkcijos rezultatas. Turi būti paskutinis argumentas.

Versija

„Excel 365“

Naudojimo užrašai

Programuodami kompiuterį, LAMBDA nurodo anoniminę funkciją ar išraišką. Anoniminė funkcija yra funkcija, apibrėžta be pavadinimo. „Excel“ LAMBDA funkcija suteikia galimybę apibrėžti ir apibendrinti konkrečią formulės funkciją, panašiai kaip „Excel“ funkcija. Apibrėžus, LAMBDA funkciją galima pavadinti ir pakartotinai naudoti kitur darbaknygėje. Kitaip tariant, LAMBDA funkcija yra būdas sukurti pasirinktines funkcijas.

Vienas iš pagrindinių pasirinktinės LAMBDA funkcijos privalumų yra tas, kad formulėje esanti logika egzistuoja tik vienoje vietoje. Tai reiškia, kad yra tik viena kodo kopija, kurią reikia atnaujinti taisant problemas ar atnaujinant funkcionalumą, ir pakeitimai bus automatiškai perduodami į visus darbaknygės LAMBDA funkcijos egzempliorius. LAMBDA funkcijai nereikia VBA ar makrokomandų.

1 pavyzdys | 2 pavyzdys | 3 pavyzdys

LAMBDA funkcijos sukūrimas

LAMBDA funkcijos paprastai sukuriamos ir derinamos darbalapio formulės juostoje, tada perkeliamos į vardų tvarkytuvę, kad būtų priskirtas vardas, kurį galima naudoti bet kurioje darbaknygės vietoje.

Yra keturi pagrindiniai veiksmai, kaip sukurti ir naudoti pasirinktinę formulę, pagrįstą funkcija LAMBDA:

  1. Patikrinkite logiką, kurią naudosite naudodami standartinę formulę
  2. Sukurkite ir išbandykite bendrą (neįvardytą) LAMBDA formulės versiją
  3. Pavadinkite ir apibrėžkite LAMBDA formulę su pavadinimų tvarkytuvu
  4. Išbandykite naują pasirinktinę funkciją naudodami apibrėžtą pavadinimą

Žemiau pateiktuose pavyzdžiuose išsamiau aptariami šie veiksmai.

1 pavyzdys

Norėdami iliustruoti, kaip veikia LAMBDA, pradėkime nuo labai paprastos formulės:

=x*y // multiple x and y

Programoje „Excel“ šioje formulėje paprastai naudojamos tokios ląstelių nuorodos:

=B5*C5 // with cell references

Kaip matote, formulė veikia gerai, todėl esame pasirengę pereiti prie bendros LAMBDA formulės (neįvardytos versijos) kūrimo. Pirmiausia reikia atsižvelgti į tai, ar formulei reikia įvesties (parametrų). Šiuo atveju atsakymas yra „taip“ - formulei reikalinga x reikšmė, o y reikšmė. Kai tai bus nustatyta, pradėsime nuo funkcijos LAMBDA ir pridėsime reikiamus vartotojo įvesties parametrus:

=LAMBDA(x,y // begin with input parameters

Tada turime pridėti faktinį skaičiavimą, x * y:

=LAMBDA(x,y,x*y)

Jei šioje vietoje įvesite formulę, gausite #CALC! klaida. Taip atsitinka todėl, kad formulėje nėra įvesties reikšmių, su kuriomis būtų galima dirbti, nes nebėra jokių langelių nuorodų. Norėdami išbandyti formulę, turime naudoti tokią specialią sintaksę:

=LAMBDA(x,y,x*y)(B5,C5) // testing syntax

Ši sintaksė, kai parametrai pateikiami LAMBDA funkcijos pabaigoje atskirame skliaustų rinkinyje, yra būdinga LAMBDA funkcijoms. Tai leidžia patikrinti formulę tiesiogiai darbalapyje, prieš pavadinant LAMBDA. Žemiau esančiame ekrane galite pamatyti, kad bendroji LAMBDA funkcija F5 pateikia tą patį rezultatą, kaip ir pradinė formulė E5:

Dabar mes esame pasirengę pavadinti LAMBDA funkciją naudodami Vardų tvarkytuvę. Pirmiausia pasirinkite formulę, * neįtraukdami * testavimo parametrų pabaigoje. Tada atidarykite Vardų tvarkyklę naudodami nuorodą „Control + F3“ ir spustelėkite Naujas.

Dialogo lange Naujas vardas įveskite pavadinimą „XBYY“, palikite taikymo sritį darbaknygei ir įklijuokite nukopijuotą formulę į įvesties sritį „Nurodo“.

Įsitikinkite, kad formulė prasideda lygybės ženklu (=). Dabar, kai LAMBDA formulė turi pavadinimą, ją galima naudoti darbaknygėje, kaip ir bet kurią kitą funkciją. Žemiau esančiame ekrane G5 formulė, nukopijuota žemiau, yra:

Nauja pasirinktinė funkcija pateikia tą patį rezultatą kaip ir kitos dvi formulės.

2 pavyzdys

Šiame pavyzdyje konvertuosime sferos tūrio apskaičiavimo formulę į pasirinktinę LAMBDA funkciją. Bendroji „Excel“ formulė sferos tūriui apskaičiuoti yra:

=4/3*PI()*A1^3 // volume of sphere

kur A1 reiškia spindulį. Žemiau pateiktame ekrane rodoma ši formulė:

Atkreipkite dėmesį, kad norint apskaičiuoti šią formulę reikia tik vieno įvesties (spindulio), todėl mūsų LAMBDA funkcijai reikės tik vieno parametro (r), kuris pasirodys kaip pirmasis argumentas. Čia yra formulė, paversta LAMBDA:

=LAMBDA(r,4/3*PI()*r^3) // generic lambda

Grįždami į darbalapį, mes pakeitėme pradinę formulę į bendrą LAMBDA versiją. Atkreipkite dėmesį, kad naudojame testavimo sintaksę, kuri leidžia mums prijungti B5 spindulį:

Rezultatai iš bendros LAMBDA formulės yra visiškai tokie patys kaip pradinės formulės, todėl kitas žingsnis yra apibrėžti ir pavadinti šią LAMBDA formulę pavadinimų tvarkytuvu, kaip paaiškinta aukščiau. Funkcijai LAMBDA naudojamas vardas gali būti bet koks galiojantis „Excel“ vardas. Tokiu atveju formulę pavadinsime „SphereVolume“.

Grįžę į darbalapį, mes pakeitėme bendrąją (neįvardytą) LAMBDA formulę pavadinta LAMBDA versija ir įrašėme B5 kaip r. Atkreipkite dėmesį, kad pasirinktinės „SphereVolume“ funkcijos grąžinti rezultatai yra visiškai tokie patys kaip ankstesnių rezultatų.

3 pavyzdys

Šiame pavyzdyje sukursime funkciją LAMBDA žodžiams skaičiuoti. „Excel“ neturi šiam tikslui skirtos funkcijos, tačiau galite suskaičiuoti žodžius su langeliu naudodami pasirinktinę formulę, pagrįstą šiomis funkcijomis: LEN ir SUBSTITUTE:

=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

Išsamų paaiškinimą skaitykite čia. Čia yra formulė, veikianti darbalapyje:

Atkreipkite dėmesį, kad neteisingai skaičiuojame 1, kai formulei pateikiama tuščia ląstelė (B10). Mes spręsime šią problemą žemiau.

Šiai formulei reikia tik vieno įvesties, ty teksto, kuriame yra žodžių. Savo LAMBDA funkcijoje šį argumentą pavadinsime „tekstu“. Čia yra formulė, paversta LAMBDA:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Pranešimas „tekstas“ pasirodo kaip pirmasis argumentas, o skaičiavimas yra antrasis ir paskutinis argumentas. Žemiau esančiame ekrane pradinę formulę pakeitėme bendrine LAMBDA versija. Atkreipkite dėmesį, kad naudojame testavimo sintaksę, kuri leidžia mums prijungti B5 tekstui:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)(B5)

Rezultatai iš bendros LAMBDA formulės yra tokie patys kaip pradinės formulės, todėl kitas žingsnis yra apibrėžti ir pavadinti šią LAMBDA formulę pavadinimų tvarkytuvu, kaip paaiškinta anksčiau. Šią formulę pavadinsime „CountWords“.

Žemiau mes pakeitėme bendrą (neįvardytą) LAMBDA formulę pavadinta LAMBDA versija ir įvedėme tekstą B5. Atkreipkite dėmesį, kad gauname lygiai tuos pačius rezultatus.

Formulė, naudojama vardų tvarkytuvėje apibrėžiant „CountWords“, yra tokia pati, kaip nurodyta aukščiau, be testavimo sintaksės:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Tuščios langelio problemos sprendimas

Kaip minėta pirmiau, aukščiau pateikta formulė pateikia neteisingą skaičių 1, kai langelis tuščias. Šią problemą galima išspręsti pakeičiant +1 žemiau esančiu kodu:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+(LEN(TRIM(B5))>0)

Visas paaiškinimas čia. Norėdami atnaujinti esamą pavadintą LAMDA formulę, vėl turime naudoti Vardų tvarkytuvę:

  1. Atidarykite Vardų tvarkytuvę
  2. Pasirinkite pavadinimą „CountWords“ ir spustelėkite „Redaguoti“
  3. Pakeiskite kodą „Nuoroda į“ į šią formulę:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+(LEN(TRIM(text))>0))

Uždarius vardų tvarkytuvę, CountWords tinkamai veikia tuščias langelius, kaip parodyta žemiau:

Pastaba: kartą atnaujinus kodą Vardų tvarkytuvėje, visi „CountWords“ formulės egzemplioriai atnaujinami vienu metu. Tai yra pagrindinis pasirinktų funkcijų, sukurtų naudojant „LAMBDA“ formulių atnaujinimus, privalumas, kurį galima valdyti vienoje vietoje.

Įdomios straipsniai...