Los gráficos circulares son ampliamente utilizados en Excel y en esta ocasión te mostraré un método para crear este tipo de gráfico dentro de una celda.
Es importante mencionar que, esta no es una funcionalidad predeterminada de Excel, sino que utilizaremos un tipo de fuente especial que nos permitirá utilizar estos mini gráficos en nuestros reportes o tableros de control.
Para lograr este tipo de reporte, deberás seguir 2 pasos:
- Descargar e instalar en tu equipo la fuente que nos permitirá desplegar en una celda de Excel los mini gráficos circulares.
- Debemos crear una fórmula que determinará el carácter que debe mostrarse dentro de la celda.
En la siguiente imagen puedes ver el resultado final después de haber instalado la fuente y de haber creado la fórmula que mostrará el carácter adecuado:
Instalar la fuente para los mini gráficos circulares
El primer paso es descargar la fuente que contiene los pequeños íconos de los gráficos. Esta fuente se llama “Pie Charts for maps” y contiene todos los íconos necesarios, empezando con el círculo vacío que corresponde a la letra “a” y terminando con el círculo lleno que corresponde a letra “u”.
Una vez que has descargado el archivo, deberás instalar la fuente en tu computador y eso lo podrás lograr de la siguiente manera:
- Descomprime el archivo ZIP que has descargado y accede a la carpeta.
- Haz clic derecho sobre el archivo PIE4MAP.TTF y elige la opción Instalar.
- En caso de mostrarse un cuadro de diálogo de confirmación, deberás hacer clic en Aceptar.
Con estos pasos habrás instalado la fuente necesaria para crear mini gráficos circulares en Excel. A continuación, crearemos la fórmula que nos ayudará a mostrarlos correctamente dentro de la celda.
Crear la fórmula para mostrar los mini gráficos circulares
Una vez instalada la fuente, abre la hoja de Excel donde tienes los datos que deseas graficar. En el siguiente ejemplo tengo una tabla con el porcentaje de avance para cada mes del año así que utilizaré esos porcentajes para crear el mini gráfico adecuado para cada mes.
La columna C de mi hoja contendrá los mini gráficos así que colocaré en la celda C2 la siguiente fórmula:
=CARACTER(CODIGO("a")+ENTERO(B2*100/5))
El valor de la celda B2 se multiplica por 100 porque está expresado como un porcentaje y por lo tanto es un valor entre 0 y 1. Al multiplicarlo por 100 estaremos evaluando un número entero entre 0 y 100. Esta misma fórmula deberá ser copiada a todas las celdas de la columna C donde se mostrarán los mini gráficos.
Es importante mencionar que, después de ingresar la fórmula no verás los mini gráficos, sino que la columna mostrará letras que podrán ir desde la letra “a” hasta la letra “u” tal como lo observas en la siguiente imagen:
Para ver los mini gráficos deberás seleccionar las celdas de la columna C y cambiar el tipo de fuente a “Pie Charts for maps” que es la fuente que instalamos en la sección anterior.
Listo, en este punto debes tener los gráficos circulares dentro de las celdas. Podríamos mejorar un poco la fórmula evaluando de manera anticipada la operación 100/5 y dejarla de la siguiente manera:
=CARACTER(CODIGO("a")+ENTERO(B2*20))
De manera opcional podrías aplicar formato condicional para darle el aspecto que requieres, como el color del mini gráfico, de acuerdo a los porcentajes que representan.
Explicación de la fórmula
Para entender cómo funciona la fórmula que acabamos de crear, es necesario comprender algunos detalles de la fuente “Pie charts for maps” que instalamos en nuestro equipo.
Si abrimos el Mapa de caracteres de Windows para visualizar todos los caracteres de dicha fuente, observarás que es una colección de pequeños iconos donde cada uno tiene un porcentaje de relleno diferente.
En la imagen anterior, dentro del borde rojo, se encuentra una serie completa de iconos, es decir, que comienzan desde un círculo vacío hasta un círculo lleno. Si cuentas la cantidad de iconos que contiene dicha serie te darás cuenta que son 21.
El primer carácter tiene el valor hexadecimal 0x61 que equivale al número decimal 97 y que a su vez equivale a la letra “a” en código ASCII.
Ya que tenemos 21 íconos disponibles, podemos crear la siguiente tabla en Excel comenzando por la letra “a” y hasta llegar a la letra “u” que será el equivalente al círculo lleno.
La columna B muestra los caracteres en el tipo de fuente predeterminado de Excel, que nos permite visualizar las letras de la “a” y hasta la letra “u”. Por el contrario, la columna C muestra las mismas letras del alfabeto, pero después de haber cambiado el tipo de fuente a “Pie charts for maps”.
La columna A muestra que los 21 íconos nos permitirán ir del número 0 y hasta el número 100 en intervalos de 5, y utilizaremos ese comportamiento para representar valores como los porcentajes en Excel.
Esto quiere decir que, dado un número entre 0 y 100, nuestra fórmula deberá ayudarnos a encontrar la letra correspondiente para representar el porcentaje.
Para entender la construcción de nuestra fórmula es necesario comprender el código ASCII que determina un valor numérico para cada carácter. En Excel, será la función CODIGO la encargada de obtener dicho número de código.
En la siguiente imagen puedes observar que en la columna D he utilizado la función CODIGO para obtener el código de cada uno de los caracteres de la columna C.
El primer objetivo es obtener el código ASCII de la letra que corresponde a cualquier número entre 0 y 100 y para eso utilizaré la siguiente fórmula:
=CODIGO("a")+ENTERO(G1/5)
Suponiendo que el número que me interesa evaluar se encuentra en la celda G1, la fórmula obtiene el código de la letra “a” y la función ENTERO obtendrá la parte entera de la división del número en la celda G1 entre 5.
En otras palabras, el resultado de la función ENTERO nos ayudará a obtener la cantidad de “saltos” que debemos dar a partir de la letra “a” para llegar al carácter equivalente. Si la función ENTERO devuelve cero, nos quedaremos en la letra “a”, pero si devuelve el número 20 entonces nos moveremos hasta la letra “u”.
La siguiente imagen muestra un ejemplo donde tenemos el número 50 en la celda G1 y en la celda G2 ingresamos la fórmula anterior para obtener el número 107, que corresponde al código ASCII de la letra “k” y que a la vez representa el círculo relleno al 50%.
De esta manera podemos obtener el código ASCII equivalente para cualquier valor entre 0 y 100 y solo nos faltará convertir dicho código en una letra y para eso utilizaremos la función CARACTER de la siguiente manera:
=CARACTER(CODIGO("a")+ENTERO(G1/5))
La siguiente imagen muestra la fórmula devolviendo la letra “k” que es el carácter que corresponde al círculo relleno al 50%.
Con esta fórmula podremos evaluar cualquier número entre 0 y 100 para obtener la letra del tipo de fuente “Pie charts for maps” que representará adecuadamente el porcentaje.
Por último, debo decir que una limitante de este método es que, al compartir tu archivo Excel con alguien más será muy probable que no puedan ver las gráficas de pastel dentro de las celdas porque no tendrán instalada la fuente requerida.
Para que la otra persona pueda ver los mini gráficos, tendrá que descargar e instalar la fuente en su propio equipo.
Descargar fuente “Pie charts for maps“
Descargar libro de trabajo