sábado, mayo 17, 2008

Gráfico Excel de barras en lugar de gráfico de columnas

Hace unos días atrás preparé un análisis mostrando el cambio en el valor del inventario de la empresa en el último trimestre en comparación al del mismo trimestre del año anterior. El análisis consiste en mostrar el valor del inventario al final del trimestre, compararlo con el valor del inventario en el trimestre del año anterior y desglosar la diferencia en valor debido a cambios en la cantidad y valor por cambios en los precios. La tabla, expresada en miles de la moneda relevante, es esta



Para enfatizar el análisis podemos crear un gráfico. De la colección de gráficos que Excel nos ofrece, aparentemente el de barras agrupadas sería el más adecuado. Seleccionamos los rangos relevantes y con el asistente de gráficos creamos éste



Personalmente este gráfico me parece poco informativo y estéticamente feo. Después de hacer algunos intentos, creé este informe con tres gráficos, uno para cada serie de datos:



En mi opinión estos gráficos no sólo son más informativos y fáciles de entender, sino también, más estéticos.

Para crear estos gráficos seguimos los siguientes pasos:

1 – Seleccionamos la primer serie de datos (D3:F3), y con el asistente de gráficos creamos un gráfico de barras 100% apiladas

Nos aseguramos que las series estén en columnas



El resultado inmediato es éste



2 – Empezamos a "mejorar" nuestro gráfico:

Quitamos la leyenda; las tramas del área de trazado;

borramos las líneas de división;

seleccionamos el eje de las categorías (X) y en el menú de formato del eje, marcamos Eje de valores (Y) cruza en máxima categoría en la pestaña Escala;

ahora borramos el eje de las categorías;

El resultado es el siguiente:



3 – Seleccionamos el punto de la serie 2 (en nuestro ejemplo, la trama de color violeta) y abrimos el menú de formato de series de datos. En la pestaña Ejes, marcamos Eje secundario. En la pestaña Opciones definimos Superposición 100 y Ancho del rango 310



El resultado es el siguiente



Por algún motivo, Excel cambia el tipo de gráfico de la serie a Barras apiladas. Para corregir esto seleccionamos el punto y cambiamos el tipo de gráfico nuevamente a Barras 100% apiladas.



La escala de ambos ejes de valores coincide ahora, lo que nos permite eliminar la inferior. Ahora sólo nos quedan algunos ajustes por hacer como ajustar el tamaño de las fuentes y agregar el título en la parte inferior del área de trazado. El título lo agregamos manualmente usando el menú de Opciones del gráfico.
Para lograr un buen alineamiento del gráfico con las celdas de las hojas, apretamos Alt al mover el gráfico o cambiar su tamaño.

4- Duplicamos el gráfico cambiando el rango de los datos y el título creando así los otros dos gráficos del informe.



Finalmente podemos poner como fondo de las celdas de la tabla el color de la barra de la serie, ayudando así a identificar más claramente los datos. También podemos agregar líneas de división para facilitar la lectura del gráfico.

sábado, mayo 10, 2008

Gráfico dinámico a partir de lista desplegable.

En la nota anterior vimos como construir un gráfico dinámico cuyos valores cambian de acuerdo a qué celda se escoja.
En la nota sobre gráficos con listas desplegables, vimos como agregar un control al gráfico de manera de poder elegir la serie de datos a ser exhibida.
Otro enfoque a este tema es el me consulta un lector: que el gráfico cambie de acuerdo a los valores de una lista desplegable en una celda. Por ejemplo, partiendo de los datos de la nota anterior, crear una lista desplegable con los años, de manera que cuando elijamos un año de la lista los valores del gráfico cambien de acuerdo.




La forma más práctica de crear una lista desplegable en una celda es con Validación de Datos. Seleccionamos el rango B2:E2, que contiene los años y creamos el nombre "periodo" usando el cuadro de nombres



Ahora podemos crear una lista desplegable, por ejemplo en la celda B15 usando Validación de Datos






Creamos el gráfico sólo para el año 2005. Seleccionamos las barras y en la barra de fórmulas podemos ver la fórmula SERIES que define los datos del gráfico



Nuestra tarea es reemplazar el rango B3:B12 en la fórmula SERIES por un nombre que contenga un rango dinámico. Empezamos por definir cuatro nombres, uno para cada año, con los rangos relevantes



per2005 =Hoja1!$B$3:$B$12
per2006 =Hoja1!$C$3:$C$12
per2007 =Hoja1!$D$3:$D$12
per2008 =Hoja1!$E$3:$E$12

Al definir nombres en Excel podemos usar toda combinación de letras y números, sin espacios en blanco, pero el nombre debe empezar con una letra. Por este motivo hemos puesto "per" al principio de cada nombre. Esto nos obliga a agregar una celda donde combinamos el valor de la lista desplegable con el prefijo "per". En nuestro caso, en la celda C15.



Ahora creamos otro nombre, "pername", con esta definición:

pername =INDIRECTO(Hoja1!$C$15)

Usamos la función INDIRECTO, para que Excel interprete el texto de la celda C15 como rango.

Nuestro próximo paso es reemplazar el rango que aparece en Valores en el diálogo de Datos de Origen,



por el nombre que acabamos de crear



Para mejorar el aspecto de nuestra hoja, le damos a la fuente de la celda C15 el mismo color que el fondo, haciéndola "invisible".

Ahora los valores del gráfico se acomodarán de acuerdo al año que hayamos elegido en la lista desplegable.

El archivo con el ejemplo se puede descargar aquí.