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

Preguntas similare

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.
Respuesta Responder a este mensaje
#2 JimMorrison
21/04/2007 - 17:04 | Informe spam
Hola Miguel,
Gracias por responder...me temo que no es posible modificar el origen de la
tabla ya que se trata de una lista sharepoint (olvide mencionarlo antes)
Yo creo que es un erro dentro de excel, que las celdas vacias sean
consideradas como valor 0 en los calculos

"Héctor Miguel" wrote:

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.



Respuesta Responder a este mensaje
#3 Héctor Miguel
21/04/2007 - 17:18 | Informe spam
hola, 'anonimo/a' °

...me temo que no es posible modificar el origen de la tabla ya que se trata de una lista sharepoint (olvide mencionarlo antes)
Yo creo que es un erro dentro de excel, que las celdas vacias sean consideradas como valor 0 en los calculos



es probable... :-(
ya que si consideras/revisas/... la 'sintaxis' de las formulas para los elementos calculados en las tablas dinamicas...
" he creado una formula = PROMEDIO('1.a';'1.b';'1.c') "






lo que [en realidad] usan dichas formulas son los titulos de los campos, que son textos, y los textos se evaluan como 0 :-((

otra alternativa pudiera ser utilizar macros para depositar formulas 'reales' despues de actualizar una tabla dinamica -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 JimMorrison
22/04/2007 - 05:10 | Informe spam
podría enviarte la planilla de ejemplo?

"Héctor Miguel" wrote:

hola, 'anonimo/a' °

> ...me temo que no es posible modificar el origen de la tabla ya que se trata de una lista sharepoint (olvide mencionarlo antes)
> Yo creo que es un erro dentro de excel, que las celdas vacias sean consideradas como valor 0 en los calculos

es probable... :-(
ya que si consideras/revisas/... la 'sintaxis' de las formulas para los elementos calculados en las tablas dinamicas...
>>> " he creado una formula = PROMEDIO('1.a';'1.b';'1.c') "
lo que [en realidad] usan dichas formulas son los titulos de los campos, que son textos, y los textos se evaluan como 0 :-((

otra alternativa pudiera ser utilizar macros para depositar formulas 'reales' despues de actualizar una tabla dinamica -?-

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



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida