Kako se koristi Excel LAMBDA funkcija -

Sadržaj

Sažetak

Funkcija Excel LAMBDA pruža način stvaranja prilagođenih funkcija koje se mogu ponovno koristiti u cijeloj radnoj knjizi, bez VBA ili makronaredbi.

Svrha

Stvorite prilagođenu funkciju

Povratna vrijednost

Kako je definirano formulom

Sintaksa

= LAMBDA (parametar,…, izračun)

Argumenti

  • parametar - Ulazna vrijednost za funkciju.
  • izračun - izračun koji treba izvršiti kao rezultat funkcije. To mora biti zadnji argument.

Verzija

Excel 365

Napomene o upotrebi

U računalnom programiranju, LAMBDA se odnosi na anonimnu funkciju ili izraz. Anonimna funkcija je funkcija definirana bez imena. U Excelu funkcija LAMBDA pruža način definiranja i inkapsuliranja određene funkcionalnosti formule, slično kao Excel funkcija. Jednom definirana, LAMBDA funkcija može se imenovati i ponovno koristiti negdje drugdje u radnoj knjizi. Drugim riječima, funkcija LAMBDA način je za stvaranje prilagođenih funkcija.

Jedna od ključnih prednosti prilagođene funkcije LAMBDA je ta što logika sadržana u formuli postoji na samo jednom mjestu. To znači da postoji samo jedna kopija koda koju treba ažurirati prilikom rješavanja problema ili ažuriranja funkcionalnosti, a promjene će se automatski proširiti na sve instance funkcije LAMBDA u radnoj knjizi. Funkcija LAMBDA ne zahtijeva VBA ili makronaredbe.

Primjer 1 | Primjer 2 | Primjer 3

Stvaranje funkcije LAMBDA

Funkcije LAMBDA obično se kreiraju i otklanjaju pogreške u traci s formulama na radnom listu, a zatim se premještaju u upravitelj imena kako bi se dodijelilo ime koje se može koristiti bilo gdje u radnoj knjizi.

Četiri su osnovna koraka za stvaranje i upotrebu prilagođene formule na temelju funkcije LAMBDA:

  1. Provjerite logiku koju ćete koristiti sa standardnom formulom
  2. Stvorite i testirajte generičku (neimenovanu) LAMBDA verziju formule
  3. Nazovite i definirajte formulu LAMBDA pomoću upravitelja imena
  4. Testirajte novu prilagođenu funkciju pomoću definiranog imena

Primjeri u nastavku detaljnije razmatraju ove korake.

Primjer 1

Da bismo ilustrirali kako LAMBDA djeluje, započnimo s vrlo jednostavnom formulom:

=x*y // multiple x and y

U Excelu bi ova formula obično koristila reference ćelija poput ove:

=B5*C5 // with cell references

Kao što vidite, formula dobro funkcionira, pa smo spremni prijeći na stvaranje generičke LAMBDA formule (neimenovana verzija). Prvo što treba razmotriti je ako formula zahtijeva ulaze (parametre). U ovom je slučaju odgovor "da" - formula zahtijeva vrijednost za x i vrijednost za y. S tim uspostavljenim započinjemo s funkcijom LAMBDA i dodajemo potrebne parametre za unos korisnika:

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

Dalje, moramo dodati stvarni izračun, x * y:

=LAMBDA(x,y,x*y)

Ako unesete formulu u ovom trenutku, dobit ćete #CALC! pogreška. To se događa zato što formula nema ulazne vrijednosti za rad, jer više nema referenci na ćelije. Da bismo testirali formulu, trebamo upotrijebiti posebnu sintaksu poput ove:

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

Ova sintaksa, gdje se parametri daju na kraju funkcije LAMBDA u zasebnom skupu zagrada, jedinstvena je za funkcije LAMBDA. To omogućuje testiranje formule izravno na radnom listu, prije nego što se imenuje LAMBDA. Na donjem zaslonu možete vidjeti da generička funkcija LAMBDA u F5 vraća potpuno isti rezultat kao i izvorna formula u E5:

Sada smo spremni imenovati funkciju LAMBDA pomoću Upravitelja imena. Prvo odaberite formulu, * ne uključujući * parametre ispitivanja na kraju. Zatim otvorite Upravitelj imena prečacem Control + F3 i kliknite Novo.

U dijaloški okvir Novo ime unesite naziv "XBYY", ostavite opseg postavljen na radnu knjigu i zalijepite formulu koju ste kopirali u područje za unos "Odnosi se na".

