Cómo encontrar caracteres especiales en una cadena en Excel

Tabla de contenido:

Anonim

Sabemos que las funciones TRIM y CLEAN Excel se utilizan para limpiar caracteres no imprimibles y espacios adicionales de cadenas, pero no ayudan mucho a identificar cadenas que contienen caracteres especiales como @ o! etc. En tales casos utilizamos UDF.

Entonces, si desea saber si una cadena contiene caracteres especiales, no encontrará ninguna fórmula o función de Excel para hacerlo. Podemos encontrar los caracteres especiales que están en el teclado escribiendo manualmente, pero no puede saber si hay símbolos en la cadena o no.

Encontrar caracteres especiales puede ser muy importante para fines de limpieza de datos. Y en algunos casos, debe hacerse. Entonces, ¿cómo hacemos esto en Excel? ¿Cómo podemos saber si una cadena contiene caracteres especiales? Bueno, podemos usar UDF para hacerlo.

La siguiente fórmula devolverá VERDADERO si alguna celda contiene cualquier carácter que no sea 1 a 0 y A a Z (en ambos casos). Si no encuentra ningún carácter especial, devolverá FALSO.

Fórmula genérica

= Contiene caracteres especiales (cadena)

Cuerda: La cadena que desea verificar en busca de caracteres especiales.

Para que esta fórmula funcione, deberá colocar el siguiente código en el módulo de su libro de trabajo.

Así que abre Excel. Presione ALT + F11 para abrir VBE. Inserte un módulo del menú Insertar. Copie el código a continuación y péguelo en el módulo.

La función contiene caracteres especiales (str como cadena) como booleano para I = 1 a Len (str) ch = Mid (str, I, 1) Seleccione Case ch Case "0" a "9", "A" a "Z", "a "To" z "," "ContainsSpecialCharacters = Caso falso Else ContainsSpecialCharacters = Verdadero Salir para el final Seleccione Siguiente función de fin

Ahora la función está lista para usarse.
Vaya a la hoja de trabajo en el libro de trabajo que contiene las cadenas que desea verificar.

Escriba la siguiente fórmula en la celda C2:

= Contiene caracteres especiales (B13)

Devuelve VERDADERO para la primera cadena ya que contiene un carácter especial. Cuando copia la fórmula, muestra FALSO para la cadena B14 y así sucesivamente.

Pero extrañamente muestra TRUE para la última cadena "Exceltip.com". Es porque contiene un punto (.). ¿Pero por qué es así? Examinemos el código para entenderlo.

¿Cómo funciona la función?

Estamos iterando a través de todos los caracteres de la cadena usando el bucle For y la función mid de VBA. La función Mid extrae un carácter a la vez de la cadena y lo almacena en la variable ch.

Para I = 1 A Len (str) ch = Mid (str, I, 1) 

Ahora viene la parte principal. Usamos la instrucción select case para verificar qué contiene la variable ch.

Le decimos a VBA que compruebe si ch contiene alguno de los valores definidos. He definido 0 a 9, A a Z, a a z y "" (espacio). Si c
h contiene cualquiera de estos, establecemos su valor en False.

Seleccione Case ch Case "0" a "9", "A" a "Z", "a" a "z", "" ContainsSpecialCharacters = False 

Puede ver que no tenemos un punto (.) En la lista y es por eso que obtenemos VERDADERO para la cadena que contiene el punto. Puede agregar cualquier carácter a la lista para estar exento de la fórmula.

Si ch contiene cualquier carácter que no sean los caracteres enumerados, establecemos el resultado de la función en Verdadero y finalizamos el ciclo allí mismo.

El caso contrario contiene caracteres especiales = salida verdadera para 

Así que sí, así es como funciona. Pero si desea limpiar caracteres especiales, deberá realizar algunos cambios en la función.

¿Cómo limpiar caracteres especiales de cadenas en Excel?

Para limpiar caracteres especiales de una cadena en Excel, he creado otra función personalizada en VBA. La sintaxis de la función es:

= CleanSpecialCharacters (cadena)

Esta función devuelve una versión limpia de la cadena que se le pasó. La nueva cadena no contendrá ninguno de los caracteres especiales.

El código de esta función es el siguiente:

Función CleanSpecialCharacters (str As String) Dim nstr As String nstr = str For I = 1 To Len (str) ch = Mid (str, I, 1) Seleccione Case ch Case "0" To "9", "A" To " Z "," a "A" z "," "'No hacer nada Caso de otro modo nstr = Reemplazar (nstr, ch," ") Finalizar Seleccionar Siguiente CleanSpecialCharacters = nstr Finalizar Función 

Copie esto en el mismo módulo que copió en el código anterior.

Cuando usa esta fórmula en las cadenas, así es como serán los resultados:

Puede ver que todos los caracteres especiales se eliminan de la cadena, incluido el punto.

¿Como funciona?

Funciona igual que la función anterior. La única diferencia es que esta función reemplaza cada carácter especial con un carácter nulo. Forma una nueva cadena y devuelve esta cadena.

Seleccione Case ch Case "0" a "9", "A" a "Z", "a" A "z", "" 'ContainsSpecialCharacters = False Case De lo contrario nstr = Reemplazar (nstr, ch, "") Fin Seleccionar 

Si desea eximir a cualquier personaje de ser limpiado, puede agregarlo a la lista en el código. Excel perdonará ese carácter especial.

Así que sí, chicos, así es como pueden encontrar y reemplazar caracteres especiales de una cadena en Excel. Espero que esto haya sido lo suficientemente explicativo y útil. Si no le ayuda a resolver su problema, háganoslo saber en la sección de comentarios a continuación.

Cómo usar la función TRIM en Excel: La función TRIM se utiliza para recortar cuerdas y limpiar los espacios iniciales o finales de la cuerda. Esto nos ayuda mucho en el proceso de limpieza de datos.

Cómo usar la función LIMPIAR en Excel: La función de limpieza se utiliza para limpiar los caracteres no imprimibles de la cadena. Esta función se utiliza principalmente con la función TRIM para limpiar datos extranjeros importados.

Reemplazar texto desde el final de una cadena comenzando desde la posición variable: Para reemplazar el texto del final de la cadena, usamos la función REPLACE. La función REPLACE usa la posición del texto en la cadena para reemplazarlo.

Cómo verificar si una cadena contiene uno de muchos textos en Excel: Para comprobar si una cadena contiene texto múltiple, usamos esta fórmula. Usamos la función SUM para resumir todas las coincidencias y luego realizamos una lógica para verificar si la cadena contiene alguna de las múltiples cadenas.

Contar celdas que contienen texto específico: Una simple función CONTAR.SI hará la magia. Para contar el número de celdas múltiples que contienen una cadena dada, usamos el operador comodín con la función CONTAR.SI.

Excel REEMPLAZAR vs SUSTITUIR función: Las funciones REEMPLAZAR y SUSTITUIR son las funciones más incomprendidas. Para buscar y reemplazar un texto dado usamos la función SUSTITUIR. Donde REPLACE se usa para reemplazar una cantidad de caracteres en una cadena …

Articulos populares:

50 accesos directos de Excel para aumentar su productividad | Acelera tu tarea. Estos 50 accesos directos le permitirán trabajar aún más rápido en Excel.

Cómo utilizar la función BUSCARV de Excel| Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas.

Cómo usar Excel Función COUNTIF| Cuente valores con condiciones usando esta asombrosa función. No necesita filtrar sus datos para contar valores específicos. La función Countif es esencial para preparar su tablero.

Cómo usar la función SUMIF en Excel | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.