sábado, noviembre 25, 2006

Graficos Excel Dinamicos – Determinando cuantos datos exhibir

Tengo una tabla de ventas de un producto que quiero representar con un gráfico de Excel. El problema es que la tabla tiene los datos de 278 semanas!

Nuestro objetivo es crear un gráfico dinámico, donde podamos establecer la cantidad de datos a ser exhibidos.

Hay más de una solución a este tipo de situación. En esta nota mostraré dos de ellas.

En el primer ejemplo, establecemos cuantos puntos exhibir a partir del primer punto de la serie.

El primer paso es crear un gráfico de líneas (en nuestro ejemplo), a partir de la tabla. Como ven, este gráfico es imposible de interpretar




Nuestro objetivo es crear un gráfico donde podamos determinar dinámicamente el rango de puntos a ser exhibido.

Para convertir este gráfico en dinámico, empezamos por definir nombres para los rangos de las series:

Semana_Final =Hoja1!$C$1
Fecha =DESREF(Hoja1!$A$2,0,0,Semana_Final,1)
Ventas =DESREF(Hoja1!$B$2,0,0,Semana_Final,1)

En la celda C1 ponemos el valor 10, para evitar recibir resultados de error más adelante. Este valor cambiará automáticamente luego.

El segundo paso consiste en reemplazar los rangos estáticos de la fórmula SERIES del gráfico por los rangos dinámicos que acabamos de crear



Podemos reemplazar los rangos por los nombres directamente en la barra de fórmulas, o en el diálogo de Origen de Datos



En las ventanillas correspondientes de escribimos el nombre del rango precedido por el nombre de la hoja y el signo de exclamación. En nuestro caso Hoja1!Ventas y Hoja1!Fecha.

Dado que al rango Semana_Final (la celda C1) le hemos dado un valor de 10, veremos en nuestro gráfico 10 puntos (semanas), empezando por la fecha 03/01/2002 que es el primer punto de la tabla.



En lugar de cambiar manualmente el valor de la celda C1, podemos poner un control, más precisamente, una barra de desplazamiento.

Para esto activamos el menú de formularios y hacemos un clic al icono de la barra de desplazamiento



Ubicamos la barra de deslazamiento en el gráfico y activamos el menú de formato del control



En la ventanilla de Vincular con Celda ponemos Semana_Final (o C1). El resto de los parámetros son obvios.

El resultado es



Ahora podemos usar la barra de desplazamiento para fijar la cantidad de puntos que queremos representar en el gráfico.

La segunda solución consiste en establecer no solo la cantidad de puntos, sino también el punto del principio.

Copiamos la tabla de datos y el mismo gráfico a una nueva hoja (puntos), y definimos estos rangos con nombres

Fecha_2 =DESREF(Hoja2!$A$2,Inicio-1,0,Final,1)
Ventas_2 =DESREF(Hoja2!$B$2,Inicio-1,0,Final,1)
Final =Hoja2!$I$4
Inicio =Hoja2!$G$4

En los dos primeros nombres la sintaxis de la función DESREF es distinta a la usada anteriormente. En mi blog sobre Excel hay una explicación detallada sobre la función DESREF.

Los valores de los nombres Inicio y Final, argumentos de la función DESREF en los nombre de los rangos dinámicos, los estableceremos con Controles de Números de la barra de Formularios.

Nuestro objetivo es insertar dos controles, uno para establecer el primer punto de la serie y el segundo para establecer el número de puntos a representar.

Para insertar estos controles abrimos el menú de Formularios y hacemos clic al icono de control de número



Para crear el control del punto inicial colocamos el control por encima del gráfico y creamos la celda vinculada (G4 en nuestro caso) de manera que quede oculta debajo del control.



En la celda F4 escribimos esta fórmula: =INDICE(Fecha_2,1)

Para el segundo control, el número de semanas (puntos), creamos un control similar, definiendo como celda vinculada I4


Una vez terminado nuestro modelo se ve así



En este modelo podemos controlar el punto de partida y la cantidad de datos a representar en el gráfico.



Technorati Tags: ,

17 comentarios:

Anónimo dijo...

Disculpe por la tardanza, no tenia acceso a red.

Wow !!! increible, de verdad que estoy impresionado, insisto en su facilidad de describir el procedimiento, eso hace su blog una joya, pero sobre todo muchas gracias por la ayuda, y por tomar en consideracion mi solicitud sobre la barra de desplazamiento, de verdad, todos mis respetos para usted y su super blog !

La informacion sobre la barra quedo muy muy completa, muchas gracias !!

-Guillermo

Anónimo dijo...

he recomendado esta página a varios amigos porque simplemente uno queda fascinado; he intentado realizar este ejercicio con la barra desplegable y me he quedado en medio camino, lo podrías explicar mejor... ¡gracias!. Ah! y algunos enlaces no funcionan

Jorge L. Dunkelman dijo...

gracias! En estos días estoy "enloquecido" con un proyecto en mi empresa, lo uqe me deja sin tiempo. Pero prometo mejorar la explicación. En cuanto a los archivos (Filelodge dejó de funcionar sin previo aviso) los estoy mudando a otro servicio y en unos días estarán a disposición de todos.

CHARLES BAEL ARMAS dijo...

HOLA JORGE

SOY NUEVO POR AQUI Y VEO QUE SABES MUCHO ACERCA DE GRAFICAS, BIEN TE QUIERO PEDIR QUE ME AYUDES.

QUIERO HACER UN FORMATO PARA UNA GRAFICA YA CON LAS CELDAS PREESTABLECIDAS PARA QUE OTROS LA RELLENEN, PERO CUANDO NO HAN RELLENADO UN DATO, LA GRAFICA EN AUTOMATICO ME GRAFICA LOS CEROS (0.00)Y NECESITO QUE LOS CEROS NO SE GRAFIQUEN PORQUE SON DATOS QUE SE VAN A RELLENAR DESPUES, ESPERO ME ENTIENDAS Y ME AYUDES

MUCHAS GRACIAS DE ANTEMANO.
FELICIDADES POR TU BLOG ERES BUENO EN LO QUE HACES.

Jorge L. Dunkelman dijo...

Hola

fijate en esta nota que publiqué en mi blog sobre Excel.

Anónimo dijo...

hola, me puedes hechar una mano en algo parecido a lo que expones qui?
tengo una tabla de datos 14 filas por 10 columns.
Hago un gráfico de lines i me aparecen las 10 series.
Como puedo condicionar el numero de series al valor de una celda ?

Jorge L. Dunkelman dijo...

Hola
mis disculpas por la demora en responder.
Puedes mandarme el archivo a jorgedun@gmail.com y veré qué puedo hacer.

Anónimo dijo...

Hola Jorge,
Veamos si me puedes ayudar con mi problema: me han mandado un archivo en el que han importado una serie de datos, entre las cuales viene un listado de fechas con el siguiente formato: "12.01.07", el cual Excel no reconoce. Como el listado es muy largo, había pensado utilizar la función SUSTITUIR para cambiar los puntos por guiones y así utilizar un formato propio de Excel para fechas, pero sigue sin reconocerlos. ¿Cómo puedo evitar tener que reescribir las fechas a mano? La intención es ordenar posteriormente todas las filas en función de las fechas.
Muchas gracias de antemano.

Jorge L. Dunkelman dijo...

Hola y mil disculpas por la demora en responder.
Te recomiendo usar Buscar y Reemplazar (Ctrl + L). Sencillamente seleccionas todo el rango con las "seudo" fechas, abres el diálogo y reemplazas todos los puntos por "/".

Sebastian dijo...

Jorge ha sido de gran ayuda tu blog con los pasos para realizar funciones en excel que no sabia q existían.

Para esta publicacion recomiendo leer:
Uso de Nombres (NAMES) en MS Excel
http://jldexcelsp.blogspot.com/2006/02/uso-de-nombres-names-en-ms-excel.html

Anónimo dijo...

Una ayuda extraordinaria. Una maravilla.

Muchas gracias.

Anónimo dijo...

Increible, enhorabuena por el trabajo que realiza, no sabía que se podía hacer nada de esto.
Aprovecho para consultarle, ¿se puede hacer que la gráfica pase ante la ventana gráfica?.
Es decir que se vean los valores asignados en C1,y con el control ir recorriendo toda la tabla.
Muchas gracias.

Jorge L. Dunkelman dijo...

¿Te refieres a que el valor de la celda C1 se vea dentro del área del gráfico?

Anónimo dijo...

Hola Jorge: Me refiero a que al pulsar una vez en la barra de desplazamiento, el punto de la izquierda desaparezca y aparezca un nuevo punto por la derecha, y así sucesivamente hasta recorrer todos los puntos del gráfico. La cantidad de datos a representar es constante y el punto de partida se incrementa una unidad al pulsar en la barra de desplazamiento.

Anónimo dijo...

Disculpa jorge, la segunda opción de tu página hace ésto perfectamente. Muchas gracias y disculpa otra vez.

Sinclair dijo...

Ya dias estoy capacitandome por su Blog simplemente expectacular. La facilidad con que se realizan estos graficos increibles, solo en su pagina los he encontrado.

Sinclair dijo...

Ya dias estoy capacitandome por su Blog simplemente expectacular. La facilidad con que se realizan estos graficos increibles, solo en su pagina los he encontrado.