domingo, marzo 02, 2014

Coordinar el valor máximo del eje vertical en varios gráficos de Excel

Una participante en el foro Expertos en Excel en Español consultaba si se puede condicionar el valor máximo de un grupo de gráficos de manera que viniese determinado por el gráfico que tenga la cifra mayor.

Para ejemplificar, digamos que tenemos dos gráficos que muestran dos series de valores (val1 y val2 en la imagen)

tablas y graficos

Sin entrar en la la cuestión si poner un gráfico al lado del otro o crear un único gráfico con dos series de datos, podemos ver que en nuestro ejemplo los máximos del eje de los valores (el eje Y) son distintos en cada gráfico. Esto hace que la comparación visual sea engañosa; lo que buscamos es que en los dos gráficos el eje de los Y tenga el mismo valor máximo.

Como los valores van cambiando no podemos fijar la definición del máximo del eje. La solución tradicional es programar un evento (Vba), de manera que cuando algún valor cambia en alguna de las tablas el evento cambia el valor del máximo en ambos gráficos.

Sin embargo, existe la posibilidad de lograr el mismo efecto sin macros. El truco consiste en incluir en ambos gráficos una serie auxiliar con un sólo punto cuyo valor sea el máximo de los los valores de ambas tablas.
Además de tener el valor máximo de todos los valores de las tablas esta serie debe cumplir con otros dos requisitos:

  1. ser "invisible";
  2. ser "inmaterial", con lo que quiero decir que no influye en como el resto de los puntos de las series se muestran en los gráficos (este concepto quedará más claro en las subsiguientes explicaciones).
En nuestro ejemplo empezamos por crear la serie auxiliar poniendo esta fórmula en una celda: =MAX(D3:E7,L3:M7)

crear serie auxiliar

Como puede verse, ponemos el fórmula en la columna A, dejando la columna B libre. El motivo es poder luego ocultar la columna A para no recargar nuestro modelo mostrando datos auxiliares.

El próximo paso es agregar la serie auxiliar en los gráficos. Seleccionamos el primer gráfico y en el menú Diseño de la opción Herramienta de gráficos activamos "Seleccionar Datos-Agregar". y en el formulario que se abre ponemos estas definiciones

definiciones de la serie
Apretamos "Aceptar" y en formulario que se abre apretamos el botón "Celdas ocultas y vacías"

celdas ocultas y vacías
En el formulario de configuración de celdas ocultas y vacías marcamos la opción "Mostrar datos..."

mostrar datos

Ahora tenemos que ocuparnos de los requisitos que debe cumplir la serie auxiliar. Cambiamos el tipo de serie a "Línea" sin marcadores

gráfico línea sin marcadores

Esto hace que la la serie "desaparezca" (al tener un solo punto no aparece la línea ni el marcador; tampoco "comparte" lugar en el eje de las X con los otros puntos de la serie).

Repetimos el proceso para el segundo gráfico. Ahora podemos ver que en ambos gráficos el eje de las Y tiene el mismo valor máximo

gráficos comparados

Cada vez que cambiemos algún valor en alguna de las tablas, Excel calculará el mismo máximo para el eje de las Y en ambos gráficos.

En esta nota pueden ver la solución usando macros.

1 comentario:

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