L’utilizzo delle matrici in Excel è forse uno degli aspetti meno conosciuto ai più, ma sicuramente uno dei più interessanti. Per un primo approccio alla materia, vi consigliamo di leggere i seguenti articoli:
- Come usare le matrici e le formule matriciali – Parte 1
- Come usare le matrici e le formule matriciali – Parte 2
Oggi, invece, parleremo di come utilizzare gli operatori logici all’interno delle matrici di Excel (abbiamo parlato in modo approfondito degli operatori logici in questo articolo, del quale vi consigliamo la lettura).
Gli operatori E e O nelle formule matriciali di Excel
Un operatore di matrice fornisce istruzioni su come si desidera elaborare le matrici: con una logica E oppure O.
- L’operatore E è l’asterisco (*). Viene utilizzato per restituire un valore se TUTTE le condizioni specificate nella formula matriciale vengono valutare VERO.
- L’operatore O è il segno più (+). Lo si utilizza per restituire un valore se UNA QUALSIASI delle condizioni in una data espressione viene valutata VERO.
Una formula matriciale con l’operatore E
In questo esempio, troveremo la somma delle vendite in cui il venditore è “Giorgio” e il prodotto è “Mele”:
=SOMMA((A2:A10="Giorgio")*( B2:B10="Mele")*( C2:C10))
oppure
=SOMMA(SE(((A2:A10="Giorgio")*( B2:B10="Mele")); (C2:C10)))
Una formula matriciale con l’operatore O
La seguente formula matriciale con l’operatore O (+) somma tutte le vendite in cui il venditore è “Giorgio” oppure il prodotto è “Mele”:
=SOMMA(SE(((A2:A10="Giorgio")+( B2:B10="Mele")); ( C2:C10)))
L’operatore doppio unario nelle formule matriciali di Excel
Se avete mai lavorato con le formule matriciali di Excel, è probabile che vi siate imbattuti in alcune contenenti un doppio trattino (–), e che vi siate chiesti a cosa servisse.
Un doppio trattino, che è tecnicamente chiamato operatore doppio unario, viene utilizzato per convertire i valori booleani non numerici (vero / falso) restituiti da alcune espressioni, in 1 e 0 in modo che la funzione matriciale di Excel possa capirli.
Spero che il seguente esempio renderà le cose più facili da capire. Supponiamo di avere un elenco di date nella colonna A e che si desideri sapere quante date cadono nel mese di gennaio, a prescindere dall’anno.
La seguente formula risolverà il “mistero”:
=SOMMA(--(MESE(A2:A10)=1))
Se foste interessati a qualche altro mese, dovrete sostituire 1 con il numero corrispondente. Ad esempio, 2 sta per febbraio, 3 per marzo, e così via. Per rendere la formula più flessibile, è possibile specificare il numero del mese all’interno di una cella del foglio di lavoro, come mostrato nello screenshot:
Ed ora, cerchiamo di analizzare il funzionamento di questa formula matriciale. La funzione MESE restituisce il mese di ogni data presente nelle celle da A2 a A10, producendo la seguente matrice {2.1.4.2.12.1.2.12.1}.
Dopo di che, ogni elemento della matrice viene confrontato con il valore nella cella D1, che è il numero 1 in questo esempio. Il risultato di questo confronto è una matrice di valori booleani VERO e FALSO. Come ricorderete, è possibile selezionare una determinata parte di una formula matriciale e premere F9 per vedere a cosa equivale:
Infine, è necessario convertire questi valori booleani in 1 e 0 in modo che la funzione SOMMA possa capirli. Ecco l’utilità dell’operatore doppio unario. Il primo unario trasforma i VERO/FALSO rispettivamente in -1/0. Il secondo unario nega i valori, cioè inverte il segno, trasformandoli in 1 e 0, che la maggior parte delle funzioni di Excel è in grado di capire e lavorare. Se si rimuovesse il doppio unario dalla formula di cui sopra, questa non funzionerebbe.
Spero che questo breve tutorial vi sia utile nel percorso intrapreso per padroneggiare le formule matriciali di Excel. In uno dei prossimi articoli continueremo concentrandoci su alcuni esempi di formule avanzate. Rimanere sintonizzati e grazie per la lettura!