Consulta sobre fórmulas dentro de tablas dinámicas

20/04/2007 - 22:02 por JimMorrison | Informe spam
Gente,
Tengo una consulta sobre fórmulas en tablas dinámicas...
Sucede que quisiera calcular el promedio entre las columnas 1.a, 1.b y 1.c
como una nueva columna

Codigo 1.a 1.b 1.c
1 2 3 4
2 1 3
3 0 2 1
4 9 0 0
5 14 2
6
7 1 1 1

Dentro de la pivot, he creado una fórmula = PROMEDIO('1.a';'1.b';'1.c')

Sucede que al parecer la pivot considera a las celdas vacías como el numero
cero, de manera que promedio obtenido es incorrecto.
Podrán darme una manito?
Saludos
 

Leer las respuestas

#1 Héctor Miguel
21/04/2007 - 01:39 | Informe spam
hola, 'anoimo/a' !

Tengo una consulta sobre formulas en tablas dinamicas...
Sucede que quisiera calcular el promedio entre las columnas 1.a, 1.b y 1.c como una nueva columna
Codigo 1.a 1.b 1.c
1 2 3 4 [...] <= no es 'apreciable' la tabla/formato/columnas/... expuesta :-((
Dentro de la pivot, he creado una formula = PROMEDIO('1.a';'1.b';'1.c')
Sucede que al parecer la pivot considera a las celdas vacias como el numero cero
de manera que promedio obtenido es incorrecto...



1) [hasta donde se]... las formulas en las TD utilizan el 'nombre' de los campos para evaluer los resultados
[es decir] los nombres de los campos son textos y son evaluados por las formulas NO como elementos 'vacios' :-((

2) una alternativa para determinar el promedio, bajo las condiciones que especificas en tu consulta es [o pudiera ser]...
-> utilizar/agregar/... una columna 'auxiliar' [o adyacente] EN el rango que es 'origen' de tu TD +/- como sigue:
-> suponiendo que tus datos originalmente estan en el rango 'A1:D20' [incluyendo los titulos en la fila 1]...
a) agrega una columna [campo de TD] con el titulo de promedio [p.e.] en la celda 'E1'
b) usa la siguiente formula iniciandola en la celda 'E2' y luego la complementas al resto [E3:E20]
OJO que debera quedar en una sola fila, la separo por cuestiones de 'limites' de ancho de texto en los mensajes :D
=sumaproducto(--($a$2:$a$20¢);($b$2:$b$20+$c$2:$c$20+$d$2:$d$20))/
((sumar.si($a$2:$a$20;a2;$b$2:$b$20)>0)+(sumar.si($a$2:$a$20;a2;$c$2:$c$20)>0)+(sumar.si($a$2:$a$20;a2;$d$2:$d$20)>0))

hecho lo anterior... activa tu TD y el asistente... regresa al paso 2...
-> incluye la nueva columna de datos en el rango 'origen'
-> agregas el nuevo campo al area de datos de la TD [en el paso 3 del asistente]
-> cambia la formula del campo y asegurate de utilizar la funcion -> MAX

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Preguntas similares