Una delle stranezze di Excel è che nel suo strumento statistico per antonomasia, le Tabelle Pivot, Microsoft a pensato che questo calcolo non fosse utile (o forse troppo difficile da implementare?! mah). Fatto sta che se cercate nelle funzioni riepilogative della Tabella Pivot la media ponderata non c'è.
Quindi se la vogliamo calcolare come possiamo fare? Semplice, la calcoliamo noi!
Per prima cosa bisogna aggiungere nella base dati da cui creiamo la Tabella Pivot un campo calcolato contenente la moltiplicazione del valore di cui abbiamo bisogno della media e il suo peso. In seguito la formula dovrà essere copiata per tutte le righe della tabella di origine.
Vi riporto una tabella di esempio dalla quale vogliamo ottenere il prezzo medio unitario degli articoli usando la quantità come peso. Ecco come viene inserita la formula di moltiplicazione usando i riferimenti ai campi della tabella (nominata Tabella1).
Articolo | Quantità | Prezzo un. | Val_X_Media | ||||||
A | 10 | 1025 | =Tabella1[[#Questa riga];[Prezzo un.]]*Tabella1[[#Questa riga];[Quantità]] | ||||||
A | 100 | 990 | |||||||
C | 5 | 725 | |||||||
B | 25 | 542 | |||||||
C | 10 | 700 |
Articolo | Quantità | Prezzo un. | Val_X_Media |
A | 10 | 1025 | 10250 |
A | 100 | 990 | 99000 |
C | 5 | 725 | 3625 |
B | 25 | 542 | 13550 |
C | 10 | 700 | 7000 |
Fatto questo creiamo la nostra Tabella Pivot aggiungendo il campo articolo nelle etichette di riga. Aggiungiamo alla tabella un campo calcolato e impostiamo come formula il nostro valore calcolato diviso il peso, per il nostro esempio sarà: = Val_X_Media / Quantità .
Aggiungiamo il nuovo campo calcolato ai Valori della tabella Pivot usando la normale funzione di somma.
Il campo così aggiunto sarà la nostra media ponderata.
Etichette di riga | Media |
A | 993,18 |
B | 542,00 |
C | 708,33 |
Totale complessivo | 889,50 |
Il calcolo è giusto, verificate pure :-) .
Se alcuni valori di peso sono 0 e non volete avere nella tabella l'errore #DIV/0! inserite nel campo calcolato della Tabella Pivot una funzione SE per evitare l'errore. Per il nostro esempio sarà così: = SE(Quantità=0;0;Val_X_Media / Quantità) e il problema è risolto.
Se vi sono stato utile lasciate un commento, grazie! :-)