lunes, 14 de abril de 2014

La función IMPORTARDATOSDINAMICOS en Tablas dinámicas.

Profundizaremos en la posibilidad de trabajar con datos a partir de información resumida mediante Tablas dinámicas, se trata en realidad de obtener valores de una Tabla dinámica mediante el uso de la función IMPORTARDATOSDINAMICOS.
Muy importante recordar que para emplear esta función debemos activar desde las Opciones de tabla dinámica la herramienta Generar GetPivotData!!!.


Veamos un ejemplo práctico, partiremos del siguiente listado que representa la recogida de efectivo (monedas) de una pequeña tienda de 'chuches' en diferentes días, y a partir de este listado hemos construido una tabla dinámica con la configuración que se ve en la imagen siguiente:

La función IMPORTARDATOSDINAMICOS en Tablas dinámicas.



Observemos que he optado por modificar los nombres de los elementos resumidos.
El diseño ha consistido en llevar el campo 'Fecha' al área de filtro de página y los campos '2 eur', '1 eur', etc al área de valores, resumido por Suma, además he recolocado la distribución de los valores por filas.


Bien, la meta es trabajar sobre estos datos para determinar cuál es el total de euros ingresado en un día cualquiera (por ejemplo el 21/1/2014), sabiendo el número de monedas para cada valor.
En este caso trabajaremos en un rango anexo al de la tabla dinámica, a la izquierda para evitar futuras superposiciones y borrado de datos.


Veamos la fórmula completa que nos resolverá el problema:
=SI(DERECHA(N6;3)="eur";IMPORTARDATOSDINAMICOS(TEXTO(N6;"@");$N$5)*VALOR(IZQUIERDA(N6;ENCONTRAR("_";N6)-1));IMPORTARDATOSDINAMICOS(TEXTO(N6;"@");$N$5)*VALOR(IZQUIERDA(N6;ENCONTRAR("_";N6)-1)/100))



La fórmula es un poco larga, pero sencilla de entender por partes.
Lo más importante, y objetivo de esta entrada:
IMPORTARDATOSDINAMICOS(TEXTO(N6;"@");$N$5)

con esta función nos referimos a la tabla dinámica situada a partir de $N$5 y en concreto al dato que corresponde con el primer argumento:
TEXTO(N6;"@")
es decir, al valor resumido correspondiente al elemento '2_ eur'... y ojo con el tratamiento que le hemos dado, para que Excel comprenda que nos referimos al elemento '2_ eur' (o cualquier otro) forzamos con la función TEXTO y un formato "@".
Esto nos permitirá arrastrar nuestra fórmula aprovechándonos de los elementos ya definidos en la tabla dinámica.


El resto de la fórmula es un condicional SI que distingue con funciones de texto si el valor facial de la moneda a estudio es de euros o céntimos, realizando el producto por el valor facial correspondiente.

Finalmente sólo nos quedaría sumar el resultado de nuestras fórmulas...

No hay comentarios:

Publicar un comentario en la entrada