=MATR.SOMMA.PRODOTTO(B2:B6;C2:C6) moltiplica ogni quantità in B per il prezzo accanto in C, poi somma i risultati. Dà il totale dell'ordine in una cella, senza una colonna di totali di riga. MATR.SOMMA.PRODOTTO si chiama SUMPRODUCT in Excel inglese, ed è così che la tabella mostra le formule; puoi però scriverle anche in italiano, con il punto e virgola: =MATR.SOMMA.PRODOTTO(B2:B6;C2:C6).
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Item | Qty | Price | Line total | Total | |
| 2 | Pen | 4 | $1.50 | $6.00 | $30.70 | |
| 3 | Notebook | 2 | $3.25 | $6.50 | $30.70 | |
| 4 | Folder | 5 | $0.80 | $4.00 | ||
| 5 | Stapler | 1 | $7.90 | $7.90 | ||
| 6 | Marker | 3 | $2.10 | $6.30 |
=MATR.SOMMA.PRODOTTO(B2:B6;C2:C6)F2 e F3 mostrano lo stesso $30.70. I totali di riga nella colonna D servono solo a mostrare cosa fa MATR.SOMMA.PRODOTTO: 4 × 1,50, 2 × 3,25 e così via, poi una SOMMA. Cambia una quantità e i due totali la seguono.
Sintassi di MATR.SOMMA.PRODOTTO
=SUMPRODUCT(array1, [array2], [array3], ...)
- Ogni matrice è un intervallo o un calcolo che ne produce uno, e tutte devono avere la stessa dimensione, altrimenti MATR.SOMMA.PRODOTTO restituisce
#VALORE!(in inglese #VALUE!; la tabella mostra i nomi inglesi degli errori). - Con due o più matrici, i valori nella stessa posizione vengono moltiplicati, poi i prodotti vengono sommati.
- Con una sola matrice la somma e basta, ed è questo che fa funzionare le forme con condizioni qui sotto:
=MATR.SOMMA.PRODOTTO((A2:A7="North")*C2:C7)ha una sola matrice, già moltiplicata. - Il testo passato come argomento a sé conta come 0. Il testo dentro un calcolo con
*provoca#VALORE!.
MATR.SOMMA.PRODOTTO lavora con le matrici in ogni versione di Excel senza Ctrl+Maiusc+Invio (Cmd+Maiusc+Invio su Mac), ed è per questo che era lo strumento standard per le somme con condizioni prima che esistesse SOMMA.PIÙ.SE, e lo è ancora per i casi che SOMMA.PIÙ.SE non sa gestire.
MATR.SOMMA.PRODOTTO con condizioni
Un confronto su un intervallo, A2:A7="North", restituisce un VERO o FALSO per riga. Moltiplicare per esso tiene le righe in cui è VERO (×1) e azzera le altre (×0). Moltiplica due confronti per avere una E.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Formula | Result | |
| 2 | North | Apple | 120 | North sales | 230 | |
| 3 | South | Pear | 45 | North Apple sales | 150 | |
| 4 | North | Pear | 80 | Count North | 3 | |
| 5 | East | Apple | 55 | Count over 50 | 4 | |
| 6 | South | Apple | 200 | Without -- | 0 | |
| 7 | North | Apple | 30 |
=MATR.SOMMA.PRODOTTO((A2:A7="North")*C2:C7)F2 somma le tre righe North: 230. F3 moltiplica due condizioni, quindi una riga conta solo quando entrambe sono vere: 150. Per contare invece di sommare, lascia fuori i valori e trasforma VERO/FALSO in numeri con -- (due segni meno): F4 conta 3 righe North. F6 mostra perché il -- conta: MATR.SOMMA.PRODOTTO non somma i valori VERO, quindi la formula senza restituisce 0.
Le prime quattro danno gli stessi risultati di SOMMA.SE, SOMMA.PIÙ.SE e CONTA.SE. La sezione successiva è quella in cui MATR.SOMMA.PRODOTTO si guadagna il suo posto.
Condizioni che SOMMA.PIÙ.SE non sa esprimere
SOMMA.PIÙ.SE (in inglese SUMIFS) confronta una colonna con un criterio fisso. Non può prendere il mese di una data, confrontare due colonne tra loro o moltiplicare la quantità per il prezzo prima di sommare. MATR.SOMMA.PRODOTTO sì, perché ogni condizione è un calcolo normale.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Date | Target | Actual | Formula | Result | |
| 2 | North | 2026-01-05 | 100 | 120 | February sales | 135 | |
| 3 | South | 2026-01-12 | 60 | 45 | Rows over target | 3 | |
| 4 | North | 2026-02-03 | 90 | 80 | North or East sales | 285 | |
| 5 | East | 2026-02-18 | 50 | 55 | Above target by | 75 | |
| 6 | South | 2026-03-02 | 150 | 200 | |||
| 7 | North | 2026-03-20 | 40 | 30 |
=MATR.SOMMA.PRODOTTO((MESE(B2:B7)=2)*D2:D7)- G2 prende il MESE (in inglese MONTH) di ogni data e tiene le righe di febbraio: 80 + 55 = 135. Così somma febbraio di qualsiasi anno; aggiungi
*(ANNO(B2:B7)=2026)per un solo anno. - G3 confronta due colonne riga per riga e conta le righe in cui Actual supera Target.
- G4 è una O: sommare due condizioni dà 1 quando una delle due è vera (2 quando lo sono entrambe, ed è per questo che c'è il
>0). North o East: 285. - G5 somma di quanto ogni riga ha superato il suo obiettivo, solo per le righe che l'hanno superato.
MATR.SOMMA.PRODOTTO per totali e medie ponderate
La quantità per il prezzo è un totale ponderato, e gli si possono aggiungere condizioni. La stessa idea divisa per la somma dei pesi dà una media ponderata: =MATR.SOMMA.PRODOTTO(B2:B6;C2:C6)/SOMMA(B2:B6) è il prezzo medio per articolo venduto.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Qty | Price | Formula | Result | |
| 2 | North | Apple | 10 | $1.20 | North revenue | $31.00 | |
| 3 | South | Pear | 4 | $1.50 | All revenue | $61.00 | |
| 4 | North | Pear | 6 | $1.50 | Average price per item | $1.36 | |
| 5 | East | Apple | 8 | $1.20 | |||
| 6 | South | Apple | 12 | $1.20 | |||
| 7 | North | Plum | 5 | $2.00 |
=MATR.SOMMA.PRODOTTO((A2:A7="North")*C2:C7*D2:D7)North ha venduto 10 mele a $1.20, 6 pere a $1.50 e 5 prugne a $2.00, quindi G2 mostra $31.00. La media semplice dei prezzi tratterebbe una prugna come se fosse venduta quanto una mela; G4 pesa ogni prezzo per la sua quantità.
Esercizio: ricavi con una condizione
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Qty | Price | Formula | Result | |
| 2 | North | Apple | 10 | $1.20 | South revenue | ||
| 3 | South | Pear | 4 | $1.50 | |||
| 4 | North | Pear | 6 | $1.50 | |||
| 5 | East | Apple | 8 | $1.20 | |||
| 6 | South | Apple | 12 | $1.20 | |||
| 7 | North | Plum | 5 | $2.00 |
Tocca a te: Calcola i ricavi di South: quantità per prezzo, solo per le righe South. Scrivi la formula in G2.
MATR.SOMMA.PRODOTTO o SOMMA.PIÙ.SE, e i suoi due errori
| Condizione | SOMMA.PIÙ.SE | MATR.SOMMA.PRODOTTO |
|---|---|---|
| Colonna uguale a un valore | =SOMMA.PIÙ.SE(C2:C7;A2:A7;"North") | =MATR.SOMMA.PRODOTTO((A2:A7="North")*C2:C7) |
| Contiene un testo | =SOMMA.PIÙ.SE(C2:C7;B2:B7;"*app*") | =MATR.SOMMA.PRODOTTO(VAL.NUMERO(RICERCA("app";B2:B7))*C2:C7) |
| Mese di una data | non possibile direttamente | =MATR.SOMMA.PRODOTTO((MESE(B2:B7)=2)*D2:D7) |
| Colonna contro colonna | non possibile | =MATR.SOMMA.PRODOTTO(--(D2:D7>C2:C7)) |
| Quantità × prezzo | non possibile | =MATR.SOMMA.PRODOTTO(C2:C7;D2:D7) |
Preferisci SOMMA.PIÙ.SE ogni volta che basta. Si legge meglio, è più veloce su decine di migliaia di righe e accetta colonne intere. =MATR.SOMMA.PRODOTTO((A:A="North")*C:C) moltiplica su oltre un milione di righe e restituisce #VALORE! appena arriva al testo dell'intestazione in C1, quindi dai a MATR.SOMMA.PRODOTTO intervalli precisi come A2:A500.
I due errori che incontrerai:
#VALORE!per intervalli di dimensioni diverse.=MATR.SOMMA.PRODOTTO(B2:B6;C2:C7)non funziona. Ogni intervallo deve coprire le stesse righe.#VALORE!per testo in un intervallo moltiplicato. Un'intestazione o un "n/a" dentroC2:C7rompe(A2:A7="North")*C2:C7, perché il testo non si può moltiplicare. Fai iniziare l'intervallo sotto l'intestazione, oppure passa i valori come argomento separato:=MATR.SOMMA.PRODOTTO(--(A2:A7="North");C2:C7)tratta come 0 il testo in C.
Domande frequenti
Cosa fa MATR.SOMMA.PRODOTTO in Excel?
Moltiplica gli intervalli riga per riga e somma i prodotti. =MATR.SOMMA.PRODOTTO(B2:B6;C2:C6) è B2C2 + B3C3 + ... + B6*C6, per esempio la quantità per il prezzo sommata nel totale di un ordine.
Come si usa MATR.SOMMA.PRODOTTO con una condizione?
Moltiplica per un confronto: =MATR.SOMMA.PRODOTTO((A2:A7="North")*C2:C7) somma C2:C7 per le righe North. Il confronto dà VERO o FALSO, che diventano 1 o 0 quando vengono moltiplicati.
Cosa significa -- in MATR.SOMMA.PRODOTTO?
Sono due segni meno, che trasformano VERO e FALSO in 1 e 0. =MATR.SOMMA.PRODOTTO(--(C2:C7>50)) conta i valori superiori a 50. Senza, MATR.SOMMA.PRODOTTO tratta VERO/FALSO come 0 e restituisce 0.
Meglio MATR.SOMMA.PRODOTTO o SOMMA.PIÙ.SE?
Usa SOMMA.PIÙ.SE quando i suoi criteri bastano a esprimere la condizione: è più leggibile e più veloce su intervalli grandi. Usa MATR.SOMMA.PRODOTTO quando la condizione richiede un calcolo, come il mese di una data, una colonna confrontata con un'altra o la quantità per il prezzo.
Perché MATR.SOMMA.PRODOTTO restituisce #VALORE!?
Gli intervalli hanno dimensioni diverse (B2:B6 con C2:C7), oppure un intervallo moltiplicato con * contiene testo. Dai a ogni intervallo la stessa dimensione, e passa gli intervalli con testo come argomenti separati, che trattano il testo come 0.