¿Cómo eliminar caracteres o palabras duplicados en la cadena de una celda?
Supongamos que hay caracteres o palabras duplicados en cada celda, y desea eliminar los duplicados y dejar solo caracteres o palabras únicos. ¿Cómo podrías resolver este problema en Excel?
Elimine los caracteres duplicados de la cadena de texto con la función definida por el usuario
Elimine palabras duplicadas separadas por puntuación con la función definida por el usuario
Elimine los caracteres duplicados de la cadena de texto con la función definida por el usuario
Si tiene una lista de cadenas de texto, ahora debe eliminar los caracteres duplicados como se muestra en la siguiente captura de pantalla. Aquí, puedo hablar sobre un código VBA para manejarlo.
1. Mantenga pulsado el ALT + F11 teclas para abrir el Ventana de Microsoft Visual Basic para aplicaciones.
2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Ventana de módulo.
Código de VBA: elimine los caracteres duplicados de la 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 guarde y cierre este código, regrese a la hoja de trabajo e ingrese esta fórmula = eliminardupes1 (A2) (A2 es la celda de datos de la que desea eliminar los duplicados) en una celda en blanco además de sus datos, vea la captura de pantalla:
4. Y luego arrastre el controlador de relleno a las celdas de rango a las que desea aplicar esta fórmula, todos los caracteres duplicados se han eliminado de cada celda de inmediato.
Elimine palabras duplicadas separadas por puntuación con la función definida por el usuario
Si hay algunas palabras que están separadas por ciertos signos de puntuación en una celda, también puede eliminar las palabras duplicadas como desee. Siga los siguientes pasos:
1. Mantenga pulsado el botón ALT + F11 teclas para abrir el Ventana de Microsoft Visual Basic para aplicaciones.
2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Ventana de módulo.
Código VBA: elimine las palabras duplicadas separadas por la puntuación de 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. Luego guarde y cierre este código, regrese a la hoja de trabajo e ingrese esta fórmula = EliminarDupes2 (A2, ",") en una celda en blanco junto a sus datos, vea la captura de pantalla:
4. Luego, copie la fórmula en las celdas necesarias, y todas las palabras duplicadas se eliminarán de cada celda. Ver captura de pantalla:
Note: En la fórmula anterior, A2 indica la celda que desea usar, y la coma (,) representa el signo de puntuación que separa las palabras en una celda, puede cambiarlo por cualquier otra puntuación que necesite.
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!