Kako odstraniti podvojitve v celici v Excelu

  • Deliti To
Michael Brown

V Excelu obstajajo trije načini iskanja in brisanja podvojevanj v celici. Izberite tistega, ki vam najbolj ustreza.

Ko gre za odstranjevanje podvojenih vrednosti ali vrstic, Microsoft Excel ponuja vrsto različnih možnosti. Ko pa gre za odstranjevanje enakega besedila v določeni celici, Excel ne ponuja... ničesar. Nobenega orodja, nobene funkcije, nobene formule, ničesar. Ali nas to ovira pri doseganju našega cilja? Nikakor. Če Excel nima funkcije, ki jo potrebujemo, napišimo svojo :)

    Kako odstraniti ponavljajoče se besede v celici Excel

    Problem : V celici imate iste besede ali besedilne nize in želite odstraniti drugo in vse naslednje ponovitve.

    Rešitev : uporabniško opredeljena funkcija ali makro VBA po meri.

    Uporabniško opredeljena funkcija za odstranjevanje podvojitev v celici

    Če želite odpraviti podvojeno besedilo v celici, lahko uporabite naslednjo uporabniško definirano funkcijo (UDF) z imenom RemoveDupeWords :

    Funkcija 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

    Kako vstaviti kodo funkcije v delovni zvezek

    Če želite v Excel dodati zgornjo kodo, morate storiti naslednje:

    1. Pritisnite Alt + F11, da odprete urejevalnik Visual Basic.
    2. V levem podoknu z desno tipko miške kliknite Ta delovna knjiga in izberite Vstavite > Modul .
    3. Zgornjo kodo prilepite v Koda okno.

    Za več informacij glejte Kako vstaviti kodo VBA v Excel.

    Skladnja funkcije RemoveDupeWords

    Naša novo ustvarjena funkcija za odstranjevanje podvojenega besedila v celici ima naslednjo sintakso:

    RemoveDupeWords(besedilo, [delimiter])

    Kje:

    • Besedilo (obvezno) - niz ali celica, iz katere želite izbrisati ponavljajoče se besedilo.
    • Razmejitev (neobvezno) - ločilo, s katerim je ločeno ponavljajoče se besedilo. Če ga izpustite, se za ločilo uporabi presledek.

    Funkcija je ni občutljivo na velikost črk , kar pomeni, da so male in velike črke obravnavane kot enaki znaki.

    Kako uporabljati funkcijo RemoveDupeWords

    Ko je koda funkcije dodana v delovni zvezek, jo lahko uporabite v formulah na enak način kot vgrajene funkcije programa Excel.

    Za znakom za enakost začnite vnašati ime funkcije in prikazalo se bo v intellisense formule. Dvakrat kliknite funkcijo in vstavljena bo v celico. Opredelite argumente, vnesite zaključni oklepaj, pritisnite Enter in formula je končana.

    Če želite na primer iz A2 izbrisati podvojene besede, ločene z vejico in presledkom, vnesite spodnjo formulo v B2 in jo nato povlecite navzdol skozi poljubno število celic:

    =RemoveDupeWords(A2, ", ")

    Rezultat bo seznam edinstvenih besed ali podrederjev, ločenih z znakom vejica in presledek :

    Če bi raje dobili seznam, ločen z vejico, uporabite samo vejica za ločilo:

    =RemoveDupeWords(A2, ",")

    Če so izvorni podatki ločeni z prostor , drugi argument mora biti " " ali izpuščen:

    =RemoveDupeWords(A2)

    Tako kot vsaka druga funkcija programa Excel se tudi naša funkcija UDF samodejno preračuna, ko se spremenijo izvorni podatki, zato bodo vaši rezultati vedno posodobljeni.

    Makro VBA za brisanje podvojenega besedila iz več celic hkrati

    Če želite odstraniti ponavljajoče se besedilo iz več celic naenkrat, lahko pokličete RemoveDupeWords V tem primeru je razmejitveni znak trdno zakodiran, zato boste morali kodo makra posodobiti vsakič, ko se bo razmejitveni znak spremenil. Lahko pa napišete nekaj različic kode za najpogostejše razmejitvene znake, na primer presledek, vejico ali vejico in presledek, ter makrom dodelite smiselna imena, npr. RemoveDupesDelimSpace .

    Koda makra je naslednja:

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

    V zgornji kodi je ločilo vejica in presledek Če želite uporabiti drugačen ločilnik, v tej kodni vrstici zamenjajte ", " z drugim(-i) znakom(-i):

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

    Opomba: Da bi makro deloval, morata biti njegova koda in koda funkcije RemoveDupeWords v istem modulu.

    Kako uporabljati makro

    Vstavite kodo makra v svoj delovni zvezek ali odprite naš vzorčni delovni zvezek s kodo, nato pa izvedite naslednje korake za zagon makra.

    1. Izberite obseg celic, iz katerih želite odstraniti ponavljajoče se besedilo.
    2. Pritisnite Alt + F8, da odprete Makro pogovorno okno.
    3. Na seznamu makrov izberite RemoveDupeWords2 .
    4. Kliknite . Spustite .

    Za več podrobnosti glejte Kako zagnati makro v Excelu.

    Opomba. Ker je akcija makra ni mogoče preklicati. , vam priporočamo, da pred uporabo makra shranite delovni zvezek. Če gre kaj narobe, lahko tako preprosto zaprete in ponovno odprete delovni zvezek ter se vrnete na prejšnje mesto. Lahko pa naredite tudi kopijo delovnega lista ali listov, na katere bo makro morda vplival.

    Kako odstraniti podvojene znake v celici

    Problem : V celici se večkrat pojavi isti znak, medtem ko bi morala vsaka celica vsebovati le eno pojavitev določenega znaka.

    Rešitev : uporabniško opredeljena funkcija ali makro VBA po meri.

    Uporabniško opredeljena funkcija za brisanje ponavljajočih se znakov

    Če želite odstraniti podvojene znake v celici in ohraniti samo prve pojavitve, lahko uporabite naslednjo uporabniško definirano funkcijo z imenom RemoveDupeChars :

    Funkcija 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

    Če želite kodo funkcije vstaviti v delovni zvezek, so koraki popolnoma enaki kot v prejšnjem primeru.

    Skladnja funkcije RemoveDupeChars

    Sintaksa te funkcije po meri je kar se da preprosta - potreben je le en argument:

    RemoveDupeChars(besedilo)

    Kje: besedilo je niz ali celica, iz katere želite odstraniti podvojene znake.

    Funkcija je , ki upošteva velike in male črke. in obravnava male in velike črke kot različne znake.

    Kako uporabljati funkcijo RemoveDupeChars

    Vse, kar smo povedali o uporabi funkcije RemoveDupeWords, velja tudi za RemoveDupeChars . Ne da bi se preveč ukvarjali s teorijo, preidimo na primer.

    Če želite izbrisati podvojene znake iz stolpca A, ki se začne v A2, vnesite to formulo v B2 in jo kopirajte navzdol:

    =RemoveDupeChars(A2)

    Kot je razvidno iz spodnje slike, funkcija uspešno obdeluje različne vrste znakov, vključno s črkami, številkami in posebnimi simboli:

    Nasvet. Če so vaši liki med seboj ločeni razmejitev kot so presledek, vejica ali pomišljaj, uporabite RemoveDupeWords kot je prikazano v prejšnjem primeru.

    Makro VBA za odstranitev enakih znakov iz celice

    Kot RemoveDupeWords , je RemoveDupeChars funkcijo lahko pokličete tudi znotraj makra:

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

    Ker ta UDF ne uporablja nobenega razmejitvenega elementa, vam v kodi ne bo treba ničesar prilagajati.

    Opomba: Da bi makro deloval, morata biti njegova koda in koda UDF RemoveDupeChars v urejevalniku VBA v istem modulu.

    Kako uporabljati makro

    Če ste kodo makra že vstavili v delovni zvezek ali odprli naš vzorčni delovni zvezek, ki vsebuje kodo, zaženite makro na ta način.

    1. Izberite obseg celic, iz katerih želite odstraniti ponavljajoče se znake.
    2. Pritisnite Alt + F8, da odprete Makro pogovorno okno.
    3. Na seznamu makrov izberite RemoveDupeChars2 .
    4. Kliknite . Spustite .

    Odstranjevanje podvojenih podredij s paketom Ultimate Suite

    Na začetku tega priročnika je bilo omenjeno, da Microsoft Excel nima vgrajene funkcije za odstranjevanje podvojevanj v celici. Toda naš paket Ultimate Suite jo ima!

    Najdete ga v Odstranjevalec dvojnikov v spustnem meniju na Podatkovni zapisi o napravah Ablebits v zavihku Dedupe Če je skupina Odstranjevanje podvojenih podredij ni prikazana v programu Excel, preverite, ali imate nameščeno najnovejšo različico paketa Ultimate Suite (brezplačni preizkusni paket lahko prenesete tukaj).

    Če želite odstraniti ponavljajoče se besede ali besedilo iz več celic v 5 sekundah (sekundo na korak :), morate storiti naslednje:

    1. Izberite izvorne podatke in zaženite Odstranjevanje podvojenih podredij orodje.
    2. Določite razmejitev .
    3. Opredelitev, ali naj se zdravi zaporedni razmejitveni znaki kot ena (privzeto).
    4. Izberite, ali želite izvesti , ki upošteva velike in male črke. ali razločevanje velikih in malih črk iskanje.
    5. Kliknite . Odstranite .

    Končano! Nobenega ukvarjanja z VBA ali formulami, le hitri in natančni rezultati.

    Če želite izvedeti več o tem odličnem dodatku, obiščite njegovo domačo stran. Ali še bolje, prenesite spodnjo preizkusno različico in jo preizkusite!

    Tako odstranite podvojeno besedilo v celici. Zahvaljujem se vam za branje in upam, da se naslednji teden vidimo na našem blogu!

    Razpoložljivi prenosi

    Primeri za odstranjevanje podvojitev v celici (.xlsm datoteka)

    Ultimate Suite 14-dnevna popolnoma funkcionalna različica (.exe datoteka)

    Michael Brown je predan tehnološki navdušenec s strastjo do poenostavljanja kompleksnih procesov z uporabo programskih orodij. Z več kot desetletnimi izkušnjami v tehnološki industriji je svoje veščine izpopolnil v Microsoft Excelu in Outlooku ter Google Preglednicah in Dokumentih. Michaelov blog je namenjen deljenju svojega znanja in strokovnega znanja z drugimi ter ponuja preproste nasvete in vadnice za izboljšanje produktivnosti in učinkovitosti. Ne glede na to, ali ste izkušen strokovnjak ali začetnik, Michaelov blog ponuja dragocene vpoglede in praktične nasvete, kako kar najbolje izkoristiti ta osnovna programska orodja.