Provjerite započinje li formula znakom jednakosti (=). Sad kad LAMBDA formula ima ime, može se koristiti u radnoj knjizi kao i svaka druga funkcija. Na zaslonu ispod formule u G5, kopirane dolje, nalazi se:

Nova prilagođena funkcija vraća isti rezultat kao i ostale dvije formule.

Primjer 2

U ovom ćemo primjeru formulu za izračunavanje volumena kugle pretvoriti u prilagođenu funkciju LAMBDA. Opća Excel formula za izračunavanje volumena kugle je:

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

gdje A1 predstavlja polumjer. Zaslon u nastavku prikazuje ovu formulu na djelu:

Primijetite da ova formula zahtijeva samo jedan ulaz (radijus) za izračunavanje glasnoće, tako da će našoj LAMBDA funkciji trebati samo jedan parametar (r), koji će se pojaviti kao prvi argument. Evo formule pretvorene u LAMBDA:

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

Natrag na radnom listu, izvornu smo formulu zamijenili generičkom verzijom LAMBDA. Primijetimo da koristimo sintaksu testiranja koja nam omogućuje da priključimo B5 radijusa:

Rezultati generičke formule LAMBDA potpuno su jednaki originalnoj formuli, pa je sljedeći korak definiranje i imenovanje ove formule LAMBDA pomoću Upravitelja imena, kako je gore objašnjeno. Naziv koji se koristi za funkciju LAMBDA može biti bilo koje valjano Excel ime. U ovom ćemo slučaju formulu nazvati "SphereVolume".

Natrag na radnom listu zamijenili smo generičku (neimenovanu) formulu LAMBDA s imenovanom verzijom LAMBDA i unijeli B5 za r. Primijetite da su rezultati koje je vratila prilagođena funkcija SphereVolume potpuno isti kao i prethodni rezultati.

Primjer 3

U ovom primjeru stvorit ćemo funkciju LAMBDA za brojanje riječi. Excel u tu svrhu nema funkciju, ali možete brojati riječi ćelijom s prilagođenom formulom na temelju funkcija LEN i ZAMJENA poput ove:

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

Detaljno objašnjenje pročitajte ovdje. Evo formule na djelu u radnom listu:

Primijetimo da dobivamo netočan broj 1 kada je formula dobila praznu ćeliju (B10). Taj ćemo problem riješiti u nastavku.

Ova formula zahtijeva samo jedan unos, a to je tekst koji sadrži riječi. U našoj funkciji LAMBDA, ovaj ćemo argument nazvati "tekst". Evo formule pretvorene u LAMBDA:

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

Obavijest "tekst" pojavljuje se kao prvi argument, a izračun je drugi i posljednji argument. Na donjem smo zaslonu izvornu formulu zamijenili generičkom verzijom LAMBDA. Primijetimo da koristimo sintaksu testiranja koja nam omogućuje da B5 priključimo za tekst:

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

Rezultati generičke formule LAMBDA jednaki su originalnoj formuli, pa je sljedeći korak definiranje i imenovanje ove formule LAMBDA pomoću Upravitelja imena, kao što je prethodno objašnjeno. Ovu ćemo formulu nazvati "CountWords".

U nastavku smo generičku (neimenovanu) formulu LAMBDA zamijenili imenovanom verzijom LAMBDA i unijeli B5 za tekst. Primijetimo da dobivamo potpuno iste rezultate.

Formula korištena u Upravitelju imena za definiranje CountWords-a ista je kao i gore, bez sintakse testiranja:

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

Rješavanje problema s praznim stanicama

Kao što je gore spomenuto, gornja formula vraća netočan broj 1 kada je ćelija prazna. Ovaj se problem može riješiti zamjenom +1 s donjim kodom:

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

Potpuno objašnjenje ovdje. Da bismo ažurirali postojeću imenovanu formulu LAMDA, opet moramo koristiti Name Manager:

  1. Otvorite Name Manager
  2. Odaberite naziv "CountWords" i kliknite "Edit"
  3. Zamijenite kod "Odnosi se na" ovom formulom:

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

Nakon što je upravitelj imena zatvoren, CountWords ispravno radi na praznim ćelijama, kao što se vidi dolje:

Napomena: ažuriranjem koda jednom u Upravitelju imena, svi se primjeri formule CountWords odjednom ažuriraju. To je ključna prednost prilagođenih funkcija kreiranih pomoću LAMBDA - ažuriranjima formule može se upravljati na jednom mjestu.

Zanimljivi članci...