Formule matriciali in Excel (Prima Parte)
Dopo un po’ di esperienza con le funzioni e le formule di Excel è ora di iniziare a parlare di qualcosa di più avanzato, nella fattispecie delle formule matriciali o formule in forma di matrice. Non avete capito cosa possa significare? Bene, sono qui per spiegarlo.
Le formule matriciali in Excel sono formule particolari costruite con le normali funzioni di Excel ma che permettono di eseguire calcoli che, nella forma classica delle formule, non sarebbe possibile eseguire.
Tanto per cominciare dovete imparare a memoria la combinazione di tasti CTRL+MAIUSC+INVIO, questo perché, nel momento in cui decidiamo di inserire una formula matriciale, non dobbiamo premere solo invio, altrimenti la formula sarà considerata come “classica“.
Ma cosa permettono di fare queste formule? E perché sono così importanti? Cominciamo con il definire cos’è una matrice di dati. In Excel una matrice si può definire come un insieme di celle (o valori) attigue tra di loro che formano un rettangolo, per intenderci meglio, A1:E10 è una matrice, come nell’immagine qui sotto
Nelle formule matriciali Excel tratta questo insieme di dati o formule come se fossero un’entità unica. La formula matriciale, inoltre, può restituire a sua volta una matrice di dati sui quali è possibile, in seguito, fare dei calcoli.
Mi rendo conto che il concetto è un po’ astruso, quindi vediamo meglio come funziona in modo da schiarirvi le idee.
Prendiamo ad esempio la funzione SOMMA.SE e vediamo nel dettaglio come funziona. Quando usate questa formula
=SOMMA.SE(A1:A6;"Cliente 1";B1:B6)
Excel prende tutti i valori dell’insieme A1:A6 e li confronta con il criterio che avete inserito (es. “Cliente 1”, e restituisce VERO se corrisponde viceversa FALSO se non corrisponde. Come ricorderete VERO si può paragonare al valore 1 mentre FALSO al valore 0, Excel cosa fa quindi? Moltiplica il valore di VERO (1) o FALSO (0) per il valore contenuto nella corrispettiva riga della colonna B. In pratica, dato un insieme come il seguente
Excel effettuerà i seguenti calcoli
1 * 10 = 10 +
0 * 10 = 0 +
1 * 20 = 20 +
0 * 5 = 0 +
0 * 60 = 0 +
1 * 10 = 10 =
40
Possiamo replicare la stessa cosa in forma di matrice? Si, scrivendo la seguente formula
=SOMMA(SE(A1:A6="Cliente 1";B1:B6;0))
Una volta inserita la formula confermatela con CTRL+MAIUSC+INVIO, la formula a questo punto viene mostrata tra due parentesi graffe
{=SOMMA(SE(A1:A6="Cliente 1";B1:B6;0))}
questo indica che è una formula matriciale.
Excel inizia con l’analizare la funzione SE per tutti i valori di A1:A6 confrontandoli con il valore “Cliente 1”, se corrispondono restituisce il valore della posizione corrispondente nella colonna B, altrimenti restituisce 0. Il tutto, però, viene restituito alla funzione SOMMA come se fosse una matrice di dati, ci ritroviamo quindi con
SOMMA(10;0;20;0;0;10)
SOMMA, a questo punto, fa il suo dovere e somma tutti i numeri e ne restituisce il risultato, 40.
Praticamente fa esattamente quello che permette di fare il SOMMA.SE ma in modo diverso. Perché complicarci la vita allora? Perché possiamo creare una versione di SOMMA.SE avanzata, ecco perché. Come? Lo scopriremo nel prossimo articolo.
A presto
Ottima spiegazione, con parole semplici e chiare, bravo!
ecco questa mi mancava… fino ad adesso mi ero divertito a dire "lo sapevo, Jan, lo sapevo…" ora Thor mi ha colpito col suo martello e ha detto: " ecco fatto… ignorante"…. grande Jan
Bravo. Possono capire anche i sassi.
Grazie 🙂
Grazie!