Formule Logiche
Formule per condizioni, test logici e gestione degli errori.
Logiche (19 formule)
Formule per condizioni, test logici e gestione degli errori.
BYCOL (BYCOL)
Applica una funzione LAMBDA a ogni colonna di una matrice e restituisce i risultati come una riga. Permette di eseguire calcoli colonna per colonna in modo compatto, senza formule ripetute.
Sintassi:
=BYCOL(matrice; lambda)Esempio:
=BYCOL(B2:D10; LAMBDA(col; MEDIA(col)))Consiglio: Disponibile in Excel 365. Molto utile per calcolare un totale o una media per ogni mese quando i mesi sono disposti in colonne. Richiede familiarita' con LAMBDA.
BYROW (BYROW)
Applica una funzione LAMBDA a ogni riga di una matrice e restituisce i risultati come una colonna. Utile per eseguire lo stesso calcolo su ogni riga senza trascinare formule.
Sintassi:
=BYROW(matrice; lambda)Esempio:
=BYROW(B2:D10; LAMBDA(riga; SOMMA(riga)))Consiglio: Disponibile in Excel 365. Ideale per sommare le voci di ogni dipendente su piu' colonne (es. ore lunedi', martedi', mercoledi') in un'unica formula invece di usare =SOMMA(B2:D2) trascinata in basso.
E (AND)
Verifica se diverse condizioni sono tutte vere contemporaneamente. Restituisce VERO solo se ogni singolo test inserito è soddisfatto.
Sintassi:
=E(logico1; [logico2]; ...)Esempio:
=SE(E(A1>0; B1>0); "Entrambi positivi"; "No")Consiglio: Restituisce VERO solo se TUTTE le condizioni sono vere. Utile dentro SE per condizioni multiple.
FALSO (FALSE)
Restituisce il valore logico FALSO.
Sintassi:
=FALSO()Esempio:
=SE(A1<0; FALSO(); VERO())Consiglio: Il valore logico FALSO è equivalente allo zero in molte operazioni matematiche.
LAMBDA (LAMBDA)
Consente di creare funzioni personalizzate riutilizzabili senza l'uso di VBA o macro, supportando anche la ricorsione.
Sintassi:
=LAMBDA([parametro1; parametro2; ...]; calcolo)Esempio:
=LAMBDA(base; altezza; (base*altezza)/2)(10; 5)Consiglio: Definisci una funzione LAMBDA nel Gestore Nomi per poterla richiamare in tutto il file come una funzione nativa.
LET (LET)
Assegna nomi ai risultati dei calcoli per consentire la memorizzazione di calcoli intermedi, valori o nomi all'interno di una formula.
Sintassi:
=LET(nome1; valore1; [nome2; valore2; ...]; calcolo)Esempio:
=LET(x; 5; y; 10; x * y)Consiglio: Usa LET per evitare di calcolare più volte la stessa espressione, migliorando drasticamente le prestazioni della cartella di lavoro.
MAKEARRAY (MAKEARRAY)
Crea una matrice di dimensioni specificate calcolando ogni cella tramite una funzione LAMBDA. Permette di generare tavole, griglie o matrici di calcolo in modo completamente dinamico.
Sintassi:
=MAKEARRAY(righe; colonne; lambda)Esempio:
=MAKEARRAY(5; 5; LAMBDA(r; c; r*c))Consiglio: Disponibile in Excel 365. Utile per generare tavole pitagoriche, tabelle di sconti incrociati (es. sconto per quantita' x categoria) o qualsiasi griglia dove ogni cella dipende dalla sua posizione.
MAP (MAP)
Applica una funzione LAMBDA a ogni elemento di una o piu' matrici e restituisce una nuova matrice con i risultati trasformati. E' l'equivalente Excel del concetto di "mappatura" tipico della programmazione.
Sintassi:
=MAP(matrice1; [matrice2]; ...; lambda)Esempio:
=MAP(B2:B20; LAMBDA(prezzo; prezzo * 1.22))Consiglio: Disponibile in Excel 365. Perfetto per applicare una trasformazione uniforme a un elenco, come aggiungere l'IVA al 22% a tutti i prezzi netti di un listino, senza colonne di supporto.
NON (NOT)
Inverte il risultato di una condizione logica. Trasforma il VERO in FALSO e viceversa, utile per escludere determinati valori.
Sintassi:
=NON(logico)Esempio:
=SE(NON(VAL.VUOTO(A1)); "Ha valore"; "Vuota")Consiglio: Inverte il valore logico. NON(VERO) = FALSO. Utile per rendere le condizioni più leggibili.
O (OR)
Verifica se almeno una delle condizioni inserite è vera. Restituisce VERO se basta che uno solo dei test sia soddisfatto.
Sintassi:
=O(logico1; [logico2]; ...)Esempio:
=SE(O(A1="Milano"; A1="Roma"); "Città grande"; "Città piccola")Consiglio: Restituisce VERO se ALMENO UNA condizione è vera. Combina con SE per controlli flessibili.
PIU.SE (IFS)
Verifica una serie di condizioni e restituisce il valore corrispondente alla prima che risulta vera.
Sintassi:
=PIU.SE(test_logico1; valore1; [test_logico2; valore2]; ...)Esempio:
=PIU.SE(A1>=90; "A"; A1>=80; "B"; A1>=70; "C"; VERO; "F")Consiglio: Disponibile da Excel 2019. Molto più leggibile degli SE annidati. Usa VERO come ultimo test per il caso default.
REDUCE (REDUCE)
Riduce una matrice a un singolo valore applicando ripetutamente una funzione LAMBDA, accumulando i risultati. Permette di creare aggregazioni personalizzate che vanno oltre le semplici somme o medie.
Sintassi:
=REDUCE(valore_iniziale; matrice; lambda)Esempio:
=REDUCE(1; A2:A10; LAMBDA(acc; x; acc * x))Consiglio: Disponibile in Excel 365. L'esempio sopra calcola il prodotto di tutti i valori (utile per i rendimenti composti). Per la semplice somma usa SOMMA, ma REDUCE brilla quando hai bisogno di logiche di accumulo personalizzate.
SCAN (SCAN)
Funziona come REDUCE ma restituisce tutti i valori intermedi dell'accumulo invece del solo risultato finale. Perfetta per calcolare totali progressivi o saldi cumulativi.
Sintassi:
=SCAN(valore_iniziale; matrice; lambda)Esempio:
=SCAN(0; B2:B13; LAMBDA(acc; x; acc + x))Consiglio: Disponibile in Excel 365. Ideale per costruire un saldo di cassa progressivo mese per mese: la formula restituisce una colonna con il totale cumulato fino a ogni riga, senza dover trascinare una formula di somma.
SE (IF)
Controlla se una condizione è vera o falsa e restituisce un risultato diverso per ogni caso. È lo strumento principale per creare logica e automazione.
Sintassi:
=SE(test_logico; valore_se_vero; [valore_se_falso])Esempio:
=SE(A1>100; "Alto"; "Basso")Consiglio: Puoi annidare fino a 64 SE, ma oltre 3-4 diventa illeggibile. Considera PIU.SE o SWITCH.
SE.ERRORE (IFERROR)
Gestisce gli errori nelle formule mostrando un valore personalizzato invece dei messaggi di errore di Excel. Mantiene il foglio di calcolo pulito.
Sintassi:
=SE.ERRORE(valore; valore_se_errore)Esempio:
=SE.ERRORE(CERCA.VERT(A1; B:C; 2; FALSO); "Non trovato")Consiglio: Cattura qualsiasi errore (#N/D, #VALORE!, ecc.). Metti sempre i tuoi CERCA.VERT dentro SE.ERRORE!
SE.NON.DISP. (IFNA)
Restituisce il valore specificato se l'espressione restituisce l'errore #N/D, altrimenti restituisce il risultato dell'espressione.
Sintassi:
=SE.NON.DISP.(valore; valore_se_nd)Esempio:
=SE.NON.DISP.(CERCA.VERT("Prodotto"; A1:B10; 2; FALSO); "Non trovato")Consiglio: Usa questa funzione invece di SE.ERRORE se vuoi intercettare solo gli errori #N/D ignorando altri errori come #RIF! o #DIV/0!.
SWITCH (SWITCH)
Confronta un valore specifico con una lista di opzioni e restituisce il risultato legato alla prima corrispondenza esatta.
Sintassi:
=SWITCH(espressione; valore1; risultato1; [valore2; risultato2]; ...; [predefinito])Esempio:
=SWITCH(GIORNO.SETTIMANA(A1;2); 1; "Lunedì"; 2; "Martedì"; 3; "Mercoledì"; "Altro giorno")Consiglio: Disponibile da Excel 2019. Perfetto per mappare valori discreti. L'ultimo argomento senza coppia è il default.
VERO (TRUE)
Restituisce il valore logico VERO.
Sintassi:
=VERO()Esempio:
=SE(A1>10; VERO(); FALSO())Consiglio: Puoi scrivere VERO direttamente in una cella o formula senza parentesi, Excel lo riconoscerà.
XOR (XOR)
Restituisce un OR esclusivo logico di tutti gli argomenti specificati.
Sintassi:
=XOR(logico1; [logico2]; ...)Esempio:
=XOR(A1>10; B1<5)Consiglio: Restituisce VERO se il numero di argomenti VERO è dispari e FALSO se è pari.
Formula Guide