sábado, 20 de junio de 2020

EXCEL: Normalizar texto

Excel formula: Normalize text

Fórmula genérica

=MINUSC(ESPACIOS(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(A1,"("," "),")"," "),"-"," "),":"," "),";"," "),"!"," "),","," "),"."," ")))

Explicación

Para eliminar parte de la complejidad natural del texto (eliminar signos de puntuación, normalizar mayúsculas y minúsculas, eliminar espacios adicionales) puede usar una fórmula basada en la función SUSTITUIR, con la ayuda de las funciones ESPACIOS y MINUSC.

Contexto

Puede haber ocasiones en las que necesite eliminar parte de la variabilidad del texto antes de otro procesamiento. Un ejemplo es cuando desea contar palabras específicas dentro de cadenas de texto más grandes. Debido a que Excel no proporciona soporte para expresiones regulares, no puede construir coincidencias precisas. Por ejemplo, si desea contar cuántas veces aparece la palabra "zorro" en una celda, terminará contando "zorros". Puedes buscar "zorro" (con un espacio) pero eso fallará con "zorro" o "zorro". Una solución alternativa es simplificar el texto primero con una fórmula en una columna auxiliar, luego ejecutar recuentos en la versión simplificada. El ejemplo en esta página muestra una forma de hacer esto.

Cómo funciona esta fórmula

La fórmula que se muestra en este ejemplo utiliza una serie de funciones SUSTITUIR anidadas para eliminar paréntesis, guiones, dos puntos, punto y coma, signos de exclamación, comas y puntos. El proceso se ejecuta de adentro hacia afuera, con cada SUSTITUIR reemplazando un personaje con un solo espacio, y luego pasando al siguiente SUSTITUIR. El SUSTITUIR más interno elimina los paréntesis izquierdos, y el resultado se entrega al siguiente SUSTITUIR, que elimina los paréntesis correctos, y así sucesivamente.

En la versión siguiente, se agregaron saltos de línea para facilitar la lectura y facilitar la edición de reemplazos. A Excel no le importan los saltos de línea en las fórmulas, por lo que puede usar la fórmula tal como está.

=
MINUSC(
ESPACIOS(
SUSTITUIR(
SUSTITUIR(
SUSTITUIR(
SUSTITUIR(
SUSTITUIR(
SUSTITUIR(
SUSTITUIR(
SUSTITUIR(
A1,
"("," "),
")"," "),
"-"," "),
":"," "),
";"," "),
"!"," "),
","," "),
"."," ")))

Después de completar todas las sustituciones, el resultado se ejecuta a través de ESPACIOS para normalizar espacios, luego la función MINUSC para forzar todo el texto a minúsculas.

Nota: Deberá ajustar los reemplazos reales para adaptarlos a sus datos.

Agregar un espacio inicial y final

En algunos casos, es posible que desee agregar un carácter de espacio al inicio y al final del texto limpio. Por ejemplo, si desea contar palabras con precisión, puede buscar la palabra rodeada de espacios (es decir, buscar "zorro", "mapa") para evitar coincidencias falsas. Para agregar un espacio inicial y final, simplemente concatene un espacio ("") al inicio y al final:

=" "&formula&" "

Donde "fórmula" es la fórmula más larga de arriba.


Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT