Les galetes ens ajuden a lliurar els nostres serveis. En utilitzar els nostres serveis, accepteu el nostre ús de cookies.
Consell: altres idiomes es tradueixen en Google. Pots visitar el English versió d'aquest enllaç.
Iniciar Sessió
x
or
x
x
Registre
x

or

Com esborrar caràcters duplicats o paraules en cadena d'una cel·la?

Suposant que hi ha caràcters o paraules duplicats a cada cel·la, i voleu eliminar els duplicats i deixar només caràcters o paraules úniques. Com es pot resoldre aquest problema a Excel?

Elimineu els caràcters duplicats de la cadena de text amb la funció definida per l'usuari

Traieu paraules duplicades separades per puntuació amb la funció definida per l'usuari


Seleccioneu els valors duplicats d'una columna i, a continuació, suprimiu-los alhora:

amb Kutools for Excel'S Seleccioneu cel·les duplicades i úniques funció, podeu seleccionar i ressaltar ràpidament els valors duplicats o únics d'un rang i, a continuació, podeu eliminar o formatejar-los com necessiteu.

doc elimineu els dos duplicats 15 15


fletxa blau dreta bombolla Elimineu els caràcters duplicats de la cadena de text amb la funció definida per l'usuari


Si teniu una llista de text, ara, heu d'eliminar els caràcters duplicats seguint la següent captura de pantalla. Aquí, puc parlar sobre un codi VBA per fer-ho.

doc-remove-duplicate-characters-1

1. Mantingueu premut el botó ALT + F11 claus per obrir el Finestra de Microsoft Visual Basic per a aplicacions.

2. Clic Insereix > Mòduls, i enganxeu el següent codi al Finestra de mòduls.

Codi VBA: elimina els caràcters duplicats de la cadena de text en una cel·la

Function RemoveDupes1(pWorkRng As Range) As String
'Updateby20140924
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. A continuació, deseu i tanqueu aquest codi, torneu al full de treball i introduïu aquesta fórmula = removedupes1 (A2) (A2 és la cel·la de dades que voleu eliminar dels duplicats) en una cel·la en blanc a més de les vostres dades, vegeu captura de pantalla:

doc-remove-duplicate-characters-1

4. A continuació, arrossegueu l'identificador de farcit a les cel·les de rang que voleu aplicar aquesta fórmula; tots els caràcters duplicats s'han eliminat de cada cel·la immediatament.

doc-remove-duplicate-characters-1


fletxa blau dreta bombolla Traieu paraules duplicades separades per puntuació amb la funció definida per l'usuari

Si hi ha algunes paraules que estan separades per certs signes de puntuació en una cel·la, també podeu eliminar les paraules duplicades com vulgueu. Feu els passos següents:

1. Mantingueu premut el botó ALT + F11 claus per obrir el Finestra de Microsoft Visual Basic per a aplicacions.

2. Clic Insereix > Mòduls, i enganxeu el següent codi al Finestra de mòduls.

Codi VBA: elimineu paraules duplicades separades per puntuació d'una cel·la

Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
    Dim x
    'Updateby20140924
    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. A continuació, deseu i tanqueu aquest codi, torneu al full de treball i introduïu aquesta fórmula = RemoveDupes2 (A2, ",") en una cel·la buida al costat de les vostres dades, vegeu la captura de pantalla:

doc-remove-duplicate-characters-1

4. A continuació, copieu la fórmula a les cel·les que necessiteu i totes les paraules duplicades s'han eliminat de totes les cel·les. Mostra la captura de pantalla:

doc-remove-duplicate-characters-1

Nota: A la fórmula anterior, A2 indica la cel·la que voleu utilitzar i la coma (,) significa la marca de puntuació que separa les paraules d'una cel·la, podeu canviar-la a qualsevol altra puntuació de la vostra necessitat.



Eines de productivitat recomanades

Pestanya d'Office

estrella d&#39;or1 Porteu les pestanyes pràctiques a l'Excel i a un altre programari d'Office, igual que Chrome, Firefox i el nou Internet Explorer.

Kutools for Excel

estrella d&#39;or1 Increïble! Incrementeu la productivitat en 5 minuts. No necessites cap habilitat especial, estalvieu dues hores cada dia.

estrella d&#39;or1 300 Noves característiques per a Excel, Excel molt fàcil i potent:

  • Combina cel·les / files / columnes sense perdre dades.
  • Combina i consolida diverses fulles i llibres.
  • Comparar intervals, copiar diversos rangs, convertir text a data, unitat i conversió de divises.
  • Compte per colors, subtotals de paginació, classificació avançada i filtre súper,
  • Més Seleccioneu / Insereix / Suprimeix / Text / Format / Enllaç / Comentari / Llibres / Eines de full de càlcul ...

Tret de pantalla de Kutools per a Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Rocio · 27 days ago
    Hi, what should I do if I want to delete duplicated words within on cell? For example, Ana Garcia Lopes Garcia -> Ana Garcia Lopes
    • To post as a guest, your comment is unpublished.
      skyyang · 27 days ago
      Hello, Rocio,
      To remove the duplicate words within a cell, you should apply the User Defined Function of the second method in this article,
      Remove duplicate words separated by punctuation with User Defined Function

      and then apply this formula:=RemoveDupes2(A2," ").
      Please try it, hope it can help you!
      • To post as a guest, your comment is unpublished.
        Rocio · 26 days ago
        Thanks! but what will happen if i do not have punctuation within the cell? for example: Apple Book Pencil Book and I want to remove the duplicated word in this case Book and just obtain Apple Book Pencil
        • To post as a guest, your comment is unpublished.
          skyyang · 26 days ago
          Hi,
          If your cell value is separated by space, after pasting the above code, you just need to replace the comma with space as follows:
          Replace this formula:=RemoveDupes2(A2,",") with =RemoveDupes2(A2," ")
  • To post as a guest, your comment is unpublished.
    Bill Davis · 1 months ago
    I have been using the VBA code: Remove duplicate words separated by punctuation of a cell RemoveDupes2 logic for some time now and I recently had my machine upgraded to O365 and when running this same process, I get an error on my cell. Instead of returning the values I expect, I am getting the #Value! error in the cell.

    I'm not too savy on writing formulas or using the VB logic, so not sure where to start, any guidance would be helpful.
  • To post as a guest, your comment is unpublished.
    NeedExcelHelp · 5 months ago
    What about removing duplicate addresses. If I have a cell that says "123 Address St. 123 Address St." How can I select only the first address when I have many cells with different addresses in each of them?
  • To post as a guest, your comment is unpublished.
    Suraj Singh · 5 months ago
    Can we removed the duplicate from in single cell tax . like as per below tax the highlighted tax is duplicate.

    C2/1104, SUMMER PALM SECTOR 86 C2/1104, SUMMER PALM FARIDABAD HARYANA India
  • To post as a guest, your comment is unpublished.
    Angshuman Pradhan · 6 months ago
    how to save =RemoveDupes2 this formula in excel 2007
    • To post as a guest, your comment is unpublished.
      skyyang · 6 months ago
      Hello, Pradhan,
      To save this formula for using next time, you should save the workbook as Excel Macro-Enabled Workbook file format.
      Please try it, hope it can help you!