Eliminar caracteres no alfanuméricos en Excel

Cuando se obtienen datos sin procesar de Excel, a veces se encuentra que el texto, los números y los caracteres no alfanuméricos están mezclados y es necesario eliminar los caracteres no alfanuméricos antes de poder trabajar con los datos.

Una forma de eliminar los caracteres no alfanuméricos sería recorrer el conjunto de datos celda por celda y eliminarlos, pero este método no es práctico, especialmente cuando se trata de conjuntos de datos grandes.

En este tutorial se describen algunos métodos para eliminar fácilmente los caracteres no alfanuméricos del conjunto de datos.

Dos métodos para eliminar caracteres no alfanuméricos en Excel

Los dos métodos siguientes son algunos de los enfoques que puede utilizar para eliminar caracteres no alfanuméricos en Excel:

  1. Utilizar la función SUSTITUIR de Excel.
  2. Utilizar la función definida por el usuario de Excel.

MÉTODO 1 – Utilizar la función SUSTITUIR de Excel

Si su conjunto de datos contiene sólo un tipo de carácter no alfanumérico, puede utilizar la función SUSTITUIR para sustituirlos por cadenas vacías.

He aquí un ejemplo de un conjunto de datos con un único tipo de carácter no alfanumérico, el asterisco (*) :

Utilizaremos la función SUBSTITUTE para sustituir los asteriscos (*) por cadenas vacías:

Paso 1- Introduce la fórmula =SUBSTITUIR(A2, » * «,» «) en la celda B2:

Paso 2 – Pulsa Intro :

Paso 3 – Utiliza el tirador de relleno de la celda B2 para arrastrar la fórmula hacia abajo y copiarla en el resto de celdas vacías del conjunto de datos:

Todos los asteriscos (*) se han sustituido por cadenas vacías.

Funciones SUBSTITUIR anidadas

La función SUSTITUIR no puede reemplazar más de un carácter no alfanumérico a la vez.

Si su conjunto de datos contiene al menos dos tipos de caracteres no alfanuméricos, puede utilizar al menos dos funciones SUBSTITUTE anidadas para eliminarlos.

Por ejemplo, si desea eliminar 2 tipos de caracteres no alfanuméricos, utilice 2 funciones SUBSTITUTE anidadas, y si desea eliminar 3 tipos, utilice 3 funciones SUBSTITUTE anidadas.

El siguiente conjunto de datos contiene dos tipos de caracteres no alfanuméricos: el asterisco (*) y la almohadilla (#) :

Utilizaremos 2 funciones SUBSTITUTE anidadas para eliminar los caracteres no alfanuméricos en los siguientes pasos:

Paso 1 – Introduce la fórmula =SUBSTITUTE(SUBSTITUTE(A2, » * «,» «), » # «,» «) en la celda B2:

Paso 2 – Pulse Intro y arrastre el controlador de relleno hacia abajo para rellenar las celdas vacías con la fórmula :

Los caracteres no alfanuméricos se han sustituido por cadenas vacías.

Puedes seguir añadiendo más y más funciones SUBSTITUTE anidadas a tu fórmula dependiendo de cuántos caracteres no alfanuméricos quieras eliminar. Pero cuantas más funciones SUSTITUIR añada, más pesada será la fórmula.

Una forma más práctica de eliminar todos los caracteres no alfanuméricos a la vez es utilizar funciones definidas por el usuario.

Ver también: Usar Excel VLOOKUP para devolver varios valores verticalmente

MÉTODO 2 – Utilizar una función definida por el usuario

Para eliminar todos los caracteres no alfanuméricos de tu conjunto de datos, necesitas escribir una macro VBA de Excel siguiendo los siguientes pasos:

Paso 1- En la pestaña Desarrollador, haz clic en el comando Visual Basic o pulsa Alt + F8:

Aparecerá la ventanadel Editor de Visual Basic (VBE ).

Paso 2- Haz clic en Insertar>>Módulo para crear un nuevo módulo:

Se creará un nuevo módulo:

Paso 3 – En el nuevo módulo, introduzca el siguiente código y haga clic en el botón Guardar :

Función RemoveNonAlphaN(str As String) As String Dim ch, bytes() As Byte: bytes = str For Each ch in bytes If Chr(ch) Like "[A-Z.a-z 0-9] " _ Then RemoveNonAlphaN = RemoveNonAlphaN & Chr(ch) Next ch End Function

Paso 4 – Haga clic en el botón Ver Microsoft Excel o pulse la combinación de teclas Alt + F11 para volver a la hoja de cálculo actual. Introduzca la fórmula =RemoveNonAlphaN(A2) en la celda B2 del conjunto de datos que estamos utilizando como ejemplo:

Paso 5 – Introducir y arrastrar hacia abajo utilizando el tirador de relleno:

Se eliminarán todos los caracteres no alfanuméricos.

Conclusión

En este tutorial, hemos presentado dos métodos que puede utilizar para eliminar caracteres no alfanuméricos de su conjunto de datos. Puede utilizar el método que más le convenga.