Note: The other languages of the website are Google-translated. Back to English

Hoe verwijder ik dubbele tekens of woorden in een reeks van een cel?

Stel dat elke cel dubbele tekens of woorden bevat en u de duplicaten wilt verwijderen en alleen unieke tekens of woorden wilt achterlaten. Hoe zou je dit probleem in Excel kunnen oplossen?

Verwijder dubbele tekens van een tekstreeks met door de gebruiker gedefinieerde functie

Verwijder dubbele woorden gescheiden door interpunctie met door de gebruiker gedefinieerde functie


pijl blauw rechts bel Verwijder dubbele tekens van een tekstreeks met door de gebruiker gedefinieerde functie

Als je een lijst met tekstreeksen hebt, moet je nu de dubbele tekens verwijderen zoals in het onderstaande screenshot. Hier kan ik praten over een VBA-code om ermee om te gaan.

doc-verwijder-dubbele-tekens-1

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic for Applications-venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.

VBA-code: verwijder dubbele tekens van een tekstreeks in een cel

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. Sla vervolgens deze code op en sluit deze, ga terug naar het werkblad en voer deze formule in = verwijderdupes1 (A2) (A2 is de gegevenscel waarvan u duplicaten wilt verwijderen) in een lege cel naast uw gegevens, zie screenshot:

doc-verwijder-dubbele-tekens-1

4. En sleep vervolgens de vulgreep naar de bereikcellen waarop u deze formule wilt toepassen, alle dubbele tekens zijn onmiddellijk uit elke cel verwijderd.

doc-verwijder-dubbele-tekens-1


pijl blauw rechts bel Verwijder dubbele woorden gescheiden door interpunctie met door de gebruiker gedefinieerde functie

Als er enkele woorden zijn die worden gescheiden door bepaalde leestekens in een cel, kunt u de dubbele woorden ook naar wens verwijderen. Voer de volgende stappen uit:

1. Houd de toets ingedrukt ALT + F11 toetsen om de te openen Microsoft Visual Basic for Applications-venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.

VBA-code: verwijder dubbele woorden gescheiden door interpunctie van een cel

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. Sla deze code vervolgens op en sluit deze, ga terug naar het werkblad en voer deze formule in = RemoveDupes2 (A2; ",") in een lege cel naast uw gegevens, zie screenshot:

doc-verwijder-dubbele-tekens-1

4. Kopieer vervolgens de formule naar de gewenste cellen en alle dubbele woorden zijn uit elke cel verwijderd. Zie screenshot:

doc-verwijder-dubbele-tekens-1

Opmerking:: In de bovenstaande formule, A2 geeft de cel aan die u wilt gebruiken, en de komma (,) staat voor het leesteken dat de woorden in een cel van elkaar scheidt. U kunt dit naar wens wijzigen in andere leestekens.


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (66)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Nog steeds kapot... laat eigenlijk niets zien. Hier zijn mijn mobiele gegevens: 27000,Basic,Producten,Materialen,Van,Hout,Steen,Aarden,Ruwe,Materialen,27100,Basic,Bos,Producten,Algemeen,27110,Basic,Forest,Producten,Zagmolen,Producten,27120,Basic ,Bos,Producten,Hout,Pulp,27200,Glas Er zijn duidelijk wat dupes. Laat de cel leeg. Gedachten?
Deze opmerking is gemaakt door de moderator op de site
Laat maar, ik ben dom. Omdat ik alleen woorden wilde laten trekken heb ik de module RemoveDupes hernoemd, maar de RemoveDupes later in de code niet gewijzigd. Vast, zichzelf slaand met hamer....
Deze opmerking is gemaakt door de moderator op de site
En ik combineerde RemoveDupes met ConCat (de VBA-goedheid, niet CON(I-SUCK-BECAUSE-I'M-MICROSOFT)CATENATE) hierin: =RemoveDupes(ConCat(",",G495:G502),",") dus het trok mijn cellen naar binnen en veegde toen alle dupes weg. Bedankt voor de RemoveDupes, hier is ConCat: Functie ConCat (scheidingsteken als variant, ParamArray CellRanges() als variant) As String Dim Cell As Range, Area As Variant If IsMissing(Delimiter) Then Delimiter = "" For Each Area in CellRanges If TypeName( Area) = "Bereik" Dan voor elke cel in Area If Len(Cell.Value) Then ConCat = ConCat & delimiter & Cell.value Next Else ConCat = ConCat & delimiter & Area End If Next ConCat = Mid(ConCat, Len(delimiter) ) + 1) Functie beëindigen
Deze opmerking is gemaakt door de moderator op de site
Ik heb je oplossing geprobeerd "Verwijder dubbele woorden gescheiden door interpunctie met door de gebruiker gedefinieerde functie" en het werkt prima voor meerdere woorden in een cel, MAAR lost mijn probleem niet volledig op. Ik heb één cel met meerdere waarden en wil deze vergelijken met een andere cel met meerdere waarden en vervolgens de duplicaten laten verwijderen die tussen de twee cellen bestaan. Is er een manier om dat te doen?
Deze opmerking is gemaakt door de moderator op de site
hetzelfde hier pls help
Deze opmerking is gemaakt door de moderator op de site
leeft dit draadje nog? Ik zou enig inzicht in deze VBA-functie zeer op prijs stellen.. mijn vragen hebben te maken met de code, waar moet ik, als ik die überhaupt moet instrueren om de specifieke interpunctie als scheidingsteken te vinden.. als ik "@" zou gebruiken als de interpunctie?
Deze opmerking is gemaakt door de moderator op de site
Je advies is geweldig! Ik sorteerde 58,400 records in ongeveer 2 minuten en bespaarde een week (of meer) werk. Mijn duplicaten waren een beetje moeilijker om van dit voorbeeld "V&O Liquid Fuel Lantern 13-1/2in blk brandstoflantaarn" deze "V&O Liquid Fuel Lantern 13-1/2in blk" te maken, bedankt.
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb je hulp nodig, ik heb je code geprobeerd maar het werkte niet, misschien omdat ik nummers heb Ik heb dubbele telefoonnummers gescheiden door komma's Vertel me wat ik moet doen Bedankt
Deze opmerking is gemaakt door de moderator op de site
hetzelfde hier pls help
Deze opmerking is gemaakt door de moderator op de site
BRILJANT dankjewel! bedankt! bedankt!
Deze opmerking is gemaakt door de moderator op de site
Geweldig bedankt!.....
Deze opmerking is gemaakt door de moderator op de site
Hallo kerel, ik heb je hulp nodig. Wat moet ik doen als ik het duplicaat wil uitpakken? In A1 (asdfghjiklkk) Dus k is een gedupliceerd teken Ik wil A2 (k) wat moet ik doen?
Deze opmerking is gemaakt door de moderator op de site
Is het mogelijk om de functie aan te passen als er een bepaald woord is dat ik gedupliceerd wil houden en de rest niet?
Deze opmerking is gemaakt door de moderator op de site
Ik wil je heel erg bedanken voor deze gids, het heeft me veel werk bespaard! :)
Deze opmerking is gemaakt door de moderator op de site
Dit is erg handig. Ik heb het geprobeerd en het werkt voor mij zoals uitgezonderd. Uitmuntend !!!!
Deze opmerking is gemaakt door de moderator op de site
Dit is een geweldige en eenvoudige oplossing voor het vinden van dubbele zinnen in een enkele cel, veel gemakkelijker dan sommige van de langdradige macro-oplossingen die ik vond terwijl ik op zoek was naar een antwoord op mijn probleem, bedankt!
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor deze code - het heeft me een hoop tijd bespaard.
Deze opmerking is gemaakt door de moderator op de site
Ik heb gegevens zoals 1. hieronder weergegeven in een enkele cel en ik wil graag 2. 1. ZERPUR,MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653, ZERPUR(16),MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653 Ik heb dit nodig zoals: - ZERPUR, MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653 Bedankt en groeten Hanuman Singh 9034509168
Deze opmerking is gemaakt door de moderator op de site
leer me hoe? moet het ook weten..
Deze opmerking is gemaakt door de moderator op de site
kunnen we de positie van de eerste kleine letter achterhalen?


Examen - RAMSHsJHSAhsjDDD ------Ik wil de positie van de 1e kleine letter weten met formule = s
Deze opmerking is gemaakt door de moderator op de site
Hallo, Meharban,
U kunt de volgende matrixformule toepassen om de positie van de eerste kleine letter te krijgen:
=MATCH(1,IF(ABS(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))-109.5)<=12.5,1),0)
Vergeet niet om de toetsen Ctrl + Shift + Enter samen in te drukken.


Ik hoop dat het je kan helpen, bedankt!
Deze opmerking is gemaakt door de moderator op de site
Hallo Skyyang

het werkt naar behoren.....
eigenlijk wilde ik hetzelfde..

erg bedankt !!


Meharban singh pal
Deze opmerking is gemaakt door de moderator op de site
Hoe dubbele string-duplicaten te verwijderen ... kunt u het me alstublieft vertellen?


Met vriendelijke groet,
Kiran
Deze opmerking is gemaakt door de moderator op de site
Hallo, Kiran,
Kun je een voorbeeld geven van je probleem? Of u kunt een bijlageafbeelding invoegen.
Ik kijk uit naar je antwoord!
Deze opmerking is gemaakt door de moderator op de site
heel erg bedankt, het helpt me meer. Maar ik wil wat specifieker voor mijn dataset.
Ik heb twee kolommengegevens. ID en informatie. In Info Column worden per cel project-id zoals "Kant-, Udp-, Akr- etc" herhaald. Voor mijn dataset is de project_id meer dan 15 en het is opgelost. Dus ik wil de herhaalde_id uit de cel verwijderen, maar de eerste behouden.
Voorbeeld: Kant-526 (0.0287), Kant-527 (0.0113), Kant-528 (0.0262) /// Kant-526 (0.0287), 527 (0.0113), 528 (0.0262),
Kant-543 (0.0685), Kant-544 (0.0685),Udp-097 (0.0141) /// Kant-543 (0.0685),544 (0.0685),Udp-097 (0.0141)

Voorbeeldafbeelding is hier bijgevoegd. Is hier een oplossing voor.
Deze opmerking is gemaakt door de moderator op de site
Hallo, Imran,
Sorry voor het niet oplossen van uw probleem, als iemand een goed idee heeft, kunt u hier reageren.
Dank je!
Deze opmerking is gemaakt door de moderator op de site
Ik heb zelf een oplossing. Ik heb hier de SUBSTITUTE-formule gebruikt, maar deze is te groot voor mijn gegevens. dus herhaal het twee of drie keer om het juiste resultaat te krijgen.

=VERVANGING(VERVANGING("Kant-","",2), ("Kant-","",2)
Hier, 1e 2 voor de tweede Kant-vervanging en voor de volgende Kant-verwijdering gewoon toevoegen ("Kant-","",2) extra. Het werkt voor mij. Maar ik heb liever een goede VBA.
Deze opmerking is gemaakt door de moderator op de site
Bedankt voor de code.

Kan je me alsjeblieft helpen? Ik gebruik de macrofunctie om woorden gescheiden door interpunctie van een cel te verwijderen, maar mijn gegevens zijn geen woorden, maar eigenlijk zinnen. Zoals in plaats van "KTE, KTO, KTW, KTO" zijn eigenlijk korte beschrijvingen zoals "een rekening voorbereiden, mijn e-mails bekijken, de contracten bijwerken, mijn e-mails bekijken".

Zou het mogelijk zijn om de VBA bij te werken om dubbele zinnen in plaats van woorden te verwijderen?

Heel erg bedankt, dit zal echt heel nuttig zijn.
Deze opmerking is gemaakt door de moderator op de site
Hallo, Alonso,
Om dubbele zinnen te verwijderen, kan de volgende door de gebruiker gedefinieerde functie u helpen, probeer het alstublieft.

Functie RemoveDuplicateValue(xStr As String, xDelim As String) As String
Dim x Waarde
Als (Len(xDelim) > 0) en (Len(Trim(xStr)) > 0) Dan
Met CreateObject("Scripting.Dictionary")
Voor elke xValue In Split(xStr, xDelim)
Als Trim(xValue) <> "" En niet .exists(Trim(xValue)) is, dan .Voeg Trim(xValue) toe, niets
Volgende
Als .Count> 0 Dan RemoveDuplicateValue = Join(.keys, xDelim)
Eindigt met
Anders
RemoveDuplicateValue = xStr
End If
End Function

Pas vervolgens deze formule toe: =RemoveDuplicateValue(A2,","), verander het scheidingsteken , in uw eigen.
Deze opmerking is gemaakt door de moderator op de site
Hallo Skyyang,



Ik hoop wat hulp te krijgen met de volgende cel:

PR-PUERTO RICO; VS-VERENIGDE STATEN; VS-VERENIGDE STATEN

Ik wil dat het duplicaat VS-VERENIGDE STATEN wordt verwijderd, omdat mijn uploadtool geen duplicaten toestaat.



Ik heb de bovenstaande VBA gebruikt en mijn formulescheidingsteken vervangen door ";". Geeft het koppelteken dit een probleem? Het retourneert #NAME? wanneer ik de formule uitvoer. Ik ben nieuw in macro's/VBA, maar ik heb ervoor gezorgd dat het bestand is opgeslagen als een bestand met ingeschakelde macro's. Ik heb echt geprobeerd deze te volgen naar de T.


Bedankt voor al deze al geweldige informatie, omdat het heeft geholpen bij een ander project dat ik ook moest voltooien en alles wat extra is, wordt zeer op prijs gesteld.
Deze opmerking is gemaakt door de moderator op de site
Hoi Michael,
Wil je alle dubbele zinnen uit een cel verwijderen en alleen de unieke laten staan?
Kijk uit naar je antwoord!
Deze opmerking is gemaakt door de moderator op de site
Dit is de output die ik zoek:

Stroom: PR-PUERTO RICO; VS-VERENIGDE STATEN; VS-VERENIGDE STATEN
Gewenst: PR-PUERTO RICO; VS-VERENIGDE STATEN

Ik hoop dat dit logisch is en hartelijk dank voor het snelle antwoord.
Deze opmerking is gemaakt door de moderator op de site
Hoi Michael,
U hoeft alleen de onderstaande code toe te passen en vervolgens deze formule te gebruiken: =RemoveDuplicateValue(A2,";"). Probeer het alsjeblieft, ik hoop dat het je kan helpen!

Functie RemoveDuplicateValue(xStr As String, xDelim As String) As String
Dim x Waarde
Als (Len(xDelim) > 0) en (Len(Trim(xStr)) > 0) Dan
Met CreateObject("Scripting.Dictionary")
Voor elke xValue In Split(xStr, xDelim)
Als Trim(xValue) <> "" En niet .exists(Trim(xValue)) is, dan .Voeg Trim(xValue) toe, niets
Volgende
Als .Count> 0 Dan RemoveDuplicateValue = Join(.keys, xDelim)
Eindigt met
Anders
RemoveDuplicateValue = xStr
End If
End Function
Deze opmerking is gemaakt door de moderator op de site
Heel erg bedankt. Jouw reactie was meer welkom dan mijn kopje koffie!
Deze opmerking is gemaakt door de moderator op de site
Hallo, dit is echt nuttig
Maar ik wil hele woorden verwijderen na "NEE TEGEN:"

bijv.: NEE TEGEN: [C11bx1]

NEE TEGEN: [C11bx3] zoals dit
Er zijn nog geen reacties geplaatst
Laad meer
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL