Skip to main content

Kutools para Office — Una Suite. Cinco Herramientas. Haz Más.

¿Cómo eliminar caracteres no ingleses en una columna de Excel?

Author Sun Last modified

Gestionar datos en Excel a menudo requiere limpiar texto, especialmente cuando se trabaja con listas que podrían incluir caracteres no deseados o inconsistentes. Por ejemplo, puede tener una columna de nombres o entradas donde algunas celdas contienen caracteres no ingleses, como letras acentuadas, símbolos especiales o escrituras extranjeras, que necesita eliminar para cumplir con los requisitos de consistencia de datos o para su posterior procesamiento.

Eliminar tales caracteres manualmente puede ser muy laborioso y propenso a errores, especialmente al manejar grandes conjuntos de datos. Para resolver esto de manera eficiente, Excel proporciona varios enfoques: puede usar scripts VBA para eliminar automáticamente filas que contengan cualquier carácter no inglés, o puede limpiar los datos in situ eliminando caracteres no ingleses del texto mientras mantiene intacta la estructura de los datos. Aquí presentamos dos soluciones prácticas para ayudarte a manejar estos escenarios.

Eliminar filas que contienen caracteres no ingleses mediante VBA

Eliminar caracteres no ingleses de cadenas usando Kutools para Excel

Eliminar caracteres no ingleses usando fórmulas de Excel

Eliminar caracteres no ingleses del texto de las celdas usando VBA


Eliminar filas que contienen caracteres no ingleses mediante VBA

Si necesita eliminar por completo filas enteras que contengan cualquier carácter no inglés de una columna particular en Excel, usar un script VBA puede automatizar este proceso. Este enfoque es especialmente adecuado cuando desea asegurarse de que solo queden celdas con caracteres alfabéticos ingleses estándar, y cualquier celda con caracteres extranjeros o símbolos especiales resultará en la eliminación de toda la fila. Este método es particularmente útil para preparar conjuntos de datos limpios para importar en sistemas que solo aceptan caracteres ingleses estándar.

Sin embargo, tenga en cuenta la limitación de que este método se aplica a una columna a la vez; debe ejecutar el script por separado para cada columna si desea aplicarlo en otro lugar. Además, una vez ejecutado, las filas eliminadas no se pueden recuperar a menos que haya creado una copia de seguridad o pueda usar la función Deshacer.

Aquí hay una guía paso a paso:

1. Abra su libro de Excel, active la hoja de trabajo que contiene la columna que desea procesar y presione Alt + F11 para abrir la ventana de Microsoft Visual Basic for Applications. Esto le permite acceder al entorno de programación VBA integrado en Excel.

2. En el editor VBA, haga clic en Insertar > Módulo para crear un nuevo módulo, luego copie y pegue el siguiente código VBA en la ventana de código que aparece:

VBA: Eliminar caracteres no ingleses

Sub RemoveNonEnglish()
'UpdatebyExtendoffice20171204
    Dim xRg As Range
    Dim xCell As Range
    Dim I As Long
    Dim J As Long
    Dim xRows As Long
    Dim xAsc As Long
    On Error Resume Next
    Set xRg = Application.InputBox("Select single column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    xRows = xRg.Rows.Count
    Set xRg = xRg(1)
    For I = 1 To xRows
        Set xCell = xRg.Offset(I - 1)
        If xCell.Value <> "" Then
            For J = 1 To Len(xCell.Value)
                xAsc = Asc(UCase(Mid(xCell.Value, J, 1)))
                If xAsc < 65 Or xAsc > 90 Then
                    xCell.EntireRow.Delete
                    I = I - 1
                    Exit For
                End If
            Next
        End If
    Next
    Application.ScreenUpdating = True
    MsgBox "Completed...", vbInformation
End Sub

A screenshot of the pasted code in the created module

3. Presione F5 o haga clic en el botón Ejecutar para ejecutar el código. Aparecerá un cuadro de diálogo pidiéndole "Seleccionar una sola columna". Use el mouse para seleccionar la columna que desea procesar en su hoja de cálculo, luego haga clic Aceptar.
A screenshot showing selection of a column in the VBA script for removing non-English characters

4. Confirme su selección haciendo clic Aceptar en los cuadros de diálogo subsiguientes. El script revisará cada celda en la columna seleccionada. Si detecta algún carácter que no sea una letra inglesa mayúscula o minúscula (A-Z), eliminará toda la fila que contenga esa celda. Después de completar, verá un mensaje indicándole que el proceso ha terminado.
A screenshot of the confirmation dialog

A screenshot showing an Excel column with non-English characters Arrow right A screenshot showing an Excel column after non-English characters have been removed

Nota: Este script VBA solo funciona para la selección de una sola columna a la vez. Se recomienda guardar su libro antes de ejecutar el código, ya que las filas eliminadas no se pueden restaurar después de la operación. Si sus datos son grandes o contienen formato especial, se sugiere encarecidamente crear una copia de seguridad previamente.

Consejos de solución de problemas: Si ve un mensaje de error o parece que nada sucede, verifique que haya seleccionado una columna válida y solo una columna (no un rango que abarque múltiples columnas). Debe estar habilitado VBA para que este script funcione. Si el editor VBA está bloqueado o restringido en su entorno, considere habilitar permisos o usar un método alternativo.

Aplicabilidad: Este enfoque es mejor si desea asegurarse de que sus datos incluyan solo entradas con puras letras inglesas, y no necesita conservar filas que contengan caracteres especiales o de idiomas extranjeros. Sin embargo, si su propósito es retener los datos eliminando simplemente los caracteres no ingleses, pero sin eliminar filas completas, considere usar la solución Kutools u otros métodos a continuación.


Eliminar caracteres no ingleses de cadenas usando Kutools para Excel

Si desea limpiar texto eliminando caracteres no ingleses dentro de las celdas, sin eliminar ninguna fila, la función Eliminar Caracteres en Kutools para Excel ofrece una solución rápida y práctica. Esto es adecuado para escenarios donde desea mantener la estructura general de los datos pero eliminar cualquier carácter especial, acentuado o de lenguajes extranjeros dentro de las cadenas, dejando visibles solo letras inglesas regulares.

Por ejemplo, este enfoque es ideal para estandarizar nombres, códigos de productos o cualquier entrada alfanumérica que pueda haber sido ingresada incorrectamente o copiada de fuentes externas, lo que resulta en la presencia de varios símbolos o caracteres no ingleses. En comparación con la limpieza manual, esto reduce el riesgo de omitir caracteres no deseados y acelera el proceso.

A screenshot of an Excel column containing non-English characters before cleanup Arrow right A screenshot of the Excel column after using Kutools to remove non-English characters
Kutools para Excel ofrece más de 300 funciones avanzadas para simplificar tareas complejas, potenciando la creatividad y la eficiencia. Integrado con capacidades de inteligencia artificial, Kutools automatiza las tareas con precisión, haciendo que la gestión de datos sea sencilla. Información detallada de Kutools para Excel...  Prueba gratuita...

1. Seleccione el rango que contiene las cadenas de texto que desea limpiar, luego vaya a la pestaña Kutools en la cinta de Excel, haga clic en Texto, y elija Eliminar Caracteres del menú desplegable. Consulte la captura de pantalla a continuación para referencia:
A screenshot of Kutools Remove Characters option under Text menu in Excel

2. En el cuadro de diálogo Eliminar Caracteres que aparece, marque la opción para No-alfabético (que apunta a caracteres no alfabéticos, incluidos dígitos, puntuación y símbolos especiales o no ingleses). El panel de Vista Previa se actualiza automáticamente para mostrarle cómo se verá el texto después de eliminar los caracteres no ingleses y especiales.
A screenshot of Remove Characters dialog showing options for removing non-English characters

3. Después de confirmar que la vista previa cumple con sus expectativas, haga clic Aceptar. Todos los caracteres no ingleses (es decir, cualquier cosa que no sea una letra inglesa estándar) se eliminan instantáneamente del rango seleccionado, mientras que el resto de sus datos permanece intacto.
A screenshot of the Excel column after using Kutools to remove non-English characters

Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora

Si con frecuencia necesita limpiar texto en Excel, el enfoque de Kutools proporciona una interfaz visual amigable para el usuario y procesa rangos de datos grandes de manera eficiente con solo unos pocos clics. También ofrece soporte para deshacer, por lo que puede revertir rápidamente los cambios si los resultados no cumplen con sus necesidades.

Consejos y precauciones: La opción 'No-alfabético' también eliminará cualquier número o signo de puntuación especial en el texto. Si necesita conservar números u otros caracteres específicos, experimente con diferentes casillas de verificación en el cuadro de diálogo hasta obtener el resultado deseado. Siempre revise el panel de vista previa para confirmar el efecto antes de presionar Aceptar.

Comparación: Este método es más flexible que la eliminación de filas mediante VBA ya que solo elimina caracteres no deseados, no toda la fila, siendo así menos destructivo y más seguro si existe algún riesgo de perder información importante asociada a cada fila.


Eliminar caracteres no ingleses usando fórmulas de Excel

Si no tiene acceso a Kutools o prefiere no usar VBA, también puede usar una fórmula de Excel para eliminar caracteres no ingleses (es decir, cualquier cosa que no sea una letra del alfabeto inglés) del texto en una celda. Este enfoque es adecuado para situaciones donde desea una solución basada en fórmulas no destructiva que pueda aplicarse a cada fila y copiarse fácilmente a otras celdas.

1. Ingrese la siguiente fórmula de matriz en la primera celda de su columna de salida (por ejemplo, B1 si sus datos originales están en la columna A):

=TEXTJOIN("",TRUE,IF((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=65)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=90)+(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=97)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=122),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),""))

Esta fórmula verifica cada carácter en la celda A1, lo conserva solo si es una letra mayúscula (A-Z) o minúscula (a-z) en inglés, y une el resultado en una cadena limpia.

2. Después de escribir esta fórmula, presione Ctrl+Shift+Enter (para versiones de Excel anteriores a Office 365; en Office 365 y posteriores, simplemente puede presionar Enter). Copie la fórmula hacia abajo para todas las filas relevantes arrastrando el controlador de relleno o haciendo doble clic en la esquina inferior derecha de la celda.

Explicación de parámetros: Esta fórmula utiliza las funciones MID, CODE (que devuelve el código ASCII), INDIRECT y ROW para procesar cada carácter en la celda objetivo. Solo se conservan las letras a-z o A-Z.

Precauciones: Este enfoque no altera los datos originales; las salidas son resultados de fórmulas en la columna objetivo. Si necesita valores fijos y estáticos, copie los resultados y use Pegar Valores para sobrescribir las fórmulas.

Limitaciones: La longitud del texto afecta el rendimiento de la fórmula. Este método puede no manejar correctamente grafemas Unicode de varios caracteres, por lo que algunos caracteres visualmente no ingleses pueden permanecer si están representados por secuencias Unicode compuestas.


Eliminar caracteres no ingleses del texto de las celdas usando VBA

Si desea eliminar caracteres no ingleses dentro del texto de las celdas (sin eliminar filas completas), también puede usar VBA para una automatización más personalizable. Esto es práctico para tareas de limpieza de datos que deben ejecutarse con frecuencia, y donde los complementos no son una opción.

1. Abra Excel, luego presione Alt + F11 para iniciar el editor de Microsoft Visual Basic for Applications. Vaya a Insertar > Módulo y pegue el siguiente código en la ventana del módulo:

Sub RemoveNonEnglishCharactersFromCells()
    ' Remove non-English characters, keep only a-z, A-Z
    Dim rng As Range
    Dim cell As Range
    Dim i As Long
    Dim ch As String
    Dim output As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select range to clean (cells will be altered):", xTitleId, rng.Address, Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    Application.ScreenUpdating = False
    
    For Each cell In rng
        output = ""
        For i = 1 To Len(cell.Value)
            ch = Mid(cell.Value, i, 1)
            If (Asc(ch) >= 65 And Asc(ch) <= 90) Or (Asc(ch) >= 97 And Asc(ch) <= 122) Then
                output = output & ch
            End If
        Next i
        cell.Value = output
    Next cell
    
    Application.ScreenUpdating = True
    
    MsgBox "Cleanup complete.", vbInformation
End Sub

2. Vuelva a Excel, seleccione el rango que desea limpiar, regrese al editor de VBA y ejecute el código presionando F5 o haciendo clic en el botón Ejecutar. Cuando se le solicite, seleccione el rango a procesar y confirme.

Efectos: Este código procesa cada celda seleccionada, elimina cualquier carácter que no sea una letra inglesa estándar y actualiza la celda con el resultado limpio. Los datos originales se sobrescribirán, por lo que es prudente hacer una copia de seguridad de su hoja o trabajar en una copia.

Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora

Demostración: Eliminar caracteres no ingleses de cadenas usando Kutools para Excel

 
Kutools para Excel: ¡Más de 300 herramientas prácticas a su alcance! ¡Disfrute de funciones de IA permanentemente gratis! ¡Descárguelo ahora!

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o identificar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda por varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Cree rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Los15 principales conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) ... y más
Utiliza Kutools en tu idioma preferido: admite inglés, español, alemán, francés, chino y más de40 idiomas adicionales.

Mejora tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab incorpora la interfaz de pestañas en Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!

Todos los complementos de Kutools. Un solo instalador

El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.

Excel Word Outlook Tabs PowerPoint
  • Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
  • Mejor juntos: productividad optimizada en todas las aplicaciones de Office
  • Prueba completa de30 días: sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos