Condividi:        

Excel, NUOVE PRESTAZIONI (2)

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel, NUOVE PRESTAZIONI (2)

Postdi Dylan666 » 24/08/21 11:15

Scopro solo oggi il topic datato Genn- 2020 con la presentazione di nuove prestazioni, viewtopic.php?f=26&t=111058, e l'ho trovato di immensa utilità.
Dalla sua pubblicazione sono uscite altre novità rilevanti?
Avatar utente
Dylan666
Moderatore
 
Post: 39983
Iscritto il: 18/11/03 16:46

Sponsor
 

Re: Excel, NUOVE PRESTAZIONI (2)

Postdi Anthony47 » 24/08/21 17:58

La novita' ulteriore piu' importante e' per me la Funzione LET
Questa consente di creare delle "variabili" a cui viene assegnato un valore, e poi questa variabile viene usata all'interno del prosieguo della formula
E' possibile creare fino a 256 "variabili"

La sintassi
Codice: Seleziona tutto
=LET(NomeVariabile1; ValoreVariabile1[; NomeVariabile2; ValoreVariabile2[; NomeVariabile3; ValoreVariabile3]]];LaFormula)
Le parti racchiuse tra [ e ] sono opzionali.

Per ogni variabile da definire si inserisce una coppia di valori: il NomeVariabile; il ValoreDaAssegnare
L'ultimo ";" individua la formula da calcolare

Esempio:
Codice: Seleziona tutto
=LET(Matrice;A2:F30;CERCA.VERT("Maria";Matrice;2;0))

E' dichiarata la variabile "Matrice", usata poi in una formula Cerca.Vert

I vantaggi sono
a) una migliore leggibilita' della formula: es se assegno a ElencoNomi l'intevallo A2:A100 forse e' piu' facile capire la formula SE(ElencoNomi<>"";Se Vero; Se Falso)
b) Facilita' di aggiornamento: basta modificare la definizione di ElencoNomi una sola volta
c) Se la formula contiene piu' spezzoni il cui calcolo va ripetuto, basta una sola definizione e poi quella variabile puo' essere usata piu' volte; e' un miglioramento della velocita' di calcolo, non solo una semplificazione nella scrittura della formula

ESEMPIO
Formula senza LET:
Codice: Seleziona tutto
=SE(A2:A100<>"";RIF.RIGA(A2:A100);"")

Con LET:
Codice: Seleziona tutto
=LET(ElencoNomi;A2:A100;SE(ElencoNomi<>"";RIF.RIGA(ElencoNomi);""))



Un esempio dell'uso di LET e' in Foglio2 del file scaricabile dal link gia' pubblicato: https://www.dropbox.com/s/1v2cp1e0m5aao ... .xlsx?dl=0

Come esercizio voglio creare un elenco ordinato di un elenco di nominativi:
-usando una colonna di Appoggio (col B) e poi la formula tipo A in colonna D
Codice: Seleziona tutto
=INDICE($A$3:$A$15;CONFRONTA(PICCOLO($B$3:$B$15;RIF.RIGA(A1));$B$3:$B$15;0))

-integrando la formula della colonna di appoggio all'interno della formula tipo B, in colonna E
Codice: Seleziona tutto
=INDICE($A$3:$A$15;CONFRONTA(PICCOLO(CONTA.SE($A$3:$A$15;"<"&(A3:A15))+(A3:A15="")*999;RIF.RIGA(A3:A15)-2);CONTA.SE($A$3:$A$15;"<"&(A3:A15))+(A3:A15="")*999;0))


Infine con l'uso di LET:
Codice: Seleziona tutto
=LET(ELENCO;A3:A20;APPOGGIO;CONTA.SE(ELENCO;"<"&(ELENCO))+999*(ELENCO="");INDICE(ELENCO;CONFRONTA(PICCOLO(APPOGGIO;RIF.RIGA(ELENCO)-MIN(RIF.RIGA(ELENCO))+1);APPOGGIO;0)))

Ora immaginate che l'elenco sia in M20:M30; con la formula LET bastera' modificare LET(ELENCO;M20:M30 e magicamente il risultato si adegua. Quante modifiche sarebbero da fare nelle altre formule?

Attenzione, e' un esempio; quindi non venite a dirmi che se e' presente la funzione LET allora e' presente anche la funzione DATI.ORDINA per cui tutta la mia complicazione e' campata in aria, giacche' basterebbe usare =DATI.ORDINA(A3:A15) :D

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19183
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Excel, NUOVE PRESTAZIONI (2)":


Chi c’è in linea

Visitano il forum: Nessuno e 60 ospiti