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

Kako odstraniti podvojene znake ali besede v nizu celice?

Recimo, da so v vsaki celici podvojeni znaki ali besede, zato želite odstraniti dvojnike in pustiti samo edinstvene znake ali besede. Kako lahko to težavo rešite v Excelu?

Odstranite podvojene znake besedilnega niza z uporabniško določeno funkcijo

Z uporabniško določeno funkcijo odstranite podvojene besede, ločene z ločili


puščica modri desni mehurček Odstranite podvojene znake besedilnega niza z uporabniško določeno funkcijo

Če imate seznam besedilnega niza, morate zdaj odstraniti podvojene znake, kot je prikazano na spodnji sliki zaslona. Tu lahko govorim o kodi VBA, da se z njo spoprimem.

doc-odstrani-podvojenih-znakov-1

1. Držite tipko ALT + F11 tipke za odpiranje Okno Microsoft Visual Basic for Applications.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Okno modula.

Koda VBA: v celici odstranite podvojene znake besedilnega niza

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. Nato shranite in zaprite to kodo, se vrnite na delovni list in vnesite to formulo = odstrani dupe1 (A2) (A2 je podatkovna celica, iz katere želite odstraniti dvojnike) v prazno celico poleg vaših podatkov, glejte posnetek zaslona:

doc-odstrani-podvojenih-znakov-1

4. In nato povlecite ročico za polnjenje do celic obsega, za katere želite uporabiti to formulo, vsi podvojeni znaki so bili takoj odstranjeni iz vsake celice.

doc-odstrani-podvojenih-znakov-1


puščica modri desni mehurček Z uporabniško določeno funkcijo odstranite podvojene besede, ločene z ločili

Če je v celici nekaj besed, ki so ločene z ločili, lahko tudi podvojene besede odstranite, kot želite. Naredite naslednje:

1. Drži dol ALT + F11 tipke za odpiranje Okno Microsoft Visual Basic for Applications.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Okno modula.

Koda VBA: odstranite podvojene besede, ločene s ločili celice

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. Nato shranite in zaprite to kodo, se vrnite na delovni list in vnesite to formulo = RemoveDupes2 (A2, ",") v prazno celico poleg vaših podatkov si oglejte posnetek zaslona:

doc-odstrani-podvojenih-znakov-1

4. Nato kopirajte formulo v potrebne celice in vse podvojene besede so bile odstranjene iz vseh celic. Oglejte si posnetek zaslona:

doc-odstrani-podvojenih-znakov-1

Opombe: V zgornji formuli, A2 označuje celico, ki jo želite uporabiti, vejica (,) pa pomeni ločilo, ki ločuje besede v celici, jo lahko spremenite v katero koli drugo ločilo po svoji potrebi.


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2019 in 365. Podpira vse jezike. Preprosta namestitev v vašem podjetju ali organizaciji. Vse funkcije 30-dnevnega brezplačnega preskusa. 60-dnevno jamstvo za vračilo denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50% in vsak dan zmanjša na stotine klikov z miško!
dno pisarniške mize
Komentarji (66)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Še vedno pokvarjen... pravzaprav nič ne kaže. Tukaj so moji podatki o celici: 27000, Osnovno, Izdelki, Materiali, Iz, Lesa, Kamna, Zemlje, Surovine, Materialov, 27100, Osnovno, Gozd, Izdelki, Splošno, 27110, Osnovno, Gozd, Izdelki, Žaga, Izdelki27120, ,Gozd, Izdelki, Les, Celuloza, 27200, Steklo Očitno je tam nekaj zavajalcev. Pusti celico prazno. Misli?
Ta komentar je moderator na spletnem mestu minimiziral
Ni važno, jaz sem neumen. Ker sem želel samo povlečene besede, sem preimenoval modul RemoveDupes, vendar pozneje v kodi nisem spremenil RemoveDupes. Popravljeno, udarjanje s kladivom....
Ta komentar je moderator na spletnem mestu minimiziral
In sem združil RemoveDupes s ConCat (dobrota VBA, ne CON(I-SUCK-BECAUSE-I'M-MICROSOFT)CATENATE) v to: =RemoveDupes(ConCat(",",G495:G502),",") tako potegnil je moje celice noter in nato izbrisal vse zablode. Hvala za RemoveDupes, tukaj je ConCat: Funkcija ConCat (ločilo kot različica, ParamArray CellRanges() kot različica) Kot niz zatemnjena celica kot obseg, območje kot različica, če manjka (ločilo) Nato ločilo = "" za vsako območje v obsegu celic, če je ime vrste( Area) = "Range" Nato Za vsako celico v območju Če Len(Cell.Value) Potem ConCat = ConCat & Ločilo & Cell.Value Next Else ConCat = ConCat & Ločilo & Area End Če je Next ConCat = Mid(ConCat, Len(Ločilo ) + 1) Končna funkcija
Ta komentar je moderator na spletnem mestu minimiziral
Preizkusil sem vašo rešitev »Odstrani podvojene besede, ločene z ločili z uporabniško definirano funkcijo« in deluje odlično za več besed v celici, VENDAR ne reši popolnoma moje težave. Imam eno celico, ki ima več vrednosti in želim primerjati z drugo celico z več vrednostmi, nato pa naj odstrani dvojnike, ki obstajajo med obema celicama. Ali obstaja način za to?
Ta komentar je moderator na spletnem mestu minimiziral
isto tukaj prosim za pomoč
Ta komentar je moderator na spletnem mestu minimiziral
je ta tema še živa? Zelo bi bil hvaležen za vpogled v to funkcijo VBA.. moja vprašanja so povezana s kodo, kjer ji moram naročiti, naj najde določeno ločilo kot ločilo.. če bi uporabil "@" kot ločila?
Ta komentar je moderator na spletnem mestu minimiziral
Vaš nasvet je neverjeten! V približno 58,400 minutah sem razvrstil 2 zapisov in prihranil en teden (ali več) dela. Moje dvojnike je bilo nekoliko težje spremeniti ta primer " V&O Lantern za tekoče gorivo 13-1/2in blk goriva " v ta " V&O Liquid Fuel Lantern 13-1/2in blk ", hvala.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, prosim, potrebujem vašo pomoč, poskusil sem vašo kodo, vendar ni delovalo, morda zato, ker imam številke, imam podvojene telefonske številke, ločene z vejicami. Prosim, povejte mi, kaj naj storim. Hvala
Ta komentar je moderator na spletnem mestu minimiziral
isto tukaj prosim za pomoč
Ta komentar je moderator na spletnem mestu minimiziral
BRILANTNO hvala! Hvala vam! Hvala vam!
Ta komentar je moderator na spletnem mestu minimiziral
Super, hvala!.....
Ta komentar je moderator na spletnem mestu minimiziral
Hej stari, rabim tvojo pomoč. Kaj naj storim, če želim izvleči dvojnik? V A1 (asdfghjiklkk) Torej je k podvojen znak Želim A2 (k) kaj naj storim?
Ta komentar je moderator na spletnem mestu minimiziral
Ali je mogoče prilagoditi funkcijo, če je določena beseda, ki jo želim, da ostane podvojena, medtem ko se ostale ne podvojijo?
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala za ta vodnik, prihranil sem veliko dela! :)
Ta komentar je moderator na spletnem mestu minimiziral
To je zelo koristno. Preizkusil sem ga in mi deluje kot izjema. Odlično!!!!
Ta komentar je moderator na spletnem mestu minimiziral
To je izjemna in preprosta rešitev za iskanje podvojenih besednih zvez v eni celici, veliko lažja od nekaterih dolgoveznih makro rešitev, ki sem jih našel, ko sem iskal odgovor na moj problem, hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Hvala za to kodo - prihranila mi je tono časa.
Ta komentar je moderator na spletnem mestu minimiziral
Imam podatke, kot je 1. prikaži spodaj v eni celici in želim, da mi je všeč 2. 1. ZERPUR,MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653, ZERPUR(16),MAHENDRAGARH, HARYANA-123029, potrebujem to kot :- ZERPUR,MAHENDRAGARH, HARYANA-30771237, 8813073653, 123029 Hvala in lep pozdrav Hanuman Singh 30771237
Ta komentar je moderator na spletnem mestu minimiziral
nauči me kako? tudi to je treba vedeti..
Ta komentar je moderator na spletnem mestu minimiziral
ali lahko ugotovimo položaj 1. male črke


Izpit - RAMSHsJHSAhsjDDD ------ Želim vedeti položaj 1. male črke po formuli = s
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Meharban,
Uporabite lahko naslednjo formulo matrike, da dobite položaj prve male črke:
=MATCH(1,IF(ABS(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))-109.5)<=12.5,1),0)
Ne pozabite pritisniti tipk Ctrl + Shift + Enter skupaj.


Upam, da ti lahko pomaga, hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo skyyang

dela pravilno.....
pravzaprav sem hotel isto..

najlepša hvala !!


Meharban singh prijatelj
Ta komentar je moderator na spletnem mestu minimiziral
Kako odstraniti dvojnike ujemajočih se nizov ... mi lahko poveste, prosim


S spoštovanjem,
Kiran
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Kiran,
Ali lahko navedete primer svoje težave? Lahko pa vstavite sliko priloge.
Veselimo se vašega odgovora!
Ta komentar je moderator na spletnem mestu minimiziral
hvala lepa, mi bolj pomaga. Ampak želim nekaj posebnega za svoj nabor podatkov.
Imam dva stolpca podatkov. ID in informacije. V stolpcu Info se ponovi ID projekta na celico, kot je "Kant-, Udp-, Akr- etc". Za moj nabor podatkov je project_id več kot 15 in je popravljeno. Zato želim izbrisati repeated_id iz celice, vendar obdržati prvo.
Primer: 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)

Vzorčna slika je priložena tukaj. Ali obstaja kakšna rešitev za to.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Imran,
Oprostite, ker nisem rešil vaše težave, če ima kdo dobro idejo, naj komentira tukaj.
Hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Sama imam rešitev. Tukaj sem uporabil formulo SUBSTITUTE, vendar je prevelika za moje podatke. zato ponovite dva ali trikrat, da dobite ustrezen rezultat.

=SUBSTITUTE(SUBSTITUTE("Kant-","",2), ("Kant-","",2)
Tukaj 1. 2 za drugo Kant- zamenjavo in za naslednje vsako Kant- odstranjevanje samo dodajte ("Kant-","",2) dodatno. Deluje zame. Ampak raje imam dober VBA.
Ta komentar je moderator na spletnem mestu minimiziral
Hvala za kodo.

Mi lahko prosim pomagate? Za odstranjevanje besed, ločenih z ločili v celici, uporabljam funkcijo makra, vendar moji podatki niso besede, ampak fraze. Kot namesto "KTE, KTO, KTW, KTO" so pravzaprav kratki opisi, kot je "pripravi račun, pregledaj moja e-poštna sporočila, posodobi pogodbe, pregledaj moja e-poštna sporočila".

Ali bi bilo mogoče posodobiti VBA, da bi odstranili podvojene fraze namesto besed?

Najlepša hvala, to bo dejansko zelo koristno.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Alonso,
Če želite odstraniti podvojene fraze, vam lahko pomaga naslednja uporabniško definirana funkcija, poskusite.

Funkcija RemoveDuplicateValue(xStr kot niz, xDelim kot niz) kot niz
Dim xValue
Če (Len(xDelim) > 0) In (Len(Trim(xStr)) > 0) Potem
Z CreateObject("Scripting.Dictionary")
Za vsako xValue v Split(xStr, xDelim)
Če Trim(xValue) <> "" In ne .exist(Trim(xValue)) potem .Add Trim(xValue), Nič
Naslednji
Če je .Count > 0, potem RemoveDuplicateValue = Join(.keys, xDelim)
Končaj s
Else
RemoveDuplicateValue = xStr
Konec Če
End Function

Nato uporabite to formulo: =RemoveDuplicateValue(A2,","), spremenite ločilo na svoje.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni skyyang,



Upam, da bom dobil pomoč pri naslednji celici:

PR-PUERTO RICO; ZDA-ZDRUŽENE DRŽAVE; ZDA-ZDRUŽENE DRŽAVE

Potrebujem odstraniti podvojene US-UNITED STATES, ker moje orodje za nalaganje ne dopušča dvojnikov.



Uporabil sem zgornji VBA in zamenjal ločevalnik formule z ";". Ali vezaj povzroča to težavo? Vrne #NAME? kadarkoli zaženem formulo. Sem nov pri makri/VBA, vendar sem poskrbel, da je bila datoteka shranjena kot datoteka z omogočenimi makri. Res sem poskušal slediti tem do T.


Hvala za vse te že tako odlične informacije, saj so pomagale tudi pri drugem projektu, ki sem ga moral dokončati, in vse dodatno je zelo cenjeno.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Michael,
Ali mislite odstraniti vse podvojene fraze iz celice in pustiti samo edinstvene?
Veselite se vašega odgovora!
Ta komentar je moderator na spletnem mestu minimiziral
To je rezultat, ki ga iščem:

Trenutni: PR-PUERTO RICO; ZDA-ZDRUŽENE DRŽAVE; ZDA-ZDRUŽENE DRŽAVE
Zaželeno: PR-PUERTO RICO; ZDA-ZDRUŽENE DRŽAVE

Upam, da je to smiselno in najlepša hvala za hiter odgovor.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, Michael,
Uporabiti morate samo spodnjo kodo in nato uporabiti to formulo: =RemoveDuplicateValue(A2,";"). Prosim poskusite, upam, da vam lahko pomaga!

Funkcija RemoveDuplicateValue(xStr kot niz, xDelim kot niz) kot niz
Dim xValue
Če (Len(xDelim) > 0) In (Len(Trim(xStr)) > 0) Potem
Z CreateObject("Scripting.Dictionary")
Za vsako xValue v Split(xStr, xDelim)
Če Trim(xValue) <> "" In ne .exist(Trim(xValue)) potem .Add Trim(xValue), Nič
Naslednji
Če je .Count > 0, potem RemoveDuplicateValue = Join(.keys, xDelim)
Končaj s
Else
RemoveDuplicateValue = xStr
Konec Če
End Function
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala. Vaš odgovor je bil bolj dobrodošel kot moja skodelica kave!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, to je res v pomoč
Ampak želim odstraniti celotne besede za "NE TO:"

npr.: NE ZA: [C11bx1]

NE TO: [C11bx3] takole
Tu še ni objavljenih komentarjev
Obremenitev Več
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije