Vediamo adesso invece con qualche esempio come utilizzare la funzione matematica MATR.SOMMA.PRODOTTO chiamata in inglese SUMPRODUCT.
Questa funzione è un po’ particolare, in pratica consente all’utente di effettuare automaticamente la somma di una serie di risultati di moltiplicazioni.
Iniziamo con la sintassi che è la stessa sia in MS Excel sia in Calc.
=MATR.SOMMA.PRODOTTO(matr1;[matr2];…)
Un esempio, come sempre, chiarirà meglio la questione.
Nell’immagine, per calcolare il totale incassato, normalmente sarebbe stato necessario calcolare il subtotale di ogni riga (cosa che ho comunque fatto nella colonna D che però adesso per non creare confusione è nascosta) e poi sommare tutti i subtotali. La funzione MATR.SOMMA.PRODOTTO, invece, ci viene in aiuto calcolandolo automaticamente in una botta sola. Ecco cosa c’è scritto nella cella F2:
=MATR.SOMMA.PRODOTTO(B2:B17;C2:C17)
In questo modo i due argomenti prendono rispettivamente le unità vendute e il prezzo unitario. In pratica la funzione fa una cosa tipo: B2*C2+B3*C3+B4*C4+B5*C5 etc. etc.
Fino al 2007 era necessario ricorrere a un “trucchetto”. Per restare nell’esempio dell’immagine si sarebbe scritto:
=SOMMA(B2:B17*C2:C17)
premendo poi Ctrl+Shift+Invio per farla funzionare visto che si tratta di roba che ha a che fare con le matrici che in questo momento non mi interessano perché le tratterò in un eventuale terzo manabile nel capitolo “Funzioni in salsa matriciana” e che, fra l’altro, sono cambiate molto negli ultimissimi anni.
Andiamo avanti con un altro esempio. Nell’immagine sopra sono stati inseriti nella colonna A una serie di CAP, uno dei quali è stato volontariamente sbagliato digitando quattro cifre invece di cinque.
Nella cella B2 è stata inserita la seguente funzione:
=MATR.SOMMA.PRODOTTO(LUNGHEZZA(A2:A11))
In questo modo, il numero di caratteri che compone ogni cella dell’intervallo A2:A11 viene sommato con un risultato di 49 invece di 50 proprio per l’errore a cui ho accennato prima. Nella cella di controllo C2, invece, è stata inserita una funzione logica:
=SE(B2<>5*(CONTA.VALORI(A:A)-1);”ERRORE!”;””)
Tale funzione scriverà la parola “ERRORE!” se il risultato ottenuto in B2 sarà diverso dalla moltiplicazione di tutti i valori presenti (meno uno che sarebbe l’intestazione in A1) per cinque, ovvero il numero di caratteri che dovrebbero comporre un CAP.
Tratto da “Manabile Semiserio di Excel – Parte Seconda per utenti bravini“