2013-07-09 15 views
10

Mi piacerebbe sapere come aggiungere una media ponderata nella mia tabella pivot. In realtà, ho bisogno di fare il seguente calcolo: SUM(col1 * col2)/SUM(col2).Come aggiungere una media ponderata nella mia tabella pivot?

Ho provato a farlo utilizzando l'opzione di campo calcolata, ma quando inserisco la formula, ho solo il seguente risultato come output: SUM((col1 * col2)/col2) che è uguale a SUM(col1).

risposta

11

Avrete bisogno campo calcolato, e colonna aiutante

Helper Colonna

col3=col1*col2 

campo Calcolato:

CF=Col3/Col1 

Se si tenta di fare la colonna di supporto come un campo calcolato, si somma col1 e col2, quindi moltiplicare insieme che si traduce in una risposta senza senso

+0

Grazie per il vostro aiuto. Tuttavia non so davvero cosa sia una colonna helper. È una funzionalità eccellente per la tabella pivot? In caso contrario, significa che ho bisogno di calcolare la mia colonna helper nella mia query sql (che non è un problema). La mia tabella pivot si basa su una query SQL. – Leep

+0

Ho appena aggiunto una colonna helper nella mia query sql e poi ho fatto quello che hai detto. Esso funziona magicamente ! Grazie per tutto ! – Leep

1

tenta di utilizzare

=SUMPRODUCT(A1:A6, B1:B6)/SUM(B1:B6) 

Questo articolo può aiutarvi a: Calculate Weighted Average in Excel da Ted French

+1

Primo grazie per aver cercato di aiutarmi. So come calcolare una media stimata ma voglio includerla nella mia tabella pivot in modo che questa media venga generata automaticamente in base al modo in cui i miei dati sono raggruppati. Ad esempio, la media elevata di tutti i dati nel 2011 o il punteggio ridotto di tutti i dati in cui il nome dell'acquirente è "toto". – Leep

2

Dato sei dopo la versione pivot di Excel di una media ponderata, penso che questo articolo possa essere utile: http://excelribbon.tips.net/T007129_Weighted_Averages_in_a_PivotTable.html

L'unica cosa che non menziona è cosa fare se la ponderazione su ms a zero (nel qual caso dividerete per zero). Per evitare tale bruttezza, puoi utilizzare le proprietà DisplayErrorString e ErrorString della tabella di Pivot, ad es.

oPivot.DisplayErrorString = True 
oPivot.ErrorString = "--" 

Sebbene ovviamente questo potrebbe nascondere errori reali altrove nella tabella Pivot.