Cambiar gráfico de Excel con una lista desplegable

Hoy demostraré cómo tener el control sobre el contenido de un gráfico de Excel utilizando una lista desplegable. A través de la lista desplegable podremos decidir el rango de datos que deseamos mostrar dentro del gráfico.

Observa la siguiente animación para tener una idea clara del resultado que obtendremos al finalizar este ejercicio:

Cambiar gráfico de Excel con una lista personalizada

El gráfico de Excel original

Originalmente tenía un reporte de ventas de cada uno de los trimestres del año y cada una de las diferentes regiones de una empresa.

Gráfico de barras en Excel

Lo que deseamos hacer con este gráfico es separar cada una de las regiones y controlar su presentación a través de una lista desplegable de manera que se muestre una sola región a la vez sin necesidad de crear cuatro gráficos diferentes.

Crear la lista desplegable

El primer paso será crear una lista desplegable. Para ello debemos ir a la ficha Programador y agregar un control de formulario conocido como Cuadro combinado.

Control de formulario - Cuadro combinado

Una vez que hayas agregado el Cuadro combinado a la hoja de Excel debes hacer clic derecho sobre el control y seleccionar la opción Formato de control. En este cuadro de diálogo se debe especificar el Rango de entrada que es el rango donde se encuentran los nombres de las regiones. Para nuestro ejemplo ese rango es el A2:A5.

Formato de control de Cuadro combinado

Adicionalmente he especificado la celda A7 como la celda vinculada con este control de manera que dicha celda despliegue en todo momento el elemento seleccionado de la lista. Observa cómo se comporta la lista con estos parámetros, en especial observa la celda A7 que cambiará de acuerdo a la selección:

Lista desplegable para controlar gráfico Excel

Obtener los valores a graficar

A través de lista desplegable y la celda A7 sabemos la región que se desea graficar. Ahora será necesario obtener los datos de dicha región para poder crear la gráfica y para ello utilizaremos la función INDICE.

La función INDICE nos ayuda a obtener una celda dentro de una matriz con solo indicar la fila que necesitamos.  Por ejemplo, para obtener el nombre de la región que tiene la posición especificada en la celda A7 podemos utilizar la siguiente fórmula:

=INDICE(A2:A5, $A$7)

Una vez que hemos creado esta fórmula podemos asegurar lo siguiente. Cuando seleccionemos un valor de la lista desplegable se modificará automáticamente el valor de la celda A7 y por lo tanto también se modificará el valor de la función INDICE al traer el nombre de la región correspondiente.

Función INDICE para obtener valores a graficar

El paso final para obtener los datos a graficar es copiar la fórmula que he colocado en la celda A8 hacia la derecha de manera que podamos obtener también los valores de todos los trimestres para la región:

Datos de gráfica obtenidos con la función INDICE

Finalmente observa cómo al copiar la fórmula hacia la derecha, en la fila 8 de la hoja, obtengo todos los datos correspondientes a la región. Estos datos cambiarán automáticamente al seleccionar un nuevo valor de la lista:

Obtener datos de acuerdo a la selección de la lista

Crear el gráfico

Como tal vez lo puedes imaginar, solo debemos crear un gráfico que tenga su fuente de datos en las celdas de la fila 8 que son las que cambian con la selección de la lista. Así que solo selecciono el rango A8:E8 e inserto un gráfico de barras.

Gráfica de Excel controlada por lista desplegable

Esto será suficiente para tener el resultado mostrado al inicio de este artículo. Si lo deseas puedes descargar el libro de Excel que utilicé en la creación de este ejemplo.