martes, octubre 04, 2011

Etiquetas personalizadas en gráficos de Excel - segunda nota

En la nota anterior vimos cómo agregar etiquetas definidas en un rango de celdas. En esta nota veremos un ejemplo más avanzado de lo que podemos hacer con esta técnica. Supongamos esta tabla que analiza las ventas por mes en comparación a un objetivo mensual



Podemos representar todos estos datos en un gráfico combinado. Pero inmediatamente vemos que se nos crea un problema de escala. Si bien podemos poner las ventas en el eje principal de la Y y la diferencia en un eje secundario, no tenemos solución para la diferencia en porcentaje (no podemos agregar un tercer eje).

Mi propuesta en este caso es representar las ventas en un gráfico de columnas y poner los datos de la diferencia, en valor absoluto y en porcentaje, en una etiqueta



El primer paso para crear este gráfico es crear un rango con las etiquetas



Usamos la fórmula

=TEXTO(C5;"#.##0")&CARACTER(10)&" ("&TEXTO(D5;"0,0%")&")"

La función TEXTO es indispensable para obtener el texto combinado con el formato adecuado para los números.

Hemos quitado el eje de las Y, y en su lugar hemos agregado las etiquetas estándar de Excel con los valores de cada uno de los puntos de las serie. Para poder agregar las etiquetas personalizadas necesitamos otra serie.



La "Series2" es de hecho la misma serie de las ventas (el rango B5:B10). Para volver "invisibles" los puntos de la nueva serie definimos la serie en un eje secundario y fijamos la propiedad de relleno a "sin relleno" y la de bordes a "sin línea". Esto hace que no veamos las columnas (los puntos de las series) pero que podamos agregar etiquetas.

Para lograr esto usamos la macro que hemos definido (ver la nota anterior)



Finalmente, agregamos un cuadro de texto y lo ligamos a la celda que contiene el valor "objetivo" (la celda C2 en nuestro ejemplo). Como con las etiquetas, creamos el cuadro y lo ligamos a la celda creando una referencia (ponemos el signo "=" en la barra de las fórmulas y hacemos clic a la celda).

El archivo con los ejemplos y las macros se puede descargar aquí.

10 comentarios:

  1. Muchas gracias por este post! y gracias por disponibilizar el archivo! con la macro es facilisimo. Sólo un pequeña observación, para poner las etiquetas si se tiene una o más series, en series de datos debe estar en primer lugar la serie a la cual a uno le gustaría colocar las etiquetas.

    ResponderBorrar
  2. Jorge sos un monstruo, gracias por compartir tus conocimientos tan útiles, para quienes peleamos día a día con excel.
    Un abrazo!

    ResponderBorrar
  3. Muchas gracias por la aportación!

    ResponderBorrar
  4. Una vez así, ¿Como se podría a las etiquetas con valor negativo ponerles el texto en color rojo?

    ResponderBorrar
  5. No se puede con este método ya que las etiquetas son texto, no valores.

    ResponderBorrar
  6. Muchas gracias, aún así me ha servido de mucho.

    ResponderBorrar
  7. Hola! Muchas gracias por haber colgado todo esta explicación, me sirvió mucho! Pero tengo una duda: cómo puedo crear yo este gráfico sin utilizar la macro que ya hay creada? Muchas gracias por tu ayuda!

    ResponderBorrar
  8. Fijate en la primer nota de la serie(hay un enlace al final del post).
    El proceso se puede hacer sin la macro, pero es tedioso.

    ResponderBorrar
  9. Buenas, muchas gracias por responder. El hecho es que quiero usar este formato tuyo en un Excel que ya tengo creado. No entiendo mucho de macros y no sé cómo implantar esta Macro en mi Excel. Me podrías ayudar, por favor?

    ResponderBorrar
  10. Hay que copiar el código en un módulo del editor de Vb (activarlo con Alt.F11) y usarlo como se muestra en la nota.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.