A través de un comentario un lector preguntaba por la manera de generar un gráfico con los últimos valores introducidos en una tabla:
El trabajo consisitirá en recrear, mediante funciones, un rango variable que reconozca los últimos datos insertados en una Tabla. Las funciones empleadas son ya conocidas: INDIRECTO y DIRECCION. Esto incorporado dentro de un Nombre definido conseguirá el efecto deseado.
En otras ocasiones hemos podido añadir nuestros Nombres definidos como parte de los Valores de una Serie (ver), pero esta vez por la particularidad en la creación de nuestra fórmula no es posible, por lo que deberemos trabajar sobre un rango auxiliar de datos, sobre el cual construiremos nuestro gráfico.
Veamos en la siguiente imagen el detalle del ejercicio:
Lo que vemos en la imagen es en el rango de celdas A1:B6 una Tabla llamada 'Tabla1', y que además hemos generado dos Nombres definidos con fórmulas:
importes=INDIRECTO(DIRECCION(CONTARA(Tabla1[año])+1-2;2)&":"&DIRECCION(CONTARA(Tabla1[año])+1;2))
fechas=INDIRECTO(DIRECCION(CONTARA(Tabla1[año])+1-2;1)&":"&DIRECCION(CONTARA(Tabla1[año])+1;1))
Estos nombres construirán, de manera variable, el rango correspondiente a los últimos tres datos de la 'Tabla1'.
Si desglosamos ambas fórmulas, veríamos que con:
DIRECCION(CONTARA(Tabla1[año])+1-2;2)&":"&DIRECCION(CONTARA(Tabla1[año])+1;2)
en la situación actual obtendríamos: $B$4:$B$6; y es que jugamos con la función DIRECCION para conseguir una referencia de inicio y otra de fin de rango.
Lo bueno de emplear esta técnica es que hemos asociado el número de elementos en el campo 'año' de nuestra 'Tabla1' a la celda inicio y final del rango a graficar. Si nos detenemos un segundo en la función:
DIRECCION(CONTARA(Tabla1[año])+1-2;2)
vemos como con CONATARA obtengo la fila donde deso comience nuestro rango, fijando el número de columna a un 2, es decir, a la columna B.
El rango para los 'Años' se contruye exactamente igual, pero refiriéndonos a la columna 1 (esto es, columna A).
Una vez construidos los rangos 'fechas' y 'importes' los ejecutamos matricialmente en las celdas A18:A20 y B18:B20 respectivamente; esto lo haremos seleccionando previamente A18:A20 (o B18:B20), y escribiendo en la celda activa =fechas (ó =importes) y validándolo pulsando simultaneamente Ctrl+Mayusc+Enter.
El resto es simple, construimos un gráfico, del tipo que queramos, sobre ese rango A18:B20, que siempre será el mismo, puesto que sólo deseamos graficar los tres últimos datos de la Tabla.
En el video siguiente podemos ver cómo se comporta nuestro gráfico al añadir nuevos datos a la Tabla1:
...ya encontré realizar un gráfico dinámico que se actualiza automáticamente; ahora necesito sólo graficar los últimos 3 (tres) datos de una tabla que incorpora una fila diariamente... |
El trabajo consisitirá en recrear, mediante funciones, un rango variable que reconozca los últimos datos insertados en una Tabla. Las funciones empleadas son ya conocidas: INDIRECTO y DIRECCION. Esto incorporado dentro de un Nombre definido conseguirá el efecto deseado.
En otras ocasiones hemos podido añadir nuestros Nombres definidos como parte de los Valores de una Serie (ver), pero esta vez por la particularidad en la creación de nuestra fórmula no es posible, por lo que deberemos trabajar sobre un rango auxiliar de datos, sobre el cual construiremos nuestro gráfico.
Veamos en la siguiente imagen el detalle del ejercicio:
Lo que vemos en la imagen es en el rango de celdas A1:B6 una Tabla llamada 'Tabla1', y que además hemos generado dos Nombres definidos con fórmulas:
importes=INDIRECTO(DIRECCION(CONTARA(Tabla1[año])+1-2;2)&":"&DIRECCION(CONTARA(Tabla1[año])+1;2))
fechas=INDIRECTO(DIRECCION(CONTARA(Tabla1[año])+1-2;1)&":"&DIRECCION(CONTARA(Tabla1[año])+1;1))
Estos nombres construirán, de manera variable, el rango correspondiente a los últimos tres datos de la 'Tabla1'.
Si desglosamos ambas fórmulas, veríamos que con:
DIRECCION(CONTARA(Tabla1[año])+1-2;2)&":"&DIRECCION(CONTARA(Tabla1[año])+1;2)
en la situación actual obtendríamos: $B$4:$B$6; y es que jugamos con la función DIRECCION para conseguir una referencia de inicio y otra de fin de rango.
Lo bueno de emplear esta técnica es que hemos asociado el número de elementos en el campo 'año' de nuestra 'Tabla1' a la celda inicio y final del rango a graficar. Si nos detenemos un segundo en la función:
DIRECCION(CONTARA(Tabla1[año])+1-2;2)
vemos como con CONATARA obtengo la fila donde deso comience nuestro rango, fijando el número de columna a un 2, es decir, a la columna B.
El rango para los 'Años' se contruye exactamente igual, pero refiriéndonos a la columna 1 (esto es, columna A).
Una vez construidos los rangos 'fechas' y 'importes' los ejecutamos matricialmente en las celdas A18:A20 y B18:B20 respectivamente; esto lo haremos seleccionando previamente A18:A20 (o B18:B20), y escribiendo en la celda activa =fechas (ó =importes) y validándolo pulsando simultaneamente Ctrl+Mayusc+Enter.
El resto es simple, construimos un gráfico, del tipo que queramos, sobre ese rango A18:B20, que siempre será el mismo, puesto que sólo deseamos graficar los tres últimos datos de la Tabla.
En el video siguiente podemos ver cómo se comporta nuestro gráfico al añadir nuevos datos a la Tabla1:
Ismael buenos días y muchas gracias!! Muy útil y práctico. Saludos.
ResponderEliminar;-)
EliminarSaludos!!
DISCULPA DESEO PRESENTAR EN UNA TABLA DINÁMICA LOS ÚLTIMOS 4 DATOS QUE SE AÑADEN A MI BASE DE DATOS COMO LOGRO ÉSTO
ResponderEliminarESPERO
ResponderEliminarHola Guillermo,
Eliminartendrías que añadir algún campo calculado en el origen de datos que mediante una fórmula identifique estos cuatro últimos elementos de tu listado.. para luego utilizarlo como campo de filtro en tu TD.
Espero te sirva la idea
Saludos