EUCOOKIELAW_BANNER_TITLE


MESSAGGIO DALL'AUTORE
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.

Formule matriciali in Excel (Seconda Parte) – SOMMA.SE Avanzato

Nello scorso articolo abbiamo iniziato a vedere come funzionano le formule matriciali o formule in forma di matrice, è arrivato il momento di vedere un’applicazione pratica di queste formule, realizzeremo quindi un SOMMA.SE avanzato.

Come sapete già con SOMMA.SE è possibile sommare tutti i valori di una colonna le cui celle corrispondono ad un particolare valore della stessa colonna o di un’altra colonna. Ma ci sono casi in cui serve che il criterio non sia uno solo e, fino alla versione 2007 di Excel, non c’è modo di far si che la funzione SOMMA.SE prenda in considerazione altri criteri oppure, e questo è valido per tutte le versioni, che il criterio non sia una corrispondenza esatta ma solo un parziale. Il problema può essere facilmente risolto nel modo che vedremo adesso.

Prendiamo per esempio il caso in cui abbiamo una lista di clienti, una data di acquisto ed un importo e vogliamo ottenere il totale di un solo cliente per uno specifico mese, come pensate di risolvere il problema?

Per cominciare notate che non è possibile usare la funzione SOMMA.SE perché questa non permette di confrontare il mese all’interno di una data in quanto non è una corrispondenza esatta, stesso dicasi per SOMMA.PIÙ.SE introdotta con Excel 2007. E non ci sono altre formule che possano fare al caso nostro, quindi si passa alle matriciali. Prima di mostrarvi la formula vi spiego velocemente un’altra funzione chiamata MESE

=MESE(num_seriale)

  • num_seriale è il parametro che deve contenere una data o un numero seriale che rappresenti una data

Questa funzione restituisce un numero intero che rappresenta il mese della data passata, spiegherò questa funzione ed altre correlate in prossimo articolo.

Vediamo ora come possiamo creare la formula che ci permette di avere un SOMMA.SE a più condizioni e che non siano di semplice confronto usando l’esempio dell’immagine qui sopra

=SOMMA(SE(MESE($B$2:$B$7)=F2;SE($A$2:$A$7=E2;$C$2:$C$7;0);0))

Partiamo con il ricordare che questa formula va confermata con la combinazione CTRL+MAIUSC+INVIO altrimenti vi restituisce un errore. Cosa fa questa formula? Parte con un SOMMA che si aspetta un elenco di valori, questo elenco è creato dai SE annidati che vedete al suo interno, per ogni riga di dati viene effettuata la seguente analisi (x indica il numero di cella presa in analisi di volta in volta)

I nostri SE restituiscono quindi, nell’esempio, un elenco contenente i valori 100;0;0;0;0;0 che vengono passati alla funzione SOMMA iniziale che diviene quindi

=SOMMA(100;0;0;0;0;0)

e restituisce 100. Ovviamente è possibile aggiungere quanti parametri si vogliono annidando ulteriori SE nella formula.

Ecco, ho mantenuto la promessa e vi ho creato un SOMMA.SE avanzato che, sono certo, vi sarà utile in molte occasioni. Ma non è finita, le formule matriciali hanno anche altri vantaggi, uno di questi, molto importante, lo vedremo nella terza parte. Se, nel frattempo, questo non vi è chiaro, potete chiedere delucidazioni nei commenti.

A presto

 

Seguimi

Resta aggiornato!

gianfranco

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).

4 COMMENTS

  • Come si fa ad aggiungere una riga tra le altre di una matrice? se per esempio ho una matrice di 10 righe e voglio cancellare la quinta riga o aggiungerne una tra la quinta e la sesta, come faccio?

    • Purtroppo le formule matriciali ti impediscono di compiere questa operazione direttamente. Devi copiarti la formula (selezionandola in alto nell’area formule e premento CTRL+C) quindi cancellarla da tutte le celle che la contengono, quindi inserire/eliminare le righe, selezionare le celle dove vuoi applicarla, incollarla nell’area formule e confermarla con CTRL+MAIUSC+INVIO

  • Bellissimo articolo

    Ho provato ad usare l’operatore AND all’interno della formula ma mi viene sempre ritornato 0
    =SUM(IF(AND(Cliente=$F$2;MONTH(Data)=$G$2);Importo;0))
    non capisco perche…dove sbaglio?

    complimenti x il sito

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.


MESSAGGIO DALL'AUTORE
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.

%d blogger hanno fatto clic su Mi Piace per questo: