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:
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:
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:
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:
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!