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


'. '
'; $customMessages[] = "Aiutami a far conoscere questo blog ad altre persone perché possa aiutare anche loro, condividi questo articolo su Facebook, Twitter, Google+ o Linkedin, non ti costa nulla e mi aiuterà a diffonderlo dandomi l'ispirazione per scrivere altri articoli."; $customMessages[] = 'Hai trovato questo blog utile o interessante? Lascia una tua opinione sul guestbook per farmi sapere cosa ne pensi e come possa migliorarlo.'; $customMessages[] = 'Sai che puoi iscriverti anche alla newsletter e ricevere le novità direttamente nella tua email? Iscriviti adesso, riceverai solo gli aggiornamenti e niente SPAM. Il tuo indirizzo, inoltre, non sarà condiviso con nessuno.'; $id = rand(0, count($customMessages) -1); echo '
'. '
MESSAGGIO DALL\'AUTORE
'. $customMessages[$id]. '

'; ?>

Gianfranco (Admin)

Appassionato di informatica, fotografia e di tecnologia in generale. Esperto nell'uso di Excel e con tanta voglia di condividere le sue conoscenza con il mondo, sempre pronto a dare una mano (ma non più di due volte, altrimenti rimango senza).

Potrebbero interessarti anche...

8 risposte

  1. roberta crudo ha detto:

    Ottima spiegazione, con parole semplici e chiare, bravo!

  2. Adolfo Tedesco ha detto:

    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

  3. Sandel ha detto:

    Bravo. Possono capire anche i sassi.

  4. Roberto ha detto:

    Grazie!

  1. 10 Giugno 2015

    […] vi ricordate nel primo articolo vi ho detto che una formula matriciale può anche restituire una matrice di valori e non un solo […]

  2. 25 Giugno 2015

    […] scorso articolo abbiamo iniziato a vedere come funzionano le formule matriciali o formule in forma di matrice, è […]

  3. 22 Luglio 2016

    […] ora in poi questa formula diventa ora MATRICIALE (leggi qui per la definizione) e quindi va confermata con CTRL+MAIUSC+INVIO e non solo con […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.