Traducir el blog

Buscador de Emojis en Excel

Posted on enero 24, 2022 by Excel Pedro Wave

Aprovechando el interés que ha suscitado el artículo sobre:

Caracteres Unicode Emoji en Excel | #ExcelPedroWave

he creado un nuevo Buscador de Emojis en Excel para poder:

👉 Buscar el texto de los Emojis en español e inglés.

👉 Usar un cuadro combinado (ComboBox control ActiveX) para buscar letra a letra en Excel para escritorio. En Excel para la Web no funcionan los controles ActiveX.

👉 Usar validación de datos con una lista desplegable sin restricción de datos válidos.

👉 Buscar con caracteres comodín: asterisco (*) e interrogante (?)

👉 Ordenar los resultados de la búsqueda con los Emojis encontrados.

👉 Seleccionar en un desplegable los Emojis encontrados.

👉 Cambiar el tono de piel de los Emojis que se puedan colorear.

👉 Usar únicamente fórmulas sin usar macros VBA.

👉 Diferencias entre Excel de escritorio y Excel para la Web.

En este artículo y en el siguiente explicaré cada una de las técnicas, con las que se consiguen estas funcionalidades, imprescindibles para diseñar un buen cuadro de mando (dashboard) para tu empresa o negocio.

Este es el aspecto del Buscador de Emojis:


Técnicas de diseño del buscador

Lo primero de todo es saber cómo buscar Emojis, pues todos sabemos que es imposible buscar dentro del pictograma que muestra el Emoji, por ser una imagen sin texto.

Vamos a analizar el buscador de Emojis, incorporado en Windows 10 y 11, que se abre presionando la combinación de dos teclas: Windows + . (punto)

Si inmediatamente escribimos: palm 

se muestran los 4 emojis de la derecha 👉

con las siguientes descripciones:

👏 manos aplaudiendo

🤲 palmas hacia arriba juntas

🌴 palmera

🥥 coco

Se comprueba que los dos Emojis centrales contienen el texto palm en su descripción, pero "coco" no contiene esas 4 letras buscadas, aunque si que pertenece al grupo de palmeras, y "manos aplaudiendo" tampoco contiene las 4 letras buscadas, pero "tocar las palmas" puede ser representado con ese mismo Emoji.

No he diseñado un buscador idéntico al de Windows, pues lo he limitado a buscar dentro de las descripciones de los Emojis, por lo que mi buscador no encontrará: 👏 "manos aplaudiendo" ni 🥥 "coco", cuando se busque por palm. Es una limitación de este buscador que la dejo para cuando desarrolle un buscador más profesional partiendo de este buscador amateur.


Extraer descripciones de Emojis

Lo primero es conseguir relacionar un Emoji con su descripción.

Encontré esa relación, con las descripciones en inglés, en la página:

Index of /Public/emoji/14.0 (unicode.org)

donde aparecen ejemplos como estos en el archivo: emoji-test.txt

Seguí buscando las descripciones en español y las encontré en las siguientes páginas:

De esta última página descargué el archivo: cldr-common-40.0.zip

que contiene muchos archivos de idiomas en formato .xml, en la carpeta: common > annotations

Los que nos interesan son:

  • en.xml para las descripciones en inglés
  • es.xml para las descripciones en español

Aunque se podrían extraer cualquiera de los otros idiomas del archivo comprimido.

En el archivo en español nos encontramos, por ejemplo, con estas descripciones:

<annotation cp="🥥">coco | palmera | piña colada</annotation> <annotation cp="🥥" type="tts">coco</annotation>

Donde aparece "palmera" relacionada con "coco", por eso se encuentra, como habíamos sospechado...

En estas otras dos líneas se puede leer:

<annotation cp="👏">aplaudir | manos | manos aplaudiendo | palmas | señal</annotation>

<annotation cp="👏" type="tts">manos aplaudiendo</annotation>

Vemos que la primera línea contiene "palmas" y varias palabras más, que es lo que encontró el buscador de Emojis de Windows. En la segunda línea sólo hay una descripción "manos aplaudiendo" que es la que usaremos en este nuevo buscador, por lo que he filtrado las líneas con: type="tts"

Los Emojis y sus descripciones únicas los he cargado en la hoja 'Unicode', de modo semiautomático. Como la extracción se hace una sola vez, no he guardado la conexión externa en el archivo que se puede descargar más abajo.

Al filtrar la columna "Descripción" por palm se encuentran estos 4 Emojis:

pero no aparecen "coco" y "manos aplaudiendo", como era de esperar, pues no hemos añadido referencias a esas descripciones.

Vemos que aparecen dos Emojis sin símbolo, marcados con una letra "N" en la columna de "Color", que indican que contienen una descripción pero Excel no es capaz de representar el Emoji asociado, seguramente debido a que no incorpora aún las versiones que soportan esos Emojis...

Cuando en la columna "Color" se informa con la letra "C", quiere decir que a ese Emoji es posible cambiarle el tono de piel... Cuando no hay ninguna letra los colores de los Emojis no pueden cambiar.

La hoja 'Unicode' contiene 1.801 caracteres Emoji Unicode en 8 columnas:

  • Unicode Hex: Número hexadecimal del carácter Unicode.
  • Unicode Dec: Número decimal del carácter Unicode.
  • Segoe UI Emoji: Fuente de caracteres Emoji.
  • Segoe UI Symbol: Fuente de símbolos Unicode.
  • Calibri: Fuente de texto Calibri.
  • Color: Si "C" indica que al Emoji se le puede añadir un tipo de piel. Si "N" que no existe.
  • Description: Descripción en inglés del Emoji.
  • Descripción: Descripción en español del Emoji.

Como ejemplo la fila del Emoji "mujer":


Transformar descripciones de Emojis

Ahora hace falta transformar esas descripciones de los Emojis en unas tablas que sean fáciles de buscar.

La hoja 'Aux' contiene 3 tablas, cada una de ellas con 1.801 filas ordenadas alfabéticamente:

  • TablaDescripciones: Con los números decimales de los caracteres Unicode que contienen descripciones en español.
  • TableDescriptions: Con los números decimales de los caracteres Unicode que contienen descripciones en inglés.
  • TablaDesc: Con las descripciones en español o inglés, según el idioma elegido.

Las dos primeras tablas tienen 3 columnas auxiliares con las que ordenar las descripciones encontradas:

  • Aux1: Con el número de fila según la fórmula: =FILAS($D$2:[@Descripción])
  • Aux2: Con una fórmula para hallar el número de fila de un texto en la descripción, sin distinguir entre mayúsculas y minúsculas, y pudiendo usar caracteres comodín (* o ?) en MiBuscador:  =SI(ESNUMERO(HALLAR(MiBuscador;[@Descripción]));[@Aux1];"")
  • Aux3: Ordena las filas con la fórmula: =SI.ERROR(K.ESIMO.MENOR([Aux2];[@Aux1]);"")

Esta última columna servirá para ordenar los Emojis encontrados en la hoja 'Emojis' que se explica a continuación.

Hacen falta estas 3 columnas auxiliares en las dos tablas de descripciones, 3 para buscar en español y otras 3 para buscar en inglés.


Cargar descripciones de Emojis

La hoja 'Emojis' es el tablero de mandos de este Buscador de Emojis en Excel, con esta apariencia cuando se selecciona el idioma español:

En la celda A1 se selecciona el idioma: Español o English.

En la celda B1 una validación de datos con lista desplegable (columna A de la hoja 'Aux') permite buscar en Excel para la Web, en sustitución del cuadro combinado (ComboBox control ActiveX) que no funciona en Excel Online.

Se pueden introducir los caracteres comodines: asterisco (*) para encontrar cualquier secuencia de caracteres; interrogante (?) para encontrar cualquier carácter. No es sensible a mayúsculas ni minúsculas.

◀ Ver imagen animada rellenando letra a letra el cuadro combinado (ComboBox control ActiveX), que solamente funciona en Excel para escritorio, y hace lo mismo que la celda B1 a la que está referenciada, pero es capaz de modificar esa celda cada vez que se pulsa una tecla introduciendo un carácter en la búsqueda cada vez.

O sea, buscar letra a letra, ¡esta es la gracia de este buscador!

La hoja 'Emojis' contiene las siguientes columnas:

  • A2: celda para seleccionar uno de los Emojis y verlo en tamaño más grande, en color en Excel para la Web y en blanco y negro en Excel para escritorio.
  • A: es una copia de los Emojis de la columna E, pero con la fuente de texto: Segoe UI Emoji
  • B: es la descripción del Emoji, con la fórmula: =SI.ERROR(SI(MiIdioma="Español";INDICE(TablaDescripciones[Descripción];Aux!$G2;1);INDICE(TableDescriptions[Description];Aux!$M2;1));"")
  • C: es el código Unicode hexadecimal, con la fórmula:  =SI.ERROR(DEC.A.HEX($D3);"")
  • D: es el código Unicode decimal, con la fórmula: =SI.ERROR(SI(MiIdioma="Español";INDICE(TablaDescripciones[Unicode Dec];Aux!$G2;1);INDICE(TableDescriptions[Unicode Dec];Aux!$M2;1));"")
  • E: es el carácter con el Emoji en fuente Calibri, obtenido con la fórmula: =SI($G3="N";"";SI.ERROR(UNICAR($D3) &SI($G3="C";MiTonoPiel;"");""))
  • F: Es el número de fila con la fórmula: =FILAS($F$3:F3)
  • G: Es el carácter Emoji mediante un gráfico en color con los Emojis, y con la letra "C" para los Emojis a los que se les puede añadir un tono de piel, y con la letra "N" si no existe el Emoji.
  • H2: Celda con un gráfico en color del Emoji seleccionado en la celda A2.
  • I2: Celda para elegir el tono de piel de los Emojis que estén marcados con una letra "C" en la columna G.
  • I: Emojis con los 5 tonos de piel y nada si el color elegido es el neutro.
  • J: Los distintos tipos de tonos de piel.

TRUCO: En Excel para escritorio salen en color los Emojis de la celda H2 y de la columna G, ¡por no estar los Emojis en celdas! ¡sino en gráficos!

AVISO: En Excel para escritorio salen en blanco y negro los Emojis de las celdas. En Excel Online salen en color los Emojis de las celdas.


Descargar el Buscador de Emojis

El archivo tiene las hojas protegidas sin contraseña y se puede descargar desde cualquiera de estos enlaces:

Esta plantilla no contiene macros y todo el cálculo se realiza ¡con fórmulas 🏎🏁!


Vídeo del Buscador de Emojis

📹 En este vídeo explico cómo usar el nuevo buscador de #Emojis en #Excel.


👨‍💻 Para explicar cómo he conseguido que el desplegable de la celda A2 no contenga blancos en la lista de Emojis 💦 escribiré un nuevo artículo, pues considero que es una técnica imprescindible para llegar a ser un experto en Excel 📊

No Response to "Buscador de Emojis en Excel"

Leave A Reply

Dime si te gusta lo que lees y, si no te gusta, dime por qué. Tengo habilitada la moderación de comentarios. Tu comentario se publicará pronto.

Mi lista de blogs