jueves, 3 de mayo de 2012

Un gráfico de Excel con Etiquetas de categorías de múltiples niveles.

En esta entrada veremos cómo construir un gráfico con distintos niveles para el eje de categorías, en respuesta a la cuestión planteada por un lector:
...digamos que tienes 2 vendedores por lo tanto tienes 4 series de datos, 2 de una zona Sur uno de cada vendedor, y otros 2 de otra zonz norte nuevamente uno de cada vendedor; mi duda es como graficar para que en cada mes salgan 2 barras con 2 series cada uno y no una sola barra con 4 series, osea quiero 2 barras (cada barra representa a cada vendedor) con 2 series cada una (zona norte y zona sur) en cada mes...

Como siempre lo más importante en los gráficos es el resultado visual final, sin embargo, sabemos que para conseguir este resultado, tenemos que tratar de manera muy especial el origen de datos; en esta ocasión más, ya que necesitaremos un eje de categorías de múltiples niveles de manera muy concreta.
Empezaremos en primer lugar viéndo la disposición de datos necesaria para poder construir nuestro gráfico, según las especificaciones del lector. Necesitaremos una columna con datos del Mes, el cual, como veremos en la imagen, debe ir alternando un elemento con otra celda vacía (esta es la clave para configurar nuestro gráfico con múltiples niveles), otro campo con los Comerciales (reiterando, para nuestro ejemplo, para cada mes los dos comerciales), y acabaremos con las series propiamente de datos, una para los valores de la 'Zona sur' y otro para los de la 'Zona norte'. En la siguiente imagen se ve mucho mejor:

Un gráfico de Excel con Etiquetas de categorías de múltiples niveles.


Realmente no necesitamos nada más, simplemente seleccionamos el rango B1:B25, con todo el origen de datos, e insertamos un gráfico, en nuestro caso, un gráfico de Columnas > Columnas 2D > Columnas apiladas, consiguiendo el gráfico:

Un gráfico de Excel con Etiquetas de categorías de múltiples niveles.


Podemos observar como el resultado era el requerido, tenemos por cada mes, dos columnas apiladas por Zona (Norte y Sur), una columna por cada Comercial.
Es importante remarcar que sólo en gráficos con un origen de dato similar, Excel reconocerá la existencia de múltiples niveles, activándose en el Formato de ejes la opción Etiquetas de categorías de múltiples niveles:

Un gráfico de Excel con Etiquetas de categorías de múltiples niveles.


Por finalizar, insistir en la importancia de construir nuestra tabla origen de datos con la estructura señalada, dejando el primer nivel ('Mes') a modo de árbol, sólo con elementos al principio de cada grupo ('Comercial') del segundo nivel. Casi nos recuerda, en cuanto a forma, la estructura o diseño de una Tabla dinámica.

8 comentarios:

  1. Ahhh muchas gracias no sabes como em haz ayudado, de verdad muchas gracias, tienes una excelente pagina sigue con ella

    ResponderEliminar
  2. HOLA,
    Tomando este ejemplo, me surge la siguiente duda: es posible hacer el mismo tipo de gráfico pero en el que los nombres de las series de zona norte y zona sur sean distintos entre ambos comerciales?
    Es decir COMERCIAL AA tenga zona norte y zona sur Y COMERCIAL BB tenga zona este y zona oeste.
    mil gracias de antemano!

    ResponderEliminar
    Respuestas
    1. Hola!
      si sería posible, bastaría añadir dos columnas nuevas (dos series más) en F y G, una para cada Zona (Este y Oeste) con datos sólo para el comercial BB, de igual forma el comercial AA sólo se quedaría con valores en las columnas de sus Zonas (norte y sur)...

      Aunque quedarían algo descolocadas las columnas, y habría que intentar darles formato para que quedaran lo más centrados posible.
      Slds

      Eliminar
  3. Buenas don Ismael, una consulta, poseo un libro con mas de 30 gráficos, todos con diferentes gráficos de columnas, pero todos comparten una linea en común, (ej:precios)
    Si el precio en este caso baja mucho o sube mucho tengo que cambiar el mínimo o máximo de cada uno de los 30 gráficos, ahora existe la posibilidad de añadir una variable única y manejar los altos y bajos desde una posición?
    muchas gracias
    Esteban de Rosario, Argentina

    ResponderEliminar
  4. Buenas don Ismael, ya lo tengo solucionado con una macro, donde determino máximo, mínimo y la escala.
    Aviso para dejarlo al tema...
    Muchas gracias
    Esteban de Rosario,

    ResponderEliminar
    Respuestas
    1. Hola Esteban,
      lo primero de todo disculparme por no haber contestado tu primera pregunta... la verdad es que la perdí entre el resto de comentarios. Lo siento.
      Por supuesto encantdo que puedas subir tu solución propuesta, igualmente puedes ver algo similar (configurando el escalado del eje) en
      http://excelforo.blogspot.com.es/2010/07/vba-grafico-dinamico-con-autoescalado.html

      Un cordial saludo

      Eliminar
  5. Hola :) Tengo un problemilla. Acabo de hacer un gráfico parecido al que dices (con etiquetas en dos cateogrías). El detalle es que excel automáticamente me puso una de las etiquetas con alineación vertical y otra con alineación horizontal.
    Como los nombres de ambas son largos, esto hace que no se puedan leer las que me salen en vertical. He intentado cambiar la alineación, pero solo me deja modificar las que ya están en horizontal, ¡las otras no! ¿Alguna sugerencia sobre cómo resolver esto?
    Saludos y de antemano gracias!!!

    ResponderEliminar
    Respuestas
    1. Hola,
      si es frecuente este problema.. lo más sencillo es seleccionar el área de etiquetas y disminuir el tamaño de la fuente.
      Normalmente bajándolo todo se coloca suficientemente bien para que se vean los diferentes niveles...
      Poco más hay que hacer a este respecto :(
      Saludos

      Eliminar