lunedì 22 luglio 2013

Excel - Media Ponderata in Tabelle Pivot

Come molti sapranno uno dei calcoli statistici più usati è quello della media ponderata, cioè la media che tiene conto del "peso" di ogni valore. Non voglio fare qui una lezione su cosa sia e a cosa serva la media ponderata, se non lo sapete siete nel post sbagliato :-).
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).

ArticoloQuantitàPrezzo un.Val_X_Media
A101025=Tabella1[[#Questa riga];[Prezzo un.]]*Tabella1[[#Questa riga];[Quantità]]
A100990
C5725
B25542
C10700

ArticoloQuantitàPrezzo un.Val_X_Media
A10102510250
A10099099000
C57253625
B2554213550
C107007000

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 rigaMedia
A993,18
B542,00
C708,33
Totale complessivo889,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! :-)