6 de junio de 2009

ELEGIR LAS SERIES DE TU GRAFICO EXCEL CON UN CHECKBOX

Tienes los datos listos y has hecho el gráfico correcto. Sin embargo el resultado es confuso y difícil de leer, pero no quieres hacer cuatro gráficos distintos si puedes evitarlo.

image

¡Ah, si pudiera elegir qué series mostrar u ocultar en mi gráfico con un par de clicks!…

image

Pues nada más fácil, vamos a ello:

Esta técnica, en resumen, se basa en dos pasos: 1) Crear una nueva tabla de datos, cuyos valores solo se usarán en el gráfico si el usuario selecciona una serie concreta; y 2) crear checkboxes para poder elegir entre las diversas series.

1) Tabla de datos auxiliar y restricción de series mostradas:

El objetivo es replicar la tabla de datos original, de forma que cada serie de datos (Agencia 1, Agencia 2, etc) solo muestre datos si yo quiero que lo haga. Para eso usaremos el valor VERDADERO/FALSO como determinante en una fórmula condicional de Excel.

De momento fíate de mí. Copia los encabezados de tu tabla original (los meses, y los nombres de las series), y escribe la fórmula que indico en la primera celda de datos: =SI($A11;C3;NOD()).

image

Lo que viene la decir la fórmula es: Mira en la celda A11, y si ésta dice VERDADERO copia el valor que hay en la C3, pero si dice FALSO usa NOD().

Nota: Lo que hace NOD() es decirle a Excel que no es un número, y la celda mostrará #N/A. Esto es muy importante, porque no aparece en los gráficos de Excel, que es lo que queremos exactamente.

Ahora copia esa fórmula en toda la tabla, y prueba a escribir VERDADERO o FALSO en las celdas A11 a A14. Este será el factor determinante de que la tabla muestre valores en cada serie o no.

image

Esto marcha. Si ahora seleccionas el recuadro amarillo y haces un gráfico Excel, las series correspondientes a Agencia 2 y Agencia 3 no se mostrarán, porque contienen #N/A.

2) Añadir la forma de seleccionar las series a mostrar:

Ahora veamos cómo hacer para que los valores VERDADERO y FALSO (que determinan qué series tendrán valores y por tanto se muestren en el gráfico) sean definibles por el usuario.

Excel permite incluir Controles en sus hojas de cálculo. Uno de ellos es el Checkbox, que no es más que un cuadrado en el que puedes pinchar para activarlo o desactivarlo. Si no hay usado nunca Controles pensarás que es difícil, pero te aseguro que no. Empecemos por mostrar dos Barras de Herramientas de Excel si no las tienes ya activadas (menú Ver > Barras de Herramientas, y selecciona las barras de Visual Basic y Cuadro de Controles). Son estas dos:

image

Pincha en el penúltimo icono de la barra de Visual Basic (éste habilita el trabajo en Modo Diseño, que es el que permite editar y modificar los Controles en una hoja de cálculo), y luego usando el cuarto icono de la barra de Cuadro de Controles podrás insertar un Checkbox en tu hoja de cálculo. Inserta cuatro uno debajo de otro, así:

image

Ahora pincha con el botón derecho en uno de ellos, y del menú desplegable elige Propiedades. Te saldrá un cuadro lleno de datos, pero solo necesitarás completar un par.

image

Solo tienes que cambiar dos campos, pinchando en la columna de la derecha:

  • Caption: Es el nombre que mostrará el checkbox. Ponle a cada uno Agencia 1, Agencia 2, etc.
  • Linked cell: Este es el más importante. Sirve para que cuando el checkbox esté seleccionado, la celda que pongas en este campo muestre el valor VERDADERO. Si no, aparecerá el FALSO. [A estas alturas seguro que ya te has dado cuenta de a dónde quiero llegar]. Para Agencia 1 el valor de Linked cell será A11, para Agencia 2 será A12, etc.

Si todo ha ido bien, tienes algo parecido a esto de abajo:

image

Y si ahora sales del Modo Diseño (pincha en el penúltimo icono de la barra de Visual Basic), ahora puedes jugar a activar y desactivar cada checkbox, y comprobarás que las celdas enlazadas a cada uno (de A11 hasta A14) cambian su valor respondiendo a tus selecciones, lo mismo que las series que aparecen en el gráfico.

Ahora es cuestión de gusto, yo he decidido bajar un poco el gráfico y situarlo junto a los checkbox. Con eso ya tenemos listo nuestro gráfico en el que podemos elegir qué series mostrar:

image

Me dejo unas cuantas cosas en el tintero, quizá vuelva otro día con un post complementario (cómo hacer que la Leyenda del gráfico no muestre las series que no están, cómo dejar fija una serie que no pueda omitirse, cómo combinar otros tipos de gráfico…).

3 comentarios:

  1. En primer lugar decirte que me parece muy bueno tu blog sobre excel, estuve leyendo algunas cosas que a mi me tocó sacar hace tiempo a fuerza de investigar el excel, que es todo un mundo, yo me considero un usuario "medio-avanzado" de excel, y tengo un problema, tengo un grafico digamos que muy avanzado, puedo seleccionar en el eje de las x desde donde hasta donde, ocultando y desocultando con macros para que me dibuje el periodo que necesito, casillas seleccionables para los restaurantes, pero tengo una GRAN duda.
    Ahí va, yo hago que la leyenda me quite los espacios en blanco con macros, igual, ordenando y ocultando filas, pero me gustaria saber si hay alguna manera que excel no te represente, y no aparezcan en la leyenda una fila cuando yo la dejo sin seleccionar, gracias y un saludo.
    Pd: si fueses tan amable de reenviarme la respuesta al correo, o avisarme que me has respondido porque se me olvida leerlo, ismael_arg@hotmail.com
    Muchas gracias

    ResponderEliminar
  2. me queda una duda? si alguna de las agencias empezara funciones en marzo y se quisieran dejar enero y febrero libres, como se logra que la línea de esta agencia empiece desde determinado mes?

    ResponderEliminar