viernes, diciembre 28, 2007

Graficos de columnas con formato condicional.

Una de las consultas que recibo con cierta frecuencia es cómo lograr que las columnas de un gráfico cambien de color en función del valor que representan.
Excel no tiene ningún método incorporado para lograr ese efecto. Pero podemos hacerlo aplicando una técnica más o menos sencilla como la sugerida por Jon Peltier en su excelente página sobre gráficos (en inglés).

Supongamos esta tabla de ventas



Si representamos estos datos en un gráfico de columnas obtendremos



Lo que queremos es que las barras de los meses en que las ventas están por debajo de los 50.000 aparezcan en rojo (por debajo de lo esperado); las barras de los meses en los cuales las ventas están entre los 50.000 y los 80.000 aparezcan en verde (dentro de lo esperado) y las barras de los meses que superan los 80.000 aparezcan en azul (por encima de lo esperado). Es decir



Notemos que si intentamos cambiar el color de las barras con el menú Formato de serie de datos, todas las barras cambian al mismo color. Esto se debe a que en este gráfico tenemos una sola serie de datos, donde cada mes es un punto en la serie.

Por lo tanto, para poder cambiar los colores en forma independiente, necesitamos generar a partir de la tabla de datos existente, una nueva tabla con más de una serie.

En nuestro caso definimos tres series: una para las ventas por debajo de los 50.000, otra para las ventas entre 50.000 y 80.000 y la tercera para las ventas por encima de los 80.000.

Empezamos por agregar dos filas por encima de la tabla y agregar tres columnas



El rango C1:E2 nos sirve para fijar los límites de cada intervalo. En el rango C3:E3 ponemos esta fórmula

="de "&C1&" a "&C2

para que los encabezamientos de las columnas cambien en forma dinámica con los cambios en los valores de los intervalos.

Finalmente en el rango C4:E15 ponemos esta fórmula

=SI($B4>C$1;SI($B4<=C$2;$B4;NOD());NOD())

Tenemos ahora una tabla con tres series de datos que podemos representar con un gráfico de columnas, donde a cada serie le daremos un color distinto.

Seleccionamos el rango relevante a nuestro gráfico, A3:A15, C3:E15 y con el asistente de gráficos generamos un gráfico de columnas apiladas



Nos aseguramos que las series estén en Columnas



Todo lo que nos queda por hacer ahora es seleccionar el color apropiado para cada serie con el menú Formato de series de datos y poner los formatos de tramas y fuentes de acuerdo a nuestras preferencias personales.

El archivo con el ejemplo se puede descargar graficos condicionalesaquí

7 comentarios:

Anónimo dijo...

Gracias. Es una explicación clarísima y de gran ayuda, pues este tipo de presentación de datos, mas de una vez he intentado hacerla y siempre he tenido que desistir.
Gracias por tu inestimable ayuda.
Un cor´dial saludo
Rodrigdv

Anónimo dijo...

Muchas Gracias. Agregaría que para completar la grafica habria que ir al formulario Formato de Series de datos, en la lengueta OPciones elegir la opción superposición 100%

Anónimo dijo...

SIMPLEMENTE ESPECTACULAR.. GRACIAS

Anónimo dijo...

esta pagina me parece grandiosa, me ha servido muchisimo en mi trabajo.

Anónimo dijo...

Excelente Tip, pero quisiera saber cómo debo hacer para usar esta misma herramientas con máximos y mínimos variables, por ejemplo si tengo un presupuesto y lo comparo con el ejecutado cómo muestro el gráfico para datos no cumplidos y datos cumplidos o superados en los colores deseados respectivamente?

Jorge Dunkelman dijo...

Acabo de publicar una nota sobre el tema.

Anónimo dijo...

MUCHA AYUDA LA QUE BRINDAS, CASI LLORO CON EL TIEMPO QUE ME AHORRARA ESTO. MUCHAS GRACIAS