¿Cómo eliminar caracteres no ingleses en una columna de Excel?
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
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.
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.
![]() | ![]() | ![]() |
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.
![]() | ![]() | ![]() |
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:
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.
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.
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
Las mejores herramientas de productividad para Office
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.





- 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