Sommare le righe pari in Excel

sommarerighepari

Grazie alla formula presente nel tweet di Tom Urtis (@TomUrtis), impariamo come sommare le righe pari in Excel.

Utilizzeremo le funzioni MATR.SOMMA.PRODOTTO, RESTO, RIF.RIGA. Prima di risolvere il problema, vediamo di capire a cosa servono queste tre funzioni.

MATR.SOMMA.PRODOTTO

MATR.SOMMA.PRODOTTO(Matrice1; [Matrice2]; [Matrice3]; ...)

Moltiplica gli elementi corrispondenti nelle matrici specificate e restituisce la somma dei relativi prodotti. Esempio: se abbiamo questi dati:

Matrice somma prodotto

Per ottenere il totale in B8 possiamo calcolare la somma dell’intervallo C2:C5, oppure, senza bisogno di creare la colonna C, possiamo direttamente calcolare il totale in B8 usando la formula:

=MATR.SOMMA.PRODOTTO(A2:A5;B2:B5)

ossia (A2*B2)+(A3*B3)+(A4*B4)+(A5*B5)

RESTO

RESTO(Dividendo; Divisore)

Restituisce il resto quando dividendo viene diviso per divisore. Il segno del risultato coinciderà con quello di divisore.

Esempio:

resto

In C2 la formula è:

=RESTO(A2;B2)

qui otteniamo sempre 0 oppure 1, perché il divisore è 2. Naturalmente se il divisore fosse un altro numero, avremmo risultati differenti!

RIF.RIGA

RIF.RIGA([Rif])

Restituisce il numero di riga di un riferimento.

Esempio:

rifriga

Nella colonna A la formula è sempre la stessa su tutte le celle:

=RIF.RIGA()

Se mettiamo un riferimento come argomento della funzione RIF.RIGA, otteniamo il numero di riga corrispondente al riferimento. Esempio:

=RIF.RIGA(A8)

restituisce 8.

Ora che conosciamo le 3 funzioni, veniamo alla soluzione del problema e analizziamo la formula:

=MATR.SOMMA.PRODOTTO(A1:A6;RESTO(RIF.RIGA(A1:A6)+1;2))

A1:A6 è la prima matrice, che Excel moltiplica per la seconda matrice, che è il risultato di RESTO(RIF.RIGA(A1:A6)+1;2)

Le funzioni matrice lavorano una riga per volta. Quindi avremo:

Prima riga analizzata dalla funzione MATR.SOMMA.PRODOTTO

A1 * il resto di (RIF.RIGA(A1) +1 diviso 2)

ossia

A1 * il resto di (1 + 1 diviso 2)

ossia

A1 * il resto di (2 diviso 2)

ossia

A1 * 0  (2/2 non dà resto!)

perciò la funzione MATR.SOMMA.PRODOTTO per la cella A1 userà 0

Seconda riga analizzata dalla funzione MATR.SOMMA.PRODOTTO: 

A2 * il resto di (RIF.RIGA(A2) +1 diviso 2)

ossia

A2 * il resto di (2 + 1 diviso 2)

ossia

A2 * il resto di (3 diviso 2)

ossia

A2 * 1

perciò la funzione MATR.SOMMA.PRODOTTO per la cella A2 userà il valore di A2, nel nostro caso 6

e così via. Alla fine la funzione userà queste due matrici:

operazioni matrice

E come risulta chiaro, sulla riga 1 il valore usato da sommare sarà 0 (infatti 3*0=0), sulla riga 2 sarà 6, sulla riga 3 sarà 0 (infatti 8*0=0), sulla riga 4 sarà 9, sulla riga 5 sarà 0 (infatti 10*0=0), sulla riga 6 sarà 25.

Alla fine otteniamo la somma di: 6+9+25 = 40

Se volessimo la somma delle celle dispari, sarà sufficiente usare come formula:

=MATR.SOMMA.PRODOTTO(A1:A6;RESTO(RIF.RIGA(A1:A6)+0;2))

Thank you @TomUrtis!