¿Cómo eliminar caracteres o palabras duplicadas en una cadena de texto de una celda de Excel?
Al trabajar con datos en Excel, es bastante común encontrarse con situaciones donde las celdas contienen caracteres repetidos o palabras duplicadas. Por ejemplo, podrías tener entradas generadas por usuarios, registros exportados o códigos de productos en los que los caracteres o palabras pueden aparecer varias veces. Eliminar estos duplicados puede ayudar a limpiar tus datos para un análisis posterior, mejorar la legibilidad o preparar cadenas para su uso en otros sistemas.
Esta guía introduce varios métodos para eliminar caracteres o palabras duplicadas dentro de una sola celda. Puedes elegir la solución más adecuada según tu versión de Excel, comodidad técnica y el tipo de delimitador utilizado en tus datos. Ya sea que tus datos involucren caracteres individuales o palabras enteras separadas por espacios o puntuación, hay un enfoque práctico a continuación que puedes usar.
- Eliminar caracteres o palabras duplicadas usando Fórmulas de Excel (Matrices Dinámicas)
- Eliminar caracteres duplicados en 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 duplicadas usando Fórmulas de Excel (Matrices Dinámicas)
Si estás utilizando Microsoft 365 o Excel 2021 y versiones posteriores, puedes aprovechar las fórmulas de matriz dinámica para eliminar caracteres o palabras duplicadas de una celda, sin necesidad de VBA. Estas funciones, como TEXTSPLIT, UNIQUE, TEXTJOIN y MID, facilitan dividir, eliminar duplicados y reconstruir la cadena directamente en tu hoja de trabajo.
Este método es especialmente recomendado si prefieres no usar macros, quieres una solución eficiente y te sientes cómodo con las últimas características de fórmulas de Excel.
Ventajas: Se recalcula instantáneamente cuando cambian los datos de origen, no se necesita habilitar macros ni permisos especiales, la fórmula se puede aplicar fácilmente a rangos de datos grandes.
Desventajas: Solo funciona en Excel para Microsoft 365, Excel 2021 o versiones más recientes (no funciona en Excel 2019 o versiones anteriores).
Para eliminar caracteres duplicados dentro de una celda (por ejemplo, "banana" → "ban"):
1. Selecciona la celda donde deseas mostrar el resultado (por ejemplo, la celda B2 junto a tu celda de origen A2) e introduce 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 usando MID, genera posiciones secuenciales usando ROW(INDIRECT(...)), extrae caracteres únicos con UNIQUE y luego los combina nuevamente en una cadena de texto con TEXTJOIN.
2. Presiona Enter. El resultado de la fórmula mostrará la cadena en A2 con los caracteres duplicados eliminados, conservando el orden. Para aplicar la misma operación a otras filas, usa el controlador de relleno para copiar la fórmula hacia abajo según sea necesario.
Nota: Si ves un error #NOMBRE?, es posible que tu versión de Excel no admita estas funciones. Verifica que estés usando Excel para Microsoft 365 o Excel 2021 o una versión posterior.
Solución de problemas: A veces, espacios adicionales o signos de puntuación pueden interferir con los resultados. Considera usar TRIM o TEXTSPLIT con argumentos adicionales si tus datos no están formateados consistentemente.
Usar fórmulas de matriz dinámica ayuda a mantener tu flujo de trabajo eficiente y actualizado, y simplifica las tareas de limpieza de datos tanto para patrones de cadenas simples como complejos.
Eliminar caracteres duplicados en una cadena de texto con una Función Definida por el Usuario
Si tienes un rango de celdas que contienen cadenas de texto y necesitas eliminar caracteres duplicados de cada celda, por ejemplo, convirtiendo "aabbcc" en "abc" como se ilustra a continuación, una función personalizada de VBA puede ayudarte a lograrlo rápidamente, especialmente si tu versión de Excel no admite fórmulas de matriz avanzadas.
1. Mantén presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana de Módulo. Asegúrate de agregar el código al principio del módulo para evitar conflictos con otras macros que puedas tener.
Código VBA: Eliminar caracteres duplicados en 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. Luego de guardar y cerrar la ventana de código VBA, regresa a tu hoja de trabajo. Introduce esta fórmula =removedupes1(A2) en una celda en blanco junto a tu texto original (aquí, A2 es la celda que contiene la cadena que deseas procesar). Ver ilustración a continuación:
4. Presiona Enter para calcular el resultado. Arrastra el controlador de relleno hacia abajo para aplicar la función a todas las demás celdas relevantes en la columna, y verás que todos los caracteres duplicados se eliminan de cada celda correspondiente de inmediato.
Consejo: El orden de aparición se conserva; la función mantiene la primera aparición de cada carácter y elimina los duplicados posteriores dentro de la celda.
Precaución: Las Funciones Definidas por el Usuario (UDFs) agregadas mediante VBA solo están disponibles en el libro donde se almacena el código. Si mueves o compartes tu libro, asegúrate de que la macro esté incluida o vuelva a insertarse en el archivo de destino. Además, las macros deben estar habilitadas para que el código funcione.

Descubre la Magia de Excel con Kutools AI
- Ejecución Inteligente: Realiza operaciones en celdas, analiza datos y crea gráficos, todo impulsado por comandos simples.
- Fórmulas Personalizadas: Genera fórmulas adaptadas para optimizar tus flujos de trabajo.
- Codificación VBA: Escribe e implementa código VBA sin esfuerzo.
- Interpretación de Fórmulas: Comprende fórmulas complejas con facilidad.
- Traducción de Texto: Supera las barreras del idioma dentro de tus hojas de cálculo.
Eliminar palabras duplicadas separadas por puntuación con una Función Definida por el Usuario
En situaciones donde tus datos consisten en palabras separadas por puntuación, como comas, punto y coma u otros símbolos, es posible que desees eliminar palabras repetidas dentro de cada celda mientras conservas solo la primera instancia de cada palabra. Esto es especialmente útil para listas de etiquetas, categorías o direcciones. Puedes lograr esto eficientemente usando una función personalizada de VBA.
1. Mantén presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana de Módulo. Coloca el código al principio de un nuevo módulo si es posible, 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. Después de guardar y cerrar la ventana de VBA, regresa a tu hoja de trabajo. En una columna en blanco adyacente a tus datos, introduce esta fórmula: =RemoveDupes2(A2,","). Aquí, A2 se refiere a tu celda objetivo y "," indica el signo de puntuación usado como separador. Puedes reemplazar esta coma con otro carácter (como ";" o espacio) si tus palabras están divididas por una puntuación diferente.
4. Presiona Enter para confirmar, luego arrastra la fórmula hacia abajo para completar otras celdas según sea necesario. Después de este paso, todas las palabras duplicadas se eliminan de sus respectivas celdas, dejando palabras únicas en el orden original. Ver el resultado a continuación:
Nota: En la fórmula, puedes cambiar tanto la referencia de celda como el separador de puntuación según corresponda para tus datos. Si se usan múltiples caracteres o diferentes tipos de separadores (como espacio y coma combinados), puede ser necesario ajustar aún más el código.
Consejo: Como con todas las macros de VBA, recuerda hacer una copia de seguridad de tu libro y habilitar macros para usar esta función.
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