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 lucrați cu date în Excel, există un punct în care formulele repetate și intervalele nesfârșite devin imposibil de gestionat; aici intră în joc funcțiile LET și LAMBDA , două piese cheie pentru crearea unor calcule curate, reutilizabile și mai rapide de întreținut.

Cu aceste funcții și cu alte funcții matriceale moderne care se bazează pe ele, puteți defini nume intermediare, încapsula calcule și aplica transformări matricelor ca și cum ați parcurge o buclă; BYROW, BYCOL, MAP, SCAN, REDUCE și MAKEARRAY sunt cireașa de pe tort, permițându-vă să aplicați o funcție LAMBDA rândurilor, coloanelor sau elementelor unei matrice într-un mod elegant și eficient.

Ce sunt LET și LAMBDA în Excel?

Funcția LAMBDA vă permite să creați funcții personalizate folosind limbajul de formule propriu al Excel , fără macrocomenzi sau VBA: definiți parametrii, scrieți calculul și, dacă doriți, îl apelați cu argumente pentru a obține un rezultat instantaneu.

Funcția LET, pe de altă parte, este utilizată pentru a atribui 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 foile de calcul complexe.

În jurul LAMBDA au apărut funcții care tratează matricele ca și cum ar fi colecții de parcurs: BYROW (pe rânduri), BYCOL (pe coloane), MAP (mapează elementele), SCAN (acumulează și returnează stările intermediare), REDUCE (returnează doar valoarea finală acumulată) și MAKEARRAY (generează matrice la cerere).

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

Rezultatul este că puteți realiza calcule sofisticate fără a recurge la coloane auxiliare 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 să construiți și să validați funcția 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.

  Cum puteți comuta imaginile de la telefonul Android la Mac

Dacă nu efectuați acel apel de test, este relativ ușor să întâmpinați eroarea #CALC! în formulele incomplete; apelul final forțează evaluarea calculului și confirmă că structura este corectă.

Cea mai clară modalitate de lucru este: LAMBDA(parametru1; parametru2; …; calcul)(argument1; argument2; …) ; astfel, într-o singură celulă se scrie 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 LAMBDA-ul respectiv ca funcție personalizată (cu un nume) sau îl puteți insera î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.

Argumentele 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 sintaxa intervalului din Excel .

Argumentul name_value1 (obligatoriu) este valoarea sau expresia care va fi asociată cu name1 ; în acest fel, evitați repetarea aceluiași calcul și îmbunătățiți performanța dacă îl veți reutiliza.

Al treilea argument, calcul_sau_nume2 (obligatoriu), poate fi unul din două lucruri: fie calculul final care folosește toate numele declarate, fie 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 și nume_calcul_sau_nume3.

`name_value2` (opțional) atribuie o valoare numelui declarat în pasul anterior; dacă continuați să legați nume în lanț, repetați 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 să evitați duplicarea expresiilor în cadrul aceleiași formulă; pe scurt, LET simplifică, clarifică și accelerează registrele de lucru complexe.

Funcții matriceale moderne care utilizează LAMBDA

Aceste funcții parcurg matricele aplicând o transformare definită cu LAMBDA, comportându-se ca și cum ar fi iteratori; facilitează subtotaluri pe rânduri sau coloane , mapări, totaluri cumulative și construirea de matrice personalizate.

  Cum puteți fotografia Ahead Album în WhatsApp pe iPhone și Android

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

Funcția BYROW evaluează o valoare LAMBDA pentru fiecare rând din intervalul de intrare și returnează un vector coloană cu rezultatele; este ideală pentru crearea de subtotaluri sau indicatori rând cu rând 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 iterând prin coloane; 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ă un array de dimensiunea specificată de dvs., calculând fiecare element cu un LAMBDA care primește indexul rândului și indexul coloanei; în unele medii spaniole, a fost văzut ca ARCHIVOMAKEARRAY.

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 valoare LAMBDA fiecărui element; este perfect pentru curățare, normalizare sau etichete condiționale fără coloane auxiliare.

  Cum se rezolvă cu ușurință eroarea 142 pe Disney Plus

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

Funcția SCAN parcurge o matrice cu un LAMBDA acumulator și returnează toate stările intermediare, nu doar cea finală; este ideală pentru totaluri rulante, cumulative procentuale ș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 SCAN, dar returnează doar ultima stare a acumulatorului; adică reduce întreaga matrice la o singură valoare aplicând transformarea definită 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