Cum se elimină caractere sau cuvinte duplicate în șirul unei celule?
Presupunând că există caractere sau cuvinte duplicate în fiecare celulă și doriți să eliminați duplicatele și să lăsați numai caractere sau cuvinte unice. Cum ați putea rezolva această problemă în Excel?
Eliminați caracterele duplicate ale șirului de text cu funcția definită de utilizator
Eliminați cuvintele duplicate separate prin punctuație cu funcția definită de utilizator
Eliminați caracterele duplicate ale șirului de text cu funcția definită de utilizator
Dacă aveți o listă de șiruri de text, acum, trebuie să eliminați caracterele duplicate, după cum se arată în următoarea captură de ecran. Aici, pot vorbi despre un cod VBA pentru a face față acestuia.
1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.
2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.
Cod VBA: eliminați caracterele duplicate ale șirului de text dintr-o celulă
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. Apoi salvați și închideți acest cod, reveniți la foaia de lucru și introduceți această formulă = removedupes1 (A2) (A2 este celula de date din care doriți să eliminați duplicatele) într-o celulă goală pe lângă datele dvs., consultați captura de ecran:
4. Și apoi trageți mânerul de umplere peste celulele de pe care doriți să aplicați această formulă, toate caracterele duplicate au fost eliminate din fiecare celulă imediat.
Eliminați cuvintele duplicate separate prin punctuație cu funcția definită de utilizator
Dacă există câteva cuvinte care sunt separate de anumite semne de punctuație într-o celulă, puteți elimina, de asemenea, cuvintele duplicate după cum doriți. Vă rugăm să efectuați următorii pași:
1. Țineți apăsată tasta ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.
2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.
Cod VBA: eliminați cuvintele duplicate separate prin punctuația unei celule
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. Apoi salvați și închideți acest cod, reveniți la foaia de lucru și introduceți această formulă = RemoveDupes2 (A2, ",") într-o celulă goală lângă datele dvs., consultați captura de ecran:
4. Apoi copiați formula în celulele necesare și toate cuvintele duplicate au fost eliminate din fiecare celulă. Vedeți captura de ecran:
notițe: În formula de mai sus, A2 indică celula pe care doriți să o utilizați, iar virgula (,) reprezintă semnul de punctuație care separă cuvintele dintr-o celulă, îl puteți schimba în orice alte punctuații în funcție de nevoile dvs.
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!