Le funzioni Lambda sono una nuova caratteristica di Ecxel nella versione 365 (o 2021) e consentono di creare una funzione personalizzata senza scrivere codice VBA.
Il vantaggio subito evidente, specie quando abbiamo dei fogli di calcolo con la stessa formula (magari complessa) ripetuta molte volte, è che possiamo scrivere la formula una volta sola, testarla, e poi utilizzarla dovunque sapendo che funzionerà sempre nello stesso modo.
Scrivendola in modo conciso poi (una volta definita) aumenterà anche la leggibilità delle formule nel foglio e la facilità di controllare i calcoli.
Vediamo come è possibile scrivere una funzione con semplice, con singoli valori come parametri.
Esempio
Immaginando di voler scrivere una funzione che faccia il calcolo del totale della riga di una fatturacome nell'esempio qui a destra, in questo caso scriveremo nella cella E3:
=B3*C3*(1-D3)
ricopiandola poi in basso su tutte le righe. |
Definizione
Ma la funzione potrebbe essere scritta, sostituendo le celle con i dati necessari, come:
=Qta*PrezzoUn*(1-Sconto)
per definirla come funzione dobbiamo usare questa sintassi:
=LAMBDA(Qta,PrezzoUn,Sconto,Qta*PrezzoUn*(1-Sconto))
ovvero scrivere prima tutti i parametri della funzione e poi, come ultimo, il calcolo che deve essere fatto.
Per definire la funzione in questo modo dovremmo utilizzare la funzione di definizione dei nomi:
dal menu: Formule --> Gestione nomi
apparirà questa finestra, con nuovo possiamo definire la nostra funzione. |
Nella prima riga indicheramo il nome che vogliamo dare alla funzione, nell'ultima in basso la funzione come la abbiamo definita. |
La funzione sarà disponibile come tutte le altre di Excel e nel nostro esempio iniziale, nella cella E3, potremmo scrivere semplicemente:
=TotaleRiga(B3,C3,D3)
Una cosa importante è che in fase di inserimento il nome dei parametri della funzione (come per le funzioni scritte in VBA) sono visibili rendendo molto più semplice l'utilizzo e la comprensione del funzionamento. |
Fase di test
Per impostare la nostra funzione Excel (senza dover passare per la definizione dei nomi) ci mette a disposizione un comodo meccanismo di test.
Volendo fare la prova della nostra funzione per il totale della riga prima di definirla come nome potremo scrivere la funzione nel foglio di calcolo facendola seguire dai parametri, nel nostro esempio scriveremo in E3:
=LAMBDA(Qta,PrezzoUn,Sconto,Qta*PrezzoUn*(1-Sconto))(B3,C3,D3)
dobbiamo cioè far seguire la funzione con l'indicazione dei parametri da utilizzare racchiusi da parentesi, nel nostro esempio:
(B3,C3,D3)