Hvordan fjernes duplikattegn eller ord i en cellestreng?
Antag at der er duplikerede tegn eller ord i hver celle, og du vil fjerne duplikaterne og kun efterlade unikke tegn eller ord. Hvordan kunne du løse dette problem i Excel?
Fjern duplikat af tekststreng med brugerdefineret funktion
Fjern duplikerede ord adskilt ved tegnsætning med brugerdefineret funktion
Fjern duplikat af tekststreng med brugerdefineret funktion
Hvis du har en liste med tekststreng, skal du nu fjerne de duplikerede tegn som vist på følgende skærmbillede. Her kan jeg tale om en VBA-kode for at håndtere den.
1. Hold nede ALT + F11 nøgler til at åbne Vinduet Microsoft Visual Basic til applikationer.
2. Klik indsatte > Moduler, og indsæt følgende kode i Modul vindue.
VBA-kode: Fjern duplikattegn af tekststreng i en celle
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. Gem og luk derefter denne kode, gå tilbage til regnearket og indtast denne formel = fjernetupes1 (A2) (A2 er den datacelle, du vil fjerne dubletter fra) i en tom celle udover dine data, se skærmbillede:
4. Og træk derefter fyldhåndtaget over til de områdeceller, du vil anvende denne formel, alle de dobbelte tegn er straks fjernet fra hver celle.
Fjern duplikerede ord adskilt ved tegnsætning med brugerdefineret funktion
Hvis der er nogle ord, der er adskilt af bestemte tegnsætningstegn i en celle, kan du også fjerne de duplikerede ord, som du vil. Benyt følgende trin:
1. Hold nede i ALT + F11 nøgler til at åbne Vinduet Microsoft Visual Basic til applikationer.
2. Klik indsatte > Moduler, og indsæt følgende kode i Modul vindue.
VBA-kode: Fjern duplikerede ord adskilt ved tegnsætning af en celle
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. Gem derefter og luk denne kode, vend tilbage til regnearket, og indtast denne formel = FjernDupes2 (A2, ",") i en tom celle ved siden af dine data, se skærmbillede:
4. Kopier derefter formlen ned til dine nødvendige celler, og alle de duplikerede ord er blevet fjernet fra alle celler. Se skærmbillede:
Bemærk: I ovenstående formel A2 angiver den celle, du vil bruge, og kommaet (,) står for tegnsætningstegnet, der adskiller ordene i en celle, du kan ændre det til andre tegnsætninger efter dit behov.
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!