Sådan fjernes dubletter i en celle i Excel

  • Del Dette
Michael Brown

Der er tre måder at finde og slette dubletter i en celle i Excel på. Vælg den måde, der fungerer bedst for dig.

Når det drejer sig om at fjerne dobbelte værdier eller rækker, tilbyder Microsoft Excel en række forskellige muligheder. Men når det drejer sig om at fjerne identisk tekst i en given celle, tilbyder Excel... intet. Ingen værktøjer, ingen funktioner, ingen formler, intet. Vil det forhindre os i at nå vores mål? På ingen måde. Hvis Excel ikke har den funktion, vi har brug for, så lad os skrive vores egen :)

    Sådan fjerner du gentagne ord i Excel-cellen

    Problem : Du har de samme ord eller tekststrenge i en celle, og du vil gerne fjerne den anden og alle efterfølgende gentagelser.

    Løsning : en brugerdefineret brugerdefineret funktion eller en VBA-makro.

    Brugerdefineret funktion til at fjerne dubletter i en celle

    Hvis du vil fjerne dobbelt tekst i en celle, kan du bruge følgende brugerdefinerede funktion (UDF), der hedder RemoveDupeWords :

    Function RemoveDupeWords(text As String , Optional delimiter As String = " " ) As String Dim dictionary As Object Dim x, part Set dictionary = CreateObject ( "Scripting.Dictionary" ) dictionary.CompareMode = vbTextCompare For Each x In Split(text, delimiter) part = Trim(x) If part "" And Not dictionary.Exists(part) Then dictionary.Add part, Nothing End If Next If dictionary.Count> 0 ThenRemoveDupeWords = Join(dictionary.keys, delimiter) Else RemoveDupeWords = "" End If Set dictionary = Nothing End Function

    Sådan indsætter du funktionens kode i din projektmappe

    For at tilføje ovenstående kode til din Excel skal du gøre følgende:

    1. Tryk på Alt + F11 for at åbne Visual Basic-editoren.
    2. Højreklik på i venstre rude på ThisWorkbook og vælg Indsæt > Modul .
    3. Indsæt ovenstående kode i Kode vindue.

    Du kan finde flere oplysninger under Sådan indsætter du VBA-kode i Excel.

    Syntaks for funktionen RemoveDupeWords

    Vores nyoprettede funktion til at fjerne dobbelt tekst i en celle har følgende syntaks:

    RemoveDupeWords(text, [delimiter])

    Hvor:

    • Tekst (påkrævet) - en streng eller celle, hvorfra du vil slette gentagen tekst.
    • Afgrænser (valgfrit) - den afgrænser, som den gentagne tekst adskilles af. Hvis den udelades, anvendes et mellemrum som afgrænser.

    Funktionen er ikke skivensitiv , hvilket betyder, at små og store bogstaver behandles som de samme tegn.

    Sådan bruger du funktionen RemoveDupeWords

    Når funktionens kode er tilføjet til din projektmappe, kan du bruge den i dine formler på samme måde, som du bruger Excels indbyggede funktioner.

    Du skal bare begynde at skrive funktionens navn efter ligetegnet, så vises det i formelintelligensen. Dobbeltklik på funktionen, så indsættes den i en celle. Definer argumenterne, skriv den afsluttende parentes, tryk på Enter , og så er din formel færdig.

    Hvis du f.eks. vil slette dobbelte ord adskilt af et komma og et mellemrum i A2, skal du indtaste nedenstående formel i B2 og derefter trække den ned gennem så mange celler som nødvendigt:

    =RemoveDupeWords(A2, ", ")

    Resultatet er en liste over unikke ord eller delstrenge adskilt af en komma og mellemrum :

    Hvis du hellere vil have en kommasepareret liste, skal du bruge kun et komma til afgrænseren:

    =RemoveDupeWords(A2, ",")

    Hvis dine kildedata er adskilt af et rum , det andet argument skal være " " eller udelades:

    =RemoveDupeWords(A2)

    Som enhver anden Excel-funktion genberegner vores UDF automatisk, når kildedataene ændres, så dine resultater altid er opdaterede.

    VBA-makro til at slette duplikeret tekst fra flere celler på én gang

    Hvis du ønsker at fjerne gentagen tekst fra flere celler på én gang, kan du kalde RemoveDupeWords funktionen fra en makro. I dette tilfælde er afgrænseren fastkodet, og du skal opdatere makroens kode, hver gang afgrænseren ændres. Alternativt kan du skrive et par kodevarianter for de mest almindelige afgrænsere, f.eks. et mellemrum, komma eller komma og mellemrum, og give dine makroer meningsfulde navne, f.eks. RemoveDupesDelimSpace .

    Makroens kode er som følger:

    Public Sub RemoveDupeWords2() Dim cell As Range For Each cell In Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", " ) Next End Sub

    I ovenstående kode er afgrænseren en komma og mellemrum Hvis du vil bruge en anden afgrænser, skal du erstatte ", " med et eller flere andre tegn i denne kodelinje:

    cell.Value = RemoveDupeWords(cell.Value, ", ", ")

    Bemærk: For at makroen kan fungere, skal dens kode og koden for RemoveDupeWords-funktionen placeres i det samme modul.

    Sådan bruger du makroen

    Indsæt makroens kode i din egen arbejdsbog eller åbn vores eksempelarbejdsbog med koden, og udfør derefter følgende trin for at køre makroen.

    1. Vælg en række celler, som du vil fjerne gentagen tekst fra.
    2. Tryk på Alt + F8 for at åbne Makro dialogboksen.
    3. På listen over makroer skal du vælge FjernDupeWords2 .
    4. Klik på Kør .

    Du kan finde flere oplysninger under Sådan kører du en makro i Excel.

    Bemærk. Da en makrohandling kan ikke gøres om anbefaler vi på det kraftigste, at du gemmer din projektmappe, lige før du bruger makroen. Hvis noget går galt, kan du på denne måde blot lukke og genåbne projektmappen, og så er du tilbage præcis, hvor du var. Du kan også bare lave en kopi af de regneark, der kan blive påvirket af makroen.

    Sådan fjernes duplikerede tegn i en celle

    Problem : Du har flere forekomster af det samme tegn i en celle, mens hver celle kun bør indeholde en enkelt forekomst af et givet tegn.

    Løsning : en brugerdefineret brugerdefineret funktion eller en VBA-makro.

    Brugerdefineret funktion til at slette gentagne tegn

    Hvis du vil fjerne duplikerede tegn i en celle, der kun beholder de første forekomster, kan du bruge følgende brugerdefinerede funktion, der hedder RemoveDupeChars :

    Function RemoveDupeChars(text As String ) As String Dim dictionary As Object Dim char As String Dim result As String Set dictionary = CreateObject ("Scripting.Dictionary" ) For i = 1 To Len(text) char = Mid(text, i, 1) If Not dictionary.Exists(char) Then dictionary.Add char, Nothing result = result & char End If Next RemoveDupeChars = result Set dictionary = Nothing End Function

    Hvis du vil indsætte funktionens kode i din projektmappe, er trinene nøjagtig de samme som i det foregående eksempel.

    Syntaks for funktionen RemoveDupeChars

    Syntaksen for denne brugerdefinerede funktion er så enkel som overhovedet muligt - der kræves kun ét argument:

    RemoveDupeChars(text)

    Hvor tekst er en streng eller celle, hvorfra du ønsker at fjerne dobbelte tegn.

    Funktionen er skraldefølsom og behandler små og store bogstaver som forskellige tegn.

    Sådan bruger du funktionen RemoveDupeChars

    Alt, hvad vi har sagt om brugen af RemoveDupeWords, gælder også for RemoveDupeChars Så uden at komme for meget ind på teorien, lad os komme direkte til et eksempel.

    Hvis du vil slette dobbelte tegn fra kolonne A, der begynder i A2, skal du indtaste denne formel i B2 og kopiere den nedad:

    =RemoveDupeChars(A2)

    Som du kan se på billedet nedenfor, håndterer funktionen med succes forskellige tegntyper, herunder bogstaver, cifre og specialsymboler:

    Tip. Hvis dine figurer er adskilt fra hinanden af nogle afgrænser som f.eks. et mellemrum, komma eller bindestreg, så skal du bruge RemoveDupeWords funktion som vist i det foregående eksempel.

    VBA-makro til at fjerne de samme tegn fra en celle

    Som RemoveDupeWords , den RemoveDupeChars funktionen kan også kaldes fra en makro:

    Public Sub RemoveDupeChars2() Dim cell As Range For Each cell In Application.Selection cell.Value = RemoveDupeChars(cell.Value) Next End Sub

    Da denne UDF ikke bruger nogen afgrænsere, behøver du ikke foretage nogen justeringer i koden.

    Bemærk: For at makroen kan fungere, skal dens kode og koden for RemoveDupeChars UDF'en placeres i det samme modul i VBA-editoren.

    Sådan bruger du makroen

    Hvis du allerede har indsat makroens kode i din projektmappe eller åbnet vores eksempelprojektmappe med koden, skal du starte makroen på denne måde.

    1. Vælg en række celler, som du vil fjerne gentagne tegn fra.
    2. Tryk på Alt + F8 for at åbne Makro dialogboksen.
    3. På listen over makroer skal du vælge RemoveDupeChars2 .
    4. Klik på Kør .

    Fjern duplikerede delstrenge med Ultimate Suite

    I begyndelsen af denne vejledning blev det nævnt, at Microsoft Excel ikke har en indbygget funktion til at fjerne dubletter i en celle. Men det har vores Ultimate Suite!

    Du kan finde den i Duplicate Remover drop-down-menuen på Ablebits Data under fanen, i fanen Dedupe gruppe. Hvis den Fjern duplikerede understrenge ikke vises i din Excel, skal du sikre dig, at du har den nyeste version af Ultimate Suite installeret (du kan downloade en gratis prøveversion her).

    Hvis du vil fjerne gentagne ord eller tekst fra flere celler på 5 sekunder (et sekund pr. trin :), skal du gøre følgende:

    1. Vælg dine kildedata, og start Fjern duplikerede understrenge værktøj.
    2. Angiv den afgrænser .
    3. Definer, om der skal behandles fortløbende afgrænsere som et (standard).
    4. Vælg, om du vil udføre skraldefølsom eller skift mellem store og små bogstaver søgning.
    5. Klik på Fjern .

    Færdig! Ingen VBA eller formler, bare hurtige og præcise resultater.

    Hvis du vil vide mere om dette fantastiske tilføjelsesprogram, kan du besøge dets hjemmeside. Eller endnu bedre, download en evalueringsversion nedenfor og prøv det!

    Sådan fjerner du dobbelt tekst i en celle. Jeg takker for din læsning og håber at se dig på vores blog i næste uge!

    Tilgængelige downloads

    Eksempler på at fjerne dubletter i celle (.xlsm-fil)

    Ultimate Suite 14-dages fuldt funktionsdygtig version (.exe-fil)

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.