Funcțiile LET și LAMBDA în Excel: Ghid complet cu exemple

Ultima actualizare: 03/09/2025
Autorul: Isaac
  • LET atribuie nume rezultatelor intermediare și îmbunătățește claritatea și performanța.
  • LAMBDA creează funcții personalizate și validează cu un apel în celulă.
  • BYROW, BYCOL, MAP, SCAN, REDUCE și MAKEARRAY aplică LAMBDA tablourilor.
  • Exemple gata făcute: subtotaluri, mapări, generare cumulativă și de matrice.

excela

Când lucrezi cu date în Excel, vine un moment în care formule repetate și intervalele nesfârșite devin imposibil de gestionat; aici intră în joc funcțiile LET și LAMBDA, două elemente cheie pentru crearea unor calcule curate, reutilizabile și mai rapide de întreținut.

Cu aceste funcții și cu mai multe funcții matriceale moderne care se bazează pe ele, puteți defini nume intermediare, încapsula calcule și aplica transformări asupra matricelor ca și cum ați face o buclă; BYROW, BYCOL, MAP, SCAN, REDUCE și MAKEARRAY Acestea sunt cireașa de pe tort care vă permite să aplicați o funcție LAMBDA pe rânduri, coloane sau elemente ale unei matrice într-un mod elegant și eficient.

Ce sunt LET și LAMBDA în Excel?

Funcția LAMBDA permite crearea de funcții personalizate folosind limbajul în sine formule excel, fără macrocomenzi sau VBA: definești parametri, scrii calculul și, dacă dorești, îl apelezi cu argumente pentru a obține un rezultat instantaneu.

Funcția LET, pe de altă parte, este utilizată pentru a atribuirea de nume rezultatelor intermediare din cadrul aceleiași formule, astfel încât să le puteți reutiliza de mai multe ori fără a le recalcula, câștigând lizibilitate și eficiență în foi complexe.

În jurul LAMBDA au apărut funcții care tratează tablourile ca și cum ar fi colecții care trebuie traversate: BYROW (pe rânduri), BYCOL (pe coloane), MAP (elemente de hartă), SCAN (acumulează și returnează stări intermediare), REDUCE (returnează doar valoarea cumulativă finală) și MAKEARRAY (generează matrici la cerere).

Gândește-te la acest set ca la instrumente care simulează bucle și traversări peste matriceTransmiteți o funcție LAMBDA cu transformarea dorită, iar Excel face restul, returnând vectori sau matrici cu rezultatele.

Rezultatul este că puteți construi calcule sofisticate fără a recurge la coloane ajutătoare sau cod extern; totul este încapsulat în formule pure, cu un risc mai mic de erori și o întreținere mai bună.

Cum să testezi și să definești un LAMBDA fără erori

O bună practică este construiește și validează LAMBDA direct într-o celulă înainte de a o defini ca funcție reutilizabilă: definiți parametrii, scrieți calculul și adăugați apelul de test cu argumentele dorite la final.

  Sfaturi pentru a ascunde mesajele text pe iPhone

Dacă nu faci acel apel de test, e relativ ușor să dai peste eroarea #CALC! În formulele incomplete, apelul final te obligă să evaluezi calculul și confirmă că structura este corectă.

Cea mai clară metodă de lucru este: LAMBDA(parametru1; parametru2; …; calcul)(argument1; argument2; …); deci, într-o singură celulă scrieți definiția și execuția acesteia pentru a valida rezultatul.

De exemplu, pentru a aduna 1 la un număr, puteți încerca: =LAMBDA(number; number + 1)(1)Această expresie returnează valoarea 2, ceea ce confirmă că LAMBDA și apelul aferent sunt bine planificate.

După verificare, puteți înregistra acel LAMBDA ca funcție personalizată (cu un nume) sau introduceți-l în alte formule și funcții matriceale pentru a rezolva probleme mai ambițioase.

LET: sintaxă, argumente și considerații

Sintaxa LET în Excel

Sintaxa generală a comenzii LET este: =LET(nombre1; nombre_valor1; cálculo_o_nombre2; ); obiectivul său este denumirea rezultatelor intermediare și folosiți aceste nume într-un calcul final.

Argumente cheie ale LET: name1 (obligatoriu) este primul identificator pe care îl atribuiți; trebuie să înceapă cu o literă, nu poate fi rezultatul unei formule și nu poate intra în conflict cu sintaxă de interval în Excel.

Argumentul nume_valoare1 (obligatoriu) este valoarea sau expresia care va fi asociată cu name1; în acest fel eviți repetarea aceluiași calcul și îmbunătăți performanța dacă aveți de gând să îl reutilizați.

Al treilea argument, calcul_sau_nume2 (obligatoriu), poate fi unul din două lucruri: fie calcul final care folosește toate numele declarate sau un al doilea nume care urmează să fie definit; dacă decideți să declarați un nume, atunci va trebui să furnizați și nume_valoare2 y calcul_sau_nume3.

nume_valoare2 (opțional) atribuie o valoare numelui declarat în pasul anterior; dacă continuați să înlănțuiți numele, repetă modelul nume/valoare până când ultimul argument este un calcul.

În cele din urmă, calcul_sau_nume3 (opțional) poate fi calculul final sau un al treilea nume; rețineți că Ultimul argument al lui LET trebuie să fie întotdeauna un calcul care returnează rezultatul așteptat.

Acest model scalabil vă permite să înlănțuiți definițiile în mod clar și vă împiedică să duplicați expresiile în cadrul aceleiași formule; pe scurt, LET simplifică, clarifică și accelerează caiete de lucru complexe.

Funcții matriceale moderne care utilizează LAMBDA

Aceste funcții parcurg tablouri aplicând o transformare definită cu LAMBDA, comportându-se ca și cum ar fi iteratori; furnizați subtotaluri pe rând sau coloană, mapări, acumulate și construirea de matrici personalizate.

  Aflați cum să sincronizați fotografiile cu Apple Watch

BYROW: Aplicați un LAMBDA fiecărui rând

BYROW Evaluează o valoare LAMBDA pentru fiecare rând din intervalul de intrare și returnează un vector coloană al rezultatelor; este ideal pentru crearea de subtotaluri rând cu rând sau indicatori fără coloane auxiliare.

Sintaxa sa este: =BYROW(rango; LAMBDA(fila; cálculo_por_fila)), unde parametrul coadă reprezintă rândul curent procesat de funcție; LAMBDA returnează o singură valoare pe rând.

Exemplu practic: dacă matricea ta este în B2:D7 și vrei să aduni fiecare rând, în E2 scrie =BYROW(B2:D7; LAMBDA(fila; SUMA(fila))); vei primi un vector cu suma fiecărui rând, gata de utilizare în analiză sau grafică.

BYCOL: aplică o funcție LAMBDA fiecărei coloane

BYCOL Funcționează similar cu BYROW, dar parcurge coloanele; returnează un vector coloană cu câte un rezultat pentru fiecare coloană din intervalul sursă.

Sintaxa este: =BYCOL(rango; LAMBDA(columna; cálculo_por_columna)); parametrul coloană expune coloana curentă la LAMBDA, care produce o valoare pe coloană.

Exemplu practic: cu date în B2:D7, loc în B8 formula =BYCOL(B2:D7; LAMBDA(columna; PROMEDIO(columna))); vei primi un vector cu media fiecărei coloane, util ca rezumat sau control al calității.

MAKEARRAY: creează tablouri calculate

MAKEARRAY generează o matrice de dimensiunea indicată de dvs., calculând fiecare element cu o matrice LAMBDA care primește indexul rândului și indexul coloanei; în unele medii spaniole a fost văzut ca FIȘIER MAKEARRAY.

Forma sa generală este: =MAKEARRAY(n_filas; n_columnas; LAMBDA(fila; columna; cálculo_por_posición))Fiecare intersecție rând/coloană trece prin LAMBDA și returnează valoarea dorită pentru coordonata respectivă.

Exemplu de identificator de poziție: în orice celulă, utilizați =ARCHIVOMAKEARRAY(3; 2; LAMBDA(fila; col; -(fila&col))) pentru a crea o matrice de 3 rânduri pe 2 coloane unde fiecare element își concatenează rândul și coloana (și este forțat să numeroteze cu semnul minus).

Un alt exemplu care combină mai multe funcții: =LET(arrPos; ARCHIVOMAKEARRAY(3; 2; LAMBDA(fila; col; -(fila&col))); arrPosF; COINCIDIR(arrPos; K.ESIMO.MENOR(arrPos; SECUENCIA(6))); INDICE(G8:G13; arrPosF))Cu această construcție, când generezi poziții, obții cei 6 minori și le mapezi pe un interval cu INDEX.

MAP: transformare element în element

MAP preia unul sau mai multe tablouri și returnează un altul de aceeași dimensiune aplicând o funcție LAMBDA fiecărui element; este perfect pentru curățări, normalizări sau etichete condiționale fără coloane auxiliare.

  Cum să optimizezi browserul și să reduci utilizarea memoriei RAM

Sintaxa de bază este: =MAP(matriz; LAMBDA(valor; transformación)); dacă transmiteți mai multe tablouri, LAMBDA primește mai mulți parametri, câte unul per tablou; rezultatul păstrează dimensiunile a matricei de intrare.

Exemplu clasic pentru marcarea numerelor pare și impare în A21:A26: =MAP($A$21:$A$26; LAMBDA(param1; SI(ES.PAR(param1); param1; "-")))Astfel, fiecare element este înlocuit de el însuși dacă este par sau de o cratimă dacă nu este; toată procesarea este vectorială.

SCANARE: acumulată cu stări intermediare

SCAN Iterează printr-un array cu un acumulator LAMBDA și returnează toate stările intermediare, nu doar cea finală; este ideal pentru totaluri curente, procente cumulative și calcule care depind de rezultatul anterior.

Structura este: =SCAN(valor_inicial; matriz; LAMBDA(acumulador; valor; nuevo_acumulado)), unde valoare_inițială acumulatorul pornește, matrice este intervalul care trebuie procesat și LAMBDA definește tranziția între state.

Pentru un jackpot clasic peste A31:A36scrie: =SCAN(0; A31:A36; LAMBDA(acum; param1; acum + param1)); vei primi secvența sumelor parțiale într-un singur pas.

Și dacă doriți raportul cumulativ, puteți combina LET și SCAN: =LET(total; SUMA(A31:A36); SCAN(0; A31:A36; LAMBDA(acum; param1; (acum + param1))) / total)Aici calculați mai întâi total cu LET și apoi împărțiți fiecare stare intermediară la totalul respectiv.

REDUCE: valoarea finală acumulată

REDUCE Funcționează ca și SCAN, dar returnează doar ultima stare a acumulatorului; adică, reduce întreaga matrice la o singură valoare aplicarea transformării definite de LAMBDA.

Modelul său este: =REDUCE(valor_inicial; matriz; LAMBDA(acumulador; valor; nuevo_acumulado)); valoarea finală este de obicei o sumă, un produs, o intersecție logică sau rezultatul procesului care vă interesează.

Exemplu de sumă finală curentă pentru A1:A6: =REDUCE(0; A1:A6; LAMBDA(acum; param1; acum + param1)); într-o singură expresie, primești suma totală fără a expune etape intermediare.

7 erori Excel care ne-au făcut să pierdem miliarde-9
Articol asociat:
Funcțiile IF, VLOOKUP și CONCATENATE în Excel: Ghid complet