¿Cómo eliminar los caracteres no ingleses de una columna en Excel?
Gestionar datos en Excel suele requerir limpiar texto, especialmente al trabajar con listas que pueden contener caracteres no deseados o inconsistentes. Por ejemplo, es posible que tenga una columna de nombres o entradas en la que algunas celdas incluyan caracteres no ingleses —como letras acentuadas, símbolos especiales o escrituras extranjeras— que debe eliminar para garantizar la coherencia de los datos o facilitar su procesamiento posterior.
Eliminar manualmente dichos caracteres puede resultar muy lento y propenso a errores, especialmente al trabajar con grandes volúmenes de datos. Para resolverlo de forma eficiente, Excel ofrece varios enfoques: puede utilizar scripts de VBA para eliminar automáticamente las filas que contengan cualquier carácter no inglés, o puede limpiar los datos in situ eliminando los caracteres no ingleses del texto mientras mantiene intacta la estructura de sus datos. A continuación, le presentamos dos soluciones prácticas para ayudarle a gestionar estos escenarios.
Eliminar filas que contienen caracteres no ingleses mediante VBA
Eliminar caracteres no ingleses de cadenas de texto con Kutools para Excel
Eliminar caracteres no ingleses mediante fórmula de Excel
Eliminar caracteres no ingleses del texto de celdas mediante VBA
Eliminar filas que contienen caracteres no ingleses mediante VBA
Si necesita eliminar por completo las filas completas que contengan cualquier carácter no inglés de una columna específica en Excel, usar un script VBA puede automatizar este proceso. Este enfoque es ideal cuando quiere asegurarse de que solo permanezcan las celdas con caracteres alfabéticos estándar en inglés: cualquier celda con caracteres extranjeros o símbolos especiales hará que se elimine toda la fila. Este método resulta especialmente útil para preparar conjuntos de datos limpios destinados a su importación en sistemas que solo aceptan caracteres ingleses estándar.
No obstante, tenga en cuenta que este método solo afecta a una columna a la vez; si desea aplicarlo a otras, deberá ejecutar el script por separado para cada una. Asimismo, una vez ejecutado, las filas eliminadas no se podrán recuperar a menos que haya creado una copia de seguridad o pueda usar la función Deshacer.
A continuación, se muestra una guía paso a paso:
1. Abra su libro de Excel, active la hoja de cálculo que contiene la columna que desea procesar y pulse Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones. Así accederá al entorno de programación VBA integrado en Excel.
2. En el editor de VBA, haga clic en Insertar > Módulo para crear un nuevo módulo y, a continuación, 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. Pulse F5 o haga clic en el botón Ejecutar para ejecutar el código. Aparecerá un cuadro de diálogo que le pedirá que «Seleccione una sola columna». Utilice el ratón para seleccionar la columna que desea procesar en su hoja de cálculo y, a continuación, haga clic en Aceptar.
4. Confirme su selección haciendo clic en Aceptar en los cuadros de diálogo posteriores. El script revisará entonces cada celda de la columna seleccionada. Si detecta algún carácter que no sea una letra del alfabeto inglés (A-Z), eliminará la fila completa que contenga dicha celda. Al finalizar, aparecerá un mensaje indicando que el proceso ha concluido.
![]() | ![]() | ![]() |
Nota: Este script VBA solo funciona con una selección de una única columna cada vez. Le recomendamos guardar su libro antes de ejecutar el código, ya que las filas eliminadas no se pueden recuperar tras la operación. Si sus datos son voluminosos o incluyen formato especial, aconsejamos encarecidamente realizar una copia de seguridad previamente.
Consejos para solucionar problemas: Si ve un mensaje de error o no parece ocurrir nada, asegúrese de haber seleccionado una única columna válida (no un rango que abarque varias columnas). Para que este script se ejecute, es necesario que VBA esté habilitado. Si el editor de VBA está bloqueado o restringido en su entorno, considere habilitar los permisos correspondientes o utilizar un método alternativo.
Aplicabilidad: Este enfoque es ideal si desea garantizar que sus datos contengan únicamente entradas con letras exclusivamente inglesas y no necesita conservar las filas que incluyan caracteres especiales o de otros idiomas. Sin embargo, si su objetivo es mantener los datos eliminando solo los caracteres no ingleses —sin borrar filas completas—, considere utilizar la solución de Kutools u otros métodos que se detallan a continuación.
Eliminar caracteres no ingleses de cadenas de texto con Kutools para Excel
Si desea limpiar el texto eliminando los caracteres no ingleses dentro de las celdas —sin eliminar ninguna fila—, la función Eliminar caracteres específicos de Kutools para Excel ofrece una solución rápida y práctica. Es ideal para escenarios en los que quiere conservar la estructura general de los datos, pero eliminar símbolos especiales, letras acentuadas o caracteres de otros idiomas dentro de las cadenas, dejando únicamente las letras inglesas estándar visibles.
Por ejemplo, este enfoque es ideal para estandarizar nombres, códigos de producto o cualquier entrada alfanumérica que se haya introducido incorrectamente o copiado desde fuentes externas, lo que haya provocado la aparición de diversos símbolos o caracteres no ingleses. En comparación con la limpieza manual, reduce el riesgo de pasar por alto caracteres no deseados y acelera el proceso.
![]() | ![]() | ![]() |
1. Seleccione el rango que contiene las cadenas de texto que desea limpiar y, a continuación, vaya a la pestaña Kutools en la Cinta de opciones de Excel, haga clic en Texto y elija Eliminar caracteres específicos en el menú desplegable. Consulte la captura de pantalla siguiente como referencia:
2. En el cuadro de diálogo Eliminar caracteres específicos que aparece, active la opción No alfabéticos (dirigida a caracteres no alfabéticos, incluidos dígitos, signos de puntuación y símbolos especiales o no ingleses). El panel de Vista previa se actualiza automáticamente para mostrar cómo quedará el texto tras eliminar los caracteres no alfabéticos y especiales.
3. Tras confirmar que la vista previa cumple sus expectativas, haga clic en Aceptar. Todos los caracteres no ingleses (es decir, cualquier carácter que no sea una letra inglesa estándar) se eliminarán al instante del rango seleccionado, mientras que el resto de sus datos permanecerá intacto.
Kutools para Excel: potencie Excel con más de 300 herramientas esenciales, agilice y simplifique su trabajo, y aproveche las funciones de IA para un procesamiento de datos más inteligente y una mayor productividad.Consígalo ahora
Si necesita limpiar texto con frecuencia en Excel, el enfoque de Kutools ofrece una interfaz visual e intuitiva y procesa eficazmente grandes rangos con tan solo unos pocos clics. Además, incluye compatibilidad con la función Deshacer, lo que le permite revertir rápidamente los cambios si los resultados no cumplen con sus necesidades.
Consejos y precauciones: La opción «No alfabéticos» eliminará también cualquier número o signo de puntuación especial del texto. Si necesita conservar números u otros caracteres específicos, pruebe distintas combinaciones de casillas en el cuadro de diálogo hasta obtener el resultado deseado. Revise siempre el panel de vista previa para confirmar el efecto antes de hacer clic en Aceptar.
Comparación: Este método es más flexible que eliminar filas mediante VBA, ya que únicamente elimina los caracteres no deseados, no toda la fila, lo que lo hace menos destructivo y más seguro en caso de que exista algún riesgo de perder información importante asociada a cada fila.
Eliminar caracteres no ingleses mediante fórmula de Excel
Si no dispone de Kutools o prefiere no usar VBA, también puede emplear una fórmula de Excel para eliminar caracteres no ingleses (es decir, cualquier carácter que no sea una letra del alfabeto inglés) del texto de una celda. Este enfoque es ideal cuando busca una solución no destructiva, basada en fórmulas, que pueda aplicarse fácilmente a cada fila y copiarse a otras celdas.
1. Introduzca la siguiente fórmula matricial en la primera celda de su columna de resultados (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 analiza cada carácter de la celda A1, lo mantiene solo si es una letra mayúscula (A-Z) o minúscula (a-z) del alfabeto inglés y combina el resultado en una cadena limpia.
2. Tras escribir esta fórmula, pulse Ctrl+Mayús+Entrar (para versiones de Excel anteriores a Office 365; en Office 365 y posteriores, basta con pulsar Entrar). Copie la fórmula al resto de filas pertinentes arrastrando el controlador de relleno o haciendo doble clic en la esquina inferior derecha de la celda.
Explicación de los parámetros: Esta fórmula utiliza las funciones EXTRAE, CODIGO (que devuelve el valor ASCII), INDIRECTO y FILA para procesar cada carácter de la celda objetivo. Solo se conservan las letras de la a a la z o de la A a la Z.
Precaución: Este enfoque no altera los datos originales; las salidas son resultados de fórmulas en la columna de destino. Si necesita valores fijos y estáticos, copie los resultados y utilice Pegado especial como valores para sobrescribir las fórmulas.
Limitaciones: La longitud del texto afecta al rendimiento de las fórmulas. Este método podría no gestionar correctamente grafemas Unicode multibyte, por lo que algunos caracteres visualmente no ingleses podrían permanecer si están representados mediante secuencias Unicode compuestas.
Eliminar caracteres no ingleses del texto de celdas mediante 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. ¡Ideal para tareas frecuentes de limpieza de datos cuando no puede recurrir a complementos!
1. Abra Excel y pulse Alt + F11 para abrir el editor de Microsoft Visual Basic para Aplicaciones. 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 pulsando F5 o haciendo clic en el botón Ejecutar. Cuando se le solicite, seleccione el rango que desea procesar y confírmelo.
Efectos: Este código procesa cada celda seleccionada, elimina cualquier carácter que no sea una letra del alfabeto inglés estándar y actualiza la celda con el resultado limpio. Los datos originales se sobrescribirán, así que te recomendamos hacer una copia de seguridad de tu hoja o trabajar sobre una copia.
Kutools para Excel: potencie Excel con más de 300 herramientas esenciales, agilice y simplifique su trabajo, y aproveche las funciones de IA para un procesamiento de datos más inteligente y una mayor productividad.Consígalo ahora
Demostración: Elimine caracteres no ingleses de cadenas de texto con Kutools para Excel
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos



