Hur tar man bort dubbla tecken eller ord i en cellsträng?
Antag att det finns dubbla tecken eller ord i varje cell, och du vill ta bort dubbletterna och lämna bara unika tecken eller ord. Hur kunde du lösa detta problem i Excel?
Ta bort dubbla tecken i textsträngen med användardefinierad funktion
Ta bort dubbla ord åtskilda med skiljetecken med användardefinierad funktion
Ta bort dubbla tecken i textsträngen med användardefinierad funktion
Om du har en lista med textsträng måste du ta bort de dubbla tecknen enligt följande skärmdump. Här kan jag prata om en VBA-kod för att hantera den.
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic for Applications-fönstret.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.
VBA-kod: Ta bort dubbla tecken i textsträngen i en cell
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. Spara och stäng sedan den här koden, gå tillbaka till kalkylbladet och ange den här formeln = borttagen1 (A2) (A2 är den datacell som du vill ta bort dubbletter från) till en tom cell förutom dina data, se skärmdump:
4. Och dra sedan fyllningshandtaget till de intervallceller som du vill använda den här formeln, alla dubbeltecken har tagits bort från varje cell omedelbart.
Ta bort dubbla ord åtskilda med skiljetecken med användardefinierad funktion
Om det finns några ord som skiljs åt av vissa skiljetecken i en cell, kan du också ta bort dubbletterna som du vill. Gör med följande steg:
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic for Applications-fönstret.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.
VBA-kod: Ta bort dubbla ord åtskilda av skiljetecken i en cell
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. Spara och stäng sedan den här koden, återgå till kalkylbladet och ange den här formeln = RemoveDupes2 (A2, ",") i en tom cell bredvid dina data, se skärmdump:
4. Kopiera sedan formeln till dina celler som behövs, och alla dubbletter har tagits bort från alla celler. Se skärmdump:
Anmärkningar: I ovanstående formel, A2 anger cellen som du vill använda och kommatecknet (,) står för skiljetecknet som skiljer orden i en cell, du kan ändra det till andra skiljetecken efter ditt behov.
Bästa kontorsproduktivitetsverktyg
Överlägsna dina Excel-kunskaper med Kutools for Excel, och upplev effektivitet som aldrig förr. Kutools for Excel Erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Office Tab Ger gränssnitt med flikar till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!













