Cum se utilizează funcția Excel LAMBDA -

Cuprins

rezumat

Funcția Excel LAMBDA oferă o modalitate de a crea funcții personalizate care pot fi refolosite în întregul registru de lucru, fără VBA sau macrocomenzi.

Scop

Creați o funcție personalizată

Valoare returnată

Așa cum este definit de formulă

Sintaxă

= LAMBDA (parametru, …, calcul)

Argumente

  • parametru - O valoare de intrare pentru funcție.
  • calcul - Calculul de efectuat ca rezultat al funcției. Trebuie să fie ultimul argument.

Versiune

Excel 365

Note de utilizare

În programarea computerului, LAMBDA se referă la o funcție sau expresie anonimă. O funcție anonimă este o funcție definită fără nume. În Excel, funcția LAMBDA oferă o modalitate de a defini și încapsula funcționalitatea formulelor specifice, la fel ca o funcție Excel. Odată definită, o funcție LAMBDA poate fi numită și reutilizată în altă parte a unui registru de lucru. Cu alte cuvinte, funcția LAMBDA este o modalitate de a crea funcții personalizate.

Unul dintre avantajele cheie ale unei funcții LAMBDA personalizate este că logica conținută în formulă există într-un singur loc. Aceasta înseamnă că există o singură copie a codului de actualizat atunci când se remediază probleme sau se actualizează funcționalitatea, iar modificările se propagă automat la toate instanțele funcției LAMBDA dintr-un registru de lucru. O funcție LAMBDA nu necesită VBA sau macrocomenzi.

Exemplul 1 | Exemplul 2 | Exemplul 3

Crearea unei funcții LAMBDA

Funcțiile LAMBDA sunt de obicei create și depanate în bara de formule pe o foaie de lucru, apoi mutate în managerul de nume pentru a atribui un nume care poate fi folosit oriunde într-un registru de lucru.

Există patru pași de bază pentru crearea și utilizarea unei formule personalizate bazate pe funcția LAMBDA:

  1. Verificați logica pe care o veți folosi cu o formulă standard
  2. Creați și testați o versiune LAMBDA generică (fără nume) a formulei
  3. Denumiți și definiți formula LAMBDA cu managerul de nume
  4. Testați noua funcție personalizată utilizând numele definit

Exemplele de mai jos discută acești pași mai detaliat.

Exemplul 1

Pentru a ilustra modul în care funcționează LAMBDA, să începem cu o formulă foarte simplă:

=x*y // multiple x and y

În Excel, această formulă ar folosi în mod obișnuit referințe de celulă ca aceasta:

=B5*C5 // with cell references

După cum puteți vedea, formula funcționează bine, așa că suntem gata să trecem la crearea unei formule LAMBDA generice (versiune fără nume). Primul lucru de luat în considerare este dacă formula necesită intrări (parametri). În acest caz, răspunsul este „da” - formula necesită o valoare pentru x și o valoare pentru y. Odată stabilit, începem cu funcția LAMBDA și adăugăm parametrii necesari pentru introducerea utilizatorului:

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

Apoi, trebuie să adăugăm calculul real, x * y:

=LAMBDA(x,y,x*y)

Dacă introduceți formula în acest moment, veți obține un #CALC! eroare. Acest lucru se întâmplă deoarece formula nu are valori de intrare cu care să funcționeze, deoarece nu mai există referințe de celulă. Pentru a testa formula, trebuie să folosim o sintaxă specială ca aceasta:

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

Această sintaxă, unde parametrii sunt furnizați la sfârșitul unei funcții LAMBDA într-un set separat de paranteze, este unică pentru funcțiile LAMBDA. Acest lucru permite testarea formulei direct pe foaia de lucru, înainte ca denumirea LAMBDA. În ecranul de mai jos, puteți vedea că funcția generică LAMBDA din F5 returnează exact același rezultat ca formula originală din E5:

Acum suntem gata să numim funcția LAMBDA cu Managerul de nume. Mai întâi, selectați formula, * fără a include * parametrii de testare la final. Apoi, deschideți Managerul de nume cu comanda rapidă Control + F3 și faceți clic pe Nou.

În dialogul Nume nou, introduceți numele „XBYY”, lăsați domeniul de aplicare setat la registrul de lucru și lipiți formula pe care ați copiat-o în zona de introducere „Se referă la”.

Asigurați-vă că formula începe cu un semn egal (=). Acum că formula LAMBDA are un nume, poate fi utilizată în registrul de lucru ca orice altă funcție. În ecranul de sub formula din G5, copiat, este:

Noua funcție personalizată returnează același rezultat ca celelalte două formule.

Exemplul 2

În acest exemplu, vom converti o formulă pentru a calcula volumul unei sfere într-o funcție personalizată LAMBDA. Formula generală Excel pentru calcularea volumului unei sfere este:

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

unde A1 reprezintă raza. Ecranul de mai jos arată această formulă în acțiune:

Observați că această formulă necesită o singură intrare (rază) pentru a calcula volumul, astfel încât funcția noastră LAMBDA va avea nevoie doar de un parametru (r), care va apărea ca primul argument. Iată formula convertită în LAMBDA:

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

Înapoi în foaia de lucru, am înlocuit formula originală cu versiunea generică LAMBDA. Observați că folosim sintaxa de testare, care ne permite să conectăm B5 pentru rază:

Rezultatele din formula generică LAMBDA sunt exact aceleași cu formula originală, așa că următorul pas este de a defini și denumi această formulă LAMBDA cu Managerul de nume, așa cum s-a explicat mai sus. Numele utilizat pentru o funcție LAMBDA poate fi orice nume Excel valid. În acest caz, vom denumi formula „SphereVolume”.

Înapoi în foaia de lucru, am înlocuit formula LAMBDA generică (fără nume) cu versiunea numită LAMBDA și am introdus B5 pentru r. Observați că rezultatele returnate de funcția SphereVolume personalizată sunt exact aceleași cu rezultatele anterioare.

Exemplul 3

În acest exemplu, vom crea o funcție LAMBDA pentru a număra cuvintele. Excel nu are o funcție în acest scop, dar puteți număra cuvinte cu o celulă cu o formulă personalizată bazată pe funcțiile LEN și SUBSTITUTE astfel:

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

Citiți explicația detaliată aici. Iată formula în acțiune într-o foaie de lucru:

Observați că obținem un număr incorect de 1 atunci când formulei i se dă o celulă goală (B10). Vom aborda această problemă mai jos.

Această formulă necesită o singură intrare, care este textul care conține cuvinte. În funcția noastră LAMBDA, vom denumi acest argument „text”. Iată formula convertită în LAMBDA:

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

Observația „text” apare ca primul argument, iar calculul este al doilea și ultimul argument. În ecranul de mai jos, am înlocuit formula originală cu versiunea generică LAMBDA. Observați că folosim sintaxa de testare, care ne permite să conectăm B5 pentru text:

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

Rezultatele din formula generică LAMBDA sunt aceleași cu formula originală, deci următorul pas este să definiți și să denumiți această formulă LAMBDA cu Managerul de nume, așa cum s-a explicat anterior. Vom numi această formulă „CountWords”.

Mai jos, am înlocuit formula generică (fără nume) LAMBDA cu versiunea numită LAMBDA și am introdus B5 pentru text. Observați că obținem exact aceleași rezultate.

Formula utilizată în Managerul de nume pentru a defini CountWords este aceeași ca mai sus, fără sintaxa de testare:

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

Rezolvarea problemei celulei goale

După cum sa menționat mai sus, formula de mai sus returnează un număr incorect de 1 atunci când o celulă este goală. Această problemă poate fi rezolvată prin înlocuirea +1 cu codul de mai jos:

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

Explicație completă aici. Pentru a actualiza formula LAMDA numită existentă, trebuie din nou să folosim Managerul de nume:

  1. Deschideți Managerul de nume
  2. Selectați numele „CountWords” și faceți clic pe „Editați”
  3. Înlocuiți codul „Se referă la” cu această formulă:

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

Odată ce Managerul de nume este închis, CountWords funcționează corect pe celulele goale, după cum se vede mai jos:

Notă: prin actualizarea codului o dată în Managerul de nume, toate instanțele formulei CountWords sunt actualizate simultan. Acesta este un beneficiu cheie al funcțiilor personalizate create cu LAMBDA - actualizările formulei pot fi gestionate într-un singur loc.

Articole interesante...