¿Cómo eliminar caracteres o palabras duplicados en una cadena de una celda de Excel?
Al trabajar con datos en Excel, es bastante habitual encontrarse con situaciones en las que las celdas contienen caracteres repetidos o palabras duplicadas. Por ejemplo, puede que tenga entradas generadas por usuarios, registros exportados o códigos de producto en los que los caracteres o palabras aparezcan varias veces. Eliminar estos duplicados puede ayudarle a limpiar sus datos para su posterior análisis, mejorar la legibilidad o preparar las cadenas para usarlas en otros sistemas.
Esta guía ofrece varios métodos para eliminar caracteres o palabras duplicados dentro de una única celda. Podrá elegir la solución más adecuada según su versión de Excel, su nivel técnico y el tipo de delimitador que utilicen sus datos. Tanto si sus datos contienen caracteres individuales como palabras completas separadas por espacios o signos de puntuación, encontrará a continuación un enfoque práctico listo para aplicar.
- Eliminar caracteres o palabras duplicados mediante fórmulas de Excel (matriz dinámica)
- Eliminar caracteres duplicados de una cadena de texto con una función definida por el usuario
- Eliminar palabras duplicadas separadas por puntuación con una función definida por el usuario
Eliminar caracteres o palabras duplicados mediante fórmulas de Excel (matriz dinámica)
Si utiliza Microsoft 365 o Excel 2021 o versiones posteriores, puede aprovechar las fórmulas de matriz dinámica para eliminar caracteres o palabras duplicados de una celda sin necesidad de recurrir a VBA. Funciones como TEXTSPLIT, UNIQUE, TEXTJOIN y MID le permiten dividir, eliminar duplicados y reconstruir la cadena directamente en su hoja de cálculo.
Este método es especialmente recomendable si prefiere prescindir de macros, busca una solución eficiente y se siente cómodo con las funciones de fórmula más recientes de Excel.
Ventajas: Se recalcula automáticamente cuando los datos de origen cambian, no requiere habilitar macros ni permisos especiales, y la fórmula se puede aplicar fácilmente a grandes rangos.
Inconvenientes: Solo funciona en Excel para Microsoft 365, Excel 2021 o versiones posteriores (no es compatible con Excel 2019 ni versiones anteriores).
Para eliminar caracteres duplicados dentro de una celda (por ejemplo, «banana» → «ban»):
1. Seleccione la celda donde desea mostrar el resultado (por ejemplo, la celda)B2 junto a su celda de origen A2) e introduzca la siguiente fórmula:
=TEXTJOIN("",,UNIQUE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))) Esta fórmula divide el contenido de A2 en caracteres individuales mediante MID, genera posiciones secuenciales con FILA(INDIRECTO(...)), extrae los caracteres únicos con UNIQUE y luego los combina nuevamente en una cadena de texto con TEXTJOIN.
2. Pulse Intro. El resultado de la fórmula mostrará la cadena de A2 con los caracteres duplicados eliminados, manteniendo el orden original. Para aplicar la misma operación a otras filas, use el controlador de relleno para copiar la fórmula hacia abajo según sea necesario.
Nota: Si ve un error #¿NOMBRE?, es posible que su versión de Excel no admita estas funciones. Asegúrese de estar utilizando Excel para Microsoft 365, Excel 2021 o una versión posterior.
Resolución de problemas: A veces, espacios adicionales o signos de puntuación pueden interferir con los resultados. Considere usar ESPACIOS o TEXTSPLIT con argumentos adicionales si sus datos no tienen un formato consistente.
El uso de fórmulas de matriz dinámica mantiene su flujo de trabajo eficiente y actualizado, simplificando las tareas de limpieza de datos tanto para patrones de cadena simples como complejos.
Eliminar caracteres duplicados de una cadena de texto con una función definida por el usuario
Si tiene un rango de celdas con cadenas de texto y necesita eliminar los caracteres duplicados de cada una —por ejemplo, convertir «aabbcc» en «abc», como se muestra a continuación—, una función personalizada en VBA puede ayudarle a lograrlo rápidamente, especialmente si su versión de Excel no admite fórmulas avanzadas de matriz.

1. Mantenga pulsadas las teclas ALT + F11 para abrir la ventana Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo y pegue el siguiente código en la ventana del módulo. Asegúrese de añadir el código cerca del principio del módulo para evitar conflictos con otras macros que pueda tener.
Código VBA: Eliminar caracteres duplicados de una cadena de texto en una celda
Function RemoveDupes1(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
xChar = VBA.Mid(xValue, i, 1)
If xDic.Exists(xChar) Then
Else
xDic(xChar) = ""
xOutValue = xOutValue & xChar
End If
Next
RemoveDupes1 = xOutValue
End Function
3. Tras guardar y cerrar la ventana del código VBA, regrese a su hoja de cálculo. Introduzca esta fórmula =removedupes1(A2)en una celda vacía junto al texto original (aquí,)A2 es la celda que contiene la cadena que desea procesar). Véase la ilustración siguiente:

4. Pulse Intro para calcular el resultado. Arrastre el controlador de relleno hacia abajo para aplicar la función a todas las demás celdas relevantes de la columna y verá inmediatamente que todos los caracteres duplicados se han eliminado de cada celda correspondiente.

Consejo: Se respeta el orden de aparición: la función conserva la primera ocurrencia de cada carácter y elimina las repeticiones posteriores dentro de la celda.
Precaución: Las funciones definidas por el usuario (UDF) añadidas mediante VBA solo están disponibles en el libro donde se almacena el código. Si mueve o comparte su libro, asegúrese de incluir la macro o de volver a insertarla en el archivo de destino. Además, debe habilitar las macros para que el código se ejecute.

Descubra la magia de Excel con KUTOOLS AI
- Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
- fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
- Programación en VBA: Escriba e implemente código VBA con facilidad.
- Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
- Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Eliminar palabras duplicadas separadas por puntuación con una función definida por el usuario
Cuando sus datos contienen palabras separadas por signos de puntuación —como comas, puntos y comas u otros símbolos—, es posible que desee eliminar las repeticiones dentro de cada celda, conservando únicamente la primera aparición de cada palabra. Esta solución resulta especialmente útil para listas de etiquetas, categorías o direcciones, y puede implementarse de forma eficiente mediante una función personalizada en VBA.
1. Mantenga pulsadas las teclas ALT + F11 para abrir la ventana Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo y pegue el siguiente código en la ventana del módulo. Si es posible, coloque el código al principio de un módulo nuevo para mayor claridad.
Código VBA: Eliminar palabras duplicadas separadas por puntuación en una celda
Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
Dim x
'Updateby Extendoffice
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For Each x In Split(txt, delim)
If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
Next
If .Count > 0 Then RemoveDupes2 = Join(.keys, delim)
End With
End Function
3. Tras guardar y cerrar la ventana de VBA, regrese a su hoja de cálculo. En una columna en blanco adyacente a sus datos, introduzca esta fórmula: =RemoveDupes2(A2,","). Aquí, A2 hace referencia a su celda de destino y "," indica el signo de puntuación utilizado como separador. Puede sustituir esta coma por otro carácter (como ";" o un espacio) si sus palabras están separadas por un signo distinto.

4. Pulse Intro para confirmar y, a continuación, arrastre la fórmula hacia abajo para rellenar las demás celdas según sea necesario. Tras este paso, todas las palabras duplicadas se habrán eliminado de sus respectivas celdas, dejando únicamente las palabras únicas en su orden original. Véase el resultado siguiente:

Nota: En la fórmula, puede modificar tanto la referencia de celda como el separador de puntuación según convenga a sus datos. Si utiliza varios caracteres o distintos tipos de separadores (como espacio y coma combinados), es posible que deba ajustar aún más el código.
Consejo: Como con todas las macros de VBA, recuerde hacer una copia de seguridad de su libro y habilitar las macros para poder utilizar esta función.
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