Vai al contenuto principale

Excel LAMBDA(): come creare funzioni personalizzate

Scopri come semplificare i tuoi fogli di calcolo con LAMBDA(). Scrivi una volta, riutilizza ovunque e combina con altre funzioni moderne di Excel.
· 7 min leggi

Scopri con l'IA

La funzione LAMBDA() di Excel apre la possibilità di usare formule personalizzate. Ti permette di incapsulare qualsiasi calcolo, assegnargli un nome e riutilizzarlo ovunque nella tua cartella di lavoro.

Questo significa che non devi più copiare la stessa formula all’infinito. Al contrario, puoi usare LAMBDA() per rendere i tuoi fogli più puliti e manutenibili e, se vuoi la mia, è persino un po’ più semplice del VBA.

Perché usare Excel LAMBDA()?

In sostanza, LAMBDA() ti permette di avvolgere qualsiasi formula in una funzione definita da te. Fornisci parametri di input (proprio come gli argomenti in SOMMA() o CERCA.VERT()) e poi richiami la tua nuova funzione con quei parametri ogni volta che ne hai bisogno. Ecco la struttura:

=LAMBDA(parameter1, parameter2, ..., calculation)

Puoi sperimentare con le formule LAMBDA() direttamente in una cella, ma la vera potenza arriva quando la salvi come funzione denominata. Una volta assegnato un nome, la tua funzione personalizzata appare nella cartella di lavoro proprio come SOMMA(), MEDIA() e le altre. 

Ecco alcuni motivi convincenti per introdurre LAMBDA() nel tuo flusso di lavoro:

  • Elimina le formule ripetitive. Invece di riscrivere ovunque una formula complessa, trasformala in una funzione e richiamala per nome.

  • Rendi i fogli di calcolo più chiari. Le funzioni denominate sono molto più facili da capire per te e i tuoi collaboratori rispetto a una formula criptica ripetuta.

  • Combina con altre funzioni nuove. LAMBDA() lavora bene con LET(), MAP(), REDUCE() e altre funzionalità moderne di Excel.

  • Riduci gli errori. Una volta testata la tua logica e incapsulata in un LAMBDA(), puoi riutilizzarla — niente più refusi dovuti al copia-incolla delle formule.

Come creare una funzione Excel LAMBDA()

Come per tutto, serve un po’ di pratica. Quindi esercitiamoci creando le nostre funzioni LAMBDA().

Immagina di calcolare l’area di un cerchio partendo dal raggio e di ritrovarti a digitare ripetutamente =PI()*A1^2.

Per prima cosa, prova a costruire ed eseguire una formula LAMBDA() direttamente in una cella:

=LAMBDA(r, PI()*r^2)(3)

Funzione LAMBDA di Excel per pi greco

Qui abbiamo creato una funzione LAMBDA() che accetta r come parametro e restituisce l’area del cerchio. Il (3) alla fine fornisce il raggio, quindi questa formula calcola l’area di un cerchio di raggio 3.

Certo, digitare ogni volta il LAMBDA() è un miglioramento minimo rispetto alla formula originale. Ma abbi pazienza, perché entrano in gioco le funzioni denominate:

  1. Vai su Formule > Gestione nomi > Nuovo.

  2. Scegli un nome per la tua funzione, ad esempio AreaCerchio.

  3. Nel riquadro Riferito a, inserisci:

=LAMBDA(r, PI()*r^2)

Funzione LAMBDA di Excel per un cerchio

Ora puoi usare la tua funzione personalizzata in tutta la cartella di lavoro:

=CircleArea(A1)

Funzione LAMBDA di Excel per l’area di un cerchio

Hai appena creato una funzione personalizzata e riutilizzabile.

Sintassi e parametri di Excel LAMBDA()

LAMBDA() può accettare un numero qualsiasi di parametri (fino al limite di Excel di 253), separati da virgola. (Non che tu li useresti davvero tutti.) 

È importante notare che l’ultimo argomento è sempre il calcolo vero e proprio, che può usare qualsiasi parametro tu abbia definito.

=LAMBDA(parameter1, parameter2, ..., calculation)

Per esempio, se vuoi creare una funzione che restituisce il maggiore tra due numeri, potresti scrivere:

=LAMBDA(a, b, IF(a > b, a, b))

Dopo averla salvata come funzione denominata — MaxDiDue è un buon nome — la useresti come qualsiasi altra funzione di Excel:

=MaxOfTwo(7, 4)

Questa formula restituisce 7, il maggiore dei due input.

Esempi più specifici di Excel LAMBDA()

Continuiamo a fare pratica.

Excel LAMBDA() con più parametri

Passiamo a funzioni che accettano più input. Come prima, separiamo i parametri con le virgole e forniamo lo stesso numero di argomenti quando richiamiamo la funzione.

Per sommare due numeri:

=LAMBDA(a, b, a + b)(4, 9)

Questo restituirà 13.

Se decidi di trasformarla in una funzione denominata chiamata AddTwo, puoi usarla in tutta la cartella di lavoro così:

=AddTwo(A1, A2)

Ora hai una funzione di somma personalizzata.

Ripulisci la logica ripetitiva

Supponiamo che tu stia calcolando le provvigioni con questa formula in più punti:

=IF(A2 > 1000, A2*0.1, 0)

Invece di copiare questa formula ovunque ti serva, puoi incapsulare la logica con LAMBDA():

=LAMBDA(amount, IF(amount > 1000, amount*0.1, 0))

Dai a questa funzione il nome Commission e potrai usare:

=Commission(A2)

Se dovessi mai cambiare la logica delle provvigioni, ti basta aggiornare il LAMBDA() in un solo punto, e tutte le formule che usano Commission si aggiornano di conseguenza.

Funzione LAMBDA di Excel per calcolare la provvigione

Excel LAMBDA vs logica SE

Funzione LAMBDA di Excel vs funzione SE

Ricorsione e funzioni annidate

LAMBDA() supporta la ricorsione, ossia una funzione può richiamare se stessa. Questo sblocca nuove idee, come aggregazioni personalizzate.

Ad esempio, ecco come potresti definire una funzione ricorsiva per il fattoriale:

=LAMBDA(n, IF(n=1, 1, n*Factorial(n-1))) 

Excel LAMBDA per un fattoriale

La salveresti come funzione denominata e funzionerebbe proprio come qualsiasi funzione ricorsiva in programmazione. (Per il nome, sceglierei qualcosa di esplicito, come Factorial.) 

LAMBDA() con altre funzioni di array dinamici

LAMBDA() può essere combinata con altre funzioni dinamiche di Excel come LET(), MAP() e REDUCE(). 

LET() permette di assegnare e riutilizzare variabili all’interno della formula, mentre MAP() e REDUCE() applicano LAMBDA() su array o elenchi.

Per esempio, per raddoppiare ogni valore in un intervallo:

=MAP(A1:A5, LAMBDA(x, IF(x>10, x*2, x)))

Excel LAMBDA combinata con MAP

Qui MAP() applica la tua funzione LAMBDA() a ogni elemento in A1:A5. È molto comodo per calcoli in batch.

(La formula sopra raddoppia il valore corrispondente nell’intervallo solo se è maggiore di 10.)

(Un altro aspetto piacevole è che devi scrivere la formula una sola volta, nella cella B1, e le celle sottostanti si compilano automaticamente.)

Consigli pratici con Excel LAMBDA()

Ecco alcuni suggerimenti dall’esperienza.

Testa le funzioni Excel LAMBDA() prima di assegnare loro un nome

Prima di arrivare a nominare e salvare il tuo LAMBDA(), è intelligente testarlo direttamente in una cella. Puoi farlo aggiungendo tra parentesi gli argomenti di prova, proprio come per qualsiasi funzione:

=LAMBDA(x, x*2)(5)

Questo restituisce 10, il risultato che ci aspettavamo.

Se dimentichi di fornire un argomento durante il test, ad esempio digitando solo =LAMBDA(x, x*2), Excel mostrerà la funzione stessa, non un risultato. Ricorda sempre di aggiungere quelle parentesi finali con i valori di input.

Alcune avvertenze

Fermiamoci un attimo a vedere i limiti:

  • Le funzioni LAMBDA() hanno ambito di cartella di lavoro. Se vuoi usare le tue funzioni personalizzate in un’altra cartella, dovrai copiarle o usare la nuova funzionalità di Excel Funzioni denominate se disponibile.

  • Non puoi usare LAMBDA() per creare funzioni volatili (come ADESSO() o CASUALE()).

  • Fornire un numero errato di argomenti quando richiami un LAMBDA() produrrà un errore #VALORE!, quindi ricontrolla sempre gli input.

  • Non tutte le versioni di Excel supportano LAMBDA(). Ti servirà Microsoft 365 o l’ultima versione web per sfruttare queste funzionalità.

LAMDA() e altre funzioni

Infine, vediamo LAMBDA() affiancata ad altri modi di fare le cose. 

Quando dovresti usare Excel LAMBDA()?

Riflettendo su tutto ciò che abbiamo visto, potresti chiederti: quando è LAMBDA() lo strumento giusto? Ricorri a LAMBDA() quando:

  • Hai formule complesse o ripetitive che vuoi semplificare.
  • C’è della logica che vorresti nominare e spiegare.
  • Vuoi calcoli o logiche personalizzate che Excel non offre di default.

Secondo me, LAMBDA() è particolarmente utile nei team, soprattutto quando i nomi delle funzioni sono espliciti. In questo modo, i membri del team vedono esattamente cosa fa la logica senza doverla ricostruire per capirla. 

Funzioni correlate di Excel

È utile conoscere altre funzioni nuove di Excel che completano LAMBDA(). Eccone alcune. Alcune le ho già menzionate.

  • LET(): Assegna nomi a calcoli all’interno di una formula

  • MAP(): Applica un LAMBDA() a ogni elemento di un array

  • REDUCE(): Riduci un array a un singolo valore usando un LAMBDA()

  • BYROW(), BYCOL(): Applica un LAMBDA() per riga o per colonna

Queste funzioni, se abbinate a LAMBDA(), sbloccano logiche e trasformazioni dei dati più sofisticate. Segui il nostro corso Advanced Excel Functions per imparare le funzioni davvero utili che Excel ha da offrire. 

Conclusione

Come abbiamo visto e praticato, Excel LAMBDA() ti permette di costruire funzioni del foglio di lavoro senza nemmeno toccare il VBA. Quindi usa LAMBDA() se scrivi spesso lo stesso calcolo in molti punti o vuoi domare formule complicate.

E ricorda di seguire il nostro corso Advanced Excel Functions per diventare più veloce e intelligente con Excel. E se sei un analista finanziario o aspiri a diventarlo, segui anche il corso Financial Modeling in Excel. Le funzioni LAMDA() saranno particolarmente utili nel mondo della finanza.

Josef Waples

Autore

Josef Waples

Sono uno scrittore e editor di data science, con contributi a articoli di ricerca su riviste scientifiche. Sono particolarmente interessato ad algebra lineare, statistica, R e affini. Inoltre, gioco anche parecchio a scacchi! 

Argomenti

Correlato