2012-09-13 18 views
8

He una simple tabla con una cierta cantidad y el intervalo en seg por fecha y el nombre del producto.pivote fórmula Calculado: SUM (Campo1)/AVG (Campo2)

Month | Product | Amount | Interval in sec 
------------------------------------------ 
05-'12| Prod A | 10  | 5 
05-'12| Prod A | 3  | 5 
05-'12| Prod B | 4  | 5 
05-'12| Prod C | 13  | 5 
05-'12| Prod C | 5  | 5 

partir de esta tabla que he derivó una tabla dinámica con SUM (Cantidad), promedio (Intervalo en segundos) por mes y del producto.

Month | Product | SUM of Amount | AVG of Interval in sec 
-------------------------------------------------------- 
05-'12| Prod A | 13   | 5 
05-'12| Prod B | 4    | 5 
05-'12| Prod C | 18   | 5 

Hasta ahora todo bien. Ahora quiero agregar una columna adicional a mi tabla dinámica que me da el resultado de SUM de cantidad/AVG de intervalo en seg.

Agregar un valor calculado =SUM(Amount)/AVERAGE(Interval) no me da los valores correctos. Excel me da:

Month | Product | SUM of Amount | AVG of Interval in sec | Amount per sec 
------------------------------------------------------------------------- 
05-'12| Prod A | 13   | 5      | 1.3 
05-'12| Prod B | 4    | 5      | 0.8 
05-'12| Prod C | 18   | 5      | 1.8 

Lo que en realidad está haciendo es = SUMA (Cantidad)/SUMA (Intervalo en segundos) para cada mes y del producto en base a los valores de la primera tabla. Pero Busco:

Month | Product | SUM of Amount | AVG of Interval in sec | Amount per sec 
------------------------------------------------------------------------- 
05-'12| Prod A | 13   | 5      | 2.6 
05-'12| Prod B | 4    | 5      | 0.8 
05-'12| Prod C | 18   | 5      | 3.6 

Así dividir literalmente campo dinámico 'Suma del importe' de campo dinámico 'AVG de Intervalo en segundos'.

¿Cómo lograr esto?

+1

Pregunta de metadatos: ¿Las preguntas de usuarios avanzados de Excel como esta son las más adecuadas para StackOverflow, SuperUsers o algún otro sitio de StackExchange? – StockB

Respuesta

3

necesita hacer referencia a los datos de la tabla pivote en su fórmula, algo como esto:

=GETPIVOTDATA("Sum of Amount",$A$3,"Product","A")/GETPIVOTDATA("Average of Interval",$A$3,"Product","A")

Editar: De la hoja de cálculo: Para añadir su columna deseada para pivotar la Tabla A:

K5=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod A")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod A") 
K6=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod B")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod B") 
K7=GETPIVOTDATA("Sum of Amount",$H$2,"Month",DATE(2012,5,1),"Product","Prod C")/GETPIVOTDATA("Average of Interval",$H$2,"Month",DATE(2012,5,1),"Product","Prod C") 

también puede producir la columna mediante la adición de una columna adicional a la tabla de datos original de: Cantidad/seg para cada uno de entrada dividida, entonces cuando gira todos los datos, el producto de esa columna será el resultado deseado.

Edit (2):

las fórmulas anteriores son fórmulas de las celdas no pivotan fórmulas de mesa que no pueden utilizar referencias Lo siento, no hacen que claro. Estoy buscando una fórmula de cálculo de tabla dinámica, pero por ahora lo anterior como una columna junto a su tabla dinámica debería producir lo que necesita.

+0

se puede crear esta fórmula en base a este ejemplo de hoja de Excel: http://www.tempfiles.net/download/201209/262303/Voorbeeld.html.El pivote A es solo un pivote de la "tabla original", el pivote B es el resultado incorrecto, el pivote C es el pivote más el resultado deseado agregado a mano. ¿Puedes agregar tu solución a la tabla Pivot C? – Bas

+0

Ok abrí y agregué fórmulas específicas basadas en Pivot Table A. –

+4

Estoy impresionado y decepcionado por el soporte de tablas dinámicas de Excel de una sola vez. Por un lado, es una herramienta poderosa para agrupar y mostrar rápidamente la información. Por otro lado, está limitado por limitaciones extrañas, como no poder basar los campos calculados en tipos de valores que no sean sumas, como promedios o recuentos, aunque se muestren en la tabla dinámica. ¿Por qué no puedo hacer referencia a mis otras columnas de tabla dinámica en campos calculados? – StockB

6

En caso de que alguien más se encuentre con este problema, una solución que he encontrado es agregar una columna "Recuento" auxiliar a su conjunto de datos, donde cada registro tiene un 1 ingresado en el campo "Recuento".

Luego, con el fin de lograr el efecto de un promedio, se puede utilizar:

SUM(FIELD_TO_AVERAGE)/SUM(COUNT)

creo que esto debería funcionar en todos los casos donde se requiere un promedio, pero yo no lo he probado muy ampliamente