Kiel forigi duplikatojn ene de ĉelo en Excel

  • Kundividu Ĉi Tion
Michael Brown

Estas tri manieroj trovi kaj forigi duplikatojn ene de ĉelo en Excel. Simple elektu tiun, kiu funkcias plej bone por vi.

Kiam temas pri forigo de duplikataj valoroj aŭ vicoj, Microsoft Excel ofertas diversajn opciojn. Sed kiam temas pri forigi identan tekston ene de donita ĉelo, Excel provizas... nenion. Neniuj iloj, neniuj trajtoj, neniuj formuloj, neniu nenio. Ĉu ĝi malhelpos nin atingi nian celon? En neniu kazo. Se Excel ne havas la funkcion, kiun ni bezonas, ni iru skribi nian propran :)

    Kiel forigi ripetajn vortojn en Excel-ĉelo

    Problemo : Vi havas la samajn vortojn aŭ tekstajn ŝnurojn en ĉelo kaj ŝatus forigi la duan kaj ĉiujn postajn ripetojn.

    Solvo : kutima uzant-difinita funkcio aŭ VBA-makroo.

    Uzant-difinita funkcio por forigi duplikatojn ene de ĉelo

    Por forigi duplikatan tekston en ĉelo, vi povas uzi la jenan uzant-difinitan funkcion (UDF) , named RemoveDupeWords :

    Function RemoveDupeWords(text As String , Optional delimiter As String = " " ) As String Dim vortaro As Object Dim x, part Set dictionary = CreateObject ( "Scripting.Dictionary" ) vortaro .CompareMode = vbTekstoKomparu Por Ĉiu x En Split(teksto, limilo) parto = Trim(x) Se parto "" Kaj Ne vortaro.Ekzistas (parto) Tiam vortaro.Aldoni parton, Nenio Finu Se Sekva Se vortaro.Nombri > 0 Tiam ForiguDupeWords = Aliĝu (vortaro.keys,limigilo) Else RemoveDupeWords = "" Finu Se Agordu vortaron = Nenio Finu Funkcion

    Kiel enigi la kodon de la funkcio en vian laborlibron

    Por aldoni la supran kodon al via Excel, jen kion vi devas fari:

    1. Premu Alt + F11 por malfermi la Visual Basic Editor.
    2. Sur la maldekstra panelo, dekstre alklaku Tiu Laborlibro kaj elektu Enmeti > Modulo .
    3. Algluu la supran kodon en la fenestron Kodo .

    Por pliaj informoj, bonvolu vidi Kiel enigi VBA. kodon en Excel.

    ForigiDupeWords-funkcia sintakso

    Nia nove kreita funkcio por forigi duplikatan tekston en ĉelo havas la jenan sintakson:

    ForigiDupeWords(teksto, [limigilo])

    Kie :

    • Teksto (postulata) - ĉeno aŭ ĉelo el kiu vi volas forigi ripetan tekston.
    • Limigilo (laŭvola) - la limigilo per kiu la ripeta teksto estas apartigita. Se ellasita, spaco estas uzata por la limigilo.

    La funkcio estas ne distinga majuskloj , tio signifas, ke minuskloj kaj majusklaj literoj estas traktataj kiel la samaj signoj.

    Kiel uzi la funkcion RemoveDupeWords

    Kiam la kodo de la funkcio estas aldonita al via laborlibro, vi povas uzi ĝin en viaj formuloj same kiel vi uzas la enkonstruitajn funkciojn de Excel.

    Nur komencu tajpi la nomon de la funkcio post la egala signo, kaj ĝi aperos en la formulo intellisense. Duoble alklaku la funkcion, kaj vi havos ĝinenigita en ĉelon. Difinu la argumentojn, tajpu la ferman krampon, premu Enter , kaj via formulo estas finita.

    Ekzemple, por forigi duplikatajn vortojn apartigitajn per komo kaj spaco de A2, enigu la suban formulon en B2, kaj tiam trenu ĝin malsupren tra tiom da ĉeloj kiom necesas:

    =RemoveDupeWords(A2, ", ")

    Kiel rezulto, vi havos liston de unikaj vortoj aŭ subĉenoj apartigitaj per komo kaj spaco :

    Se vi preferas ricevi liston per komo apartigita, tiam uzu nur komon por la limigo :

    =RemoveDupeWords(A2, ",")

    Se viaj fontaj datumoj estas apartigitaj per spaco , la dua argumento estu " " aŭ ellasita:

    =RemoveDupeWords(A2)

    Kiel ĉiu alia Excel-funkcio, nia UDF rekalkulas aŭtomate kiam la fontaj datumoj ŝanĝiĝas, do viaj rezultoj ĉiam estos ĝisdatigitaj.

    VBA-makro por forigi duplikatan tekston de pluraj ĉeloj samtempe

    Se vi celas forigi ripetitan tekston de pluraj ĉeloj unufoje, tiam vi povas voki la funkcion ForigiDupeWords el m ene de makroo. En ĉi tiu kazo, la limigilo estas malmola kodita, kaj vi devos ĝisdatigi la kodon de la makroo ĉiufoje kiam la limigilo ŝanĝiĝas. Alternative, vi povas skribi kelkajn kodvariojn por la plej oftaj limigiloj, ekzemple, spaco, komo aŭ komo kaj spaco, kaj doni al viaj makrooj signifoplenajn nomojn, ekz. ForigiDupesDelimSpace .

    La kodo de la makroo estas jena:

    Publika Sub RemoveDupeWords2() Malklara ĉelo Kiel Gamo Por Ĉiu ĉelo En Application.Selection cell.Value = ForigiDupeWords(ĉelo.Valoro, ", " ) Next End Sub

    En ĉi-supra kodo, la limigilo estas komo kaj spaco . Por uzi alian limigilon, anstataŭigu ", " per alia(j) signo(j)n en ĉi tiu kodlinio:

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

    Noto. Por ke la makroo funkciu, ĝia kodo kaj la kodo de la funkcio RemoveDupeWords devas esti metitaj sur la saman modulon.

    Kiel uzi la makroon

    Enigu la kodon de la makroo en vian propran laborlibron aŭ malfermu nian ekzemplan laborlibron kun la kodo, kaj poste faru la sekvajn paŝojn por ruli la makroon.

    1. Elektu gamon da ĉeloj el kiuj vi volas forigi ripetan tekston.
    2. Premu Alt + F8 por malfermi la dialogujon Makro .
    3. En la listo de makrooj, elektu ForigiDupeWords2 .
    4. Alklaku Run .

    Por pliaj detaloj, bonvolu vidi Kiel ruli makroon en Excel.

    Notu. Ĉar la ago de makroo ne povas esti malfarita , ni forte rekomendas konservi vian laborlibron ĝuste antaŭ ol uzi la makroon. Tiel, se io misfunkcias, vi povas simple fermi kaj remalfermi la laborlibron, kaj vi revenos ĝuste kie vi estis. Aŭ vi povas simple fari kopion de la laborfolio(j) kiu povus esti tuŝita de la makroo.

    Kiel forigi duplikatajn signojn en ĉelo

    Problemo : Vi havas plurajn okazojn de la sama signo en ĉelo, dum ĉiuĉelo devus enhavi nur ununuran aperon de donita signo.

    Solvo : kutima uzant-difinita funkcio aŭ VBA-makroo.

    Uzant-difinita funkcio por forigi ripetajn signojn

    Por forigi duplikatajn signojn ene de ĉelo konservante nur la unuajn aperon, vi povas uzi la sekvan uzant-difinitan funkcion, nomatan ForigiDupeChars :

    Funkcio RemoveDupeChars(text As String ) As String Dim vortaro As Object Dim char As String Dim rezulto As String Set dictionary = CreateObject ( "Scripting.Dictionary" ) For i = 1 To Len (text) char = Mid (text, i, 1 ) Se Ne vortaro.Ekzistas(char) Tiam vortaro.Aldoni char, Nenio rezulto = rezulto & char Fino Se Sekva RemoveDupeChars = rezulto Aro vortaro = Nenio Fino Funkcio

    Por enigi la kodon de la funkcio en vian laborlibron, la paŝoj estas ekzakte la samaj kiel en la antaŭa ekzemplo.

    RemoveDupeChars-funkcia sintakso

    La sintakso de ĉi tiu kutima funkcio estas tiel simpla kiel ĝi povas esti - nur unu argumento estas bezonata:

    RemoveDupeChars(text)

    Kie text estas ĉeno aŭ ĉelo el kiu vi deziras por forigi duplikatajn signojn.

    La funkcio estas majuskle-distinga kaj traktas minusklojn kaj majusklojn kiel malsamajn signojn.

    Kiel uzi la funkcion RemoveDupeChars

    Ĉio, kion ni diris pri la uzo de RemoveDupeWords, validas por RemoveDupeChars . Do, sen iritro multe en teorion, ni iru rekte al ekzemplo.

    Por forigi duplikatajn signojn de kolumno A komencanta en A2, enigu ĉi tiun formulon en B2 kaj kopiu ĝin malsupren:

    =RemoveDupeChars(A2)

    Kiel vi povas vidi en la suba bildo, la funkcio sukcese traktas malsamajn signotipojn inkluzive de literoj, ciferoj kaj specialaj simboloj:

    Konsilo. Se viaj signoj estas apartigitaj unu de la alia per iu limigilo kiel spaco, komo aŭ streketo, tiam uzu la funkcion ForigiDupeWords kiel montrite en la antaŭa ekzemplo.

    VBA-makro por forigi la samajn signojn de ĉelo

    Kiel RemoveDupeWords , la funkcio RemoveDupeChars ankaŭ povas esti vokita de ene de makroo:

    Publika Sub RemoveDupeChars2() Malklara ĉelo Kiel Gamo Por Ĉiu ĉelo En Application.Selection cell.Value = RemoveDupeChars(cell.Value) Sekva Fino Sub

    Ĉar ĉi tiu UDF ne uzas neniun limigilon, vi ne devos fari ajnajn alĝustigojn en la kodon.

    Notu. Por ke la makroo funkciu, ĝia kodo kaj la kodo de RemoveDupeChars UDF devas esti metitaj sur la saman modulon en la VBA-redaktilo.

    Kiel uzi la makroon

    Supozante, ke vi jam enigis la kodon de la makroo en vian laborlibron aŭ malfermis nian ekzemplan laborlibron enhavantan la kodon, lanĉu la makroon tiamaniere.

    1. Elektu gamon da ĉeloj el kiuj vi volas forigi ripetajn signojn.
    2. Premu Alt + F8 por malfermi la dialogon Makro .skatolo.
    3. En la listo de makrooj, elektu ForigiDupeChars2 .
    4. Alklaku Run .

    Forigi duplikatajn subŝnurojn per Ultimate Suite

    Komence de ĉi tiu lernilo, oni menciis, ke Microsoft Excel ne havas enkonstruitan funkcion por forigi duplikatojn ene de ĉelo. Sed nia Ultimate Suite jes!

    Vi povas trovi ĝin en la falmenuo Duplicate Remover sur la langeto Ablebits Data , en la Dedupe grupo. Se la opcio Forigi Duplikatajn Subŝnurojn ne aperas en via Excel, certigu, ke vi havas la lastan version de Ultimate Suite instalita (senpaga provo estas elŝutebla ĉi tie).

    Por forigi ripetajn vortojn aŭ tekston de pluraj ĉeloj en 5 sekundoj (sekundo por paŝo :), jen kion vi devas fari:

    1. Elektu viajn fontajn datumojn kaj lanĉu la Forigu Duplikatajn Subŝnurojn .
    2. Specifiu la limigilon .
    3. Difinu ĉu trakti sinsekvajn limigilojn kiel unu (defaŭlte).
    4. Elektu ĉu fari serĉon majuskkle majuskkle .
    5. Alklaku Forigi .

    Fine! Neniu luado kun VBA aŭ formuloj, nur rapidaj kaj precizaj rezultoj.

    Por lerni pli pri ĉi tiu mirinda aldonaĵo, bonvolu viziti ĝian ĉefpaĝon. Aŭ eĉ pli bone, elŝutu taksan version sube kaj provu ĝin!

    Tiel forigi duplikatan tekston en ĉelo.Mi dankas vin pro legi kaj esperas vidi vin en nia blogo venontsemajne!

    Haveblaj elŝutoj

    Ekzemploj por forigi duplikatojn en ĉelo (.xlsm-dosiero)

    Ultimate Suite 14 -taga plenfunkcia versio (.exe dosiero)

    Michael Brown estas diligenta teknologia entuziasmulo kun pasio por simpligi kompleksajn procezojn uzante programarajn ilojn. Kun pli ol jardeko da sperto en la teknologia industrio, li perfektigis siajn kapablojn en Microsoft Excel kaj Outlook, same kiel Google Sheets kaj Docs. La blogo de Mikaelo estas dediĉita al kunhavigi siajn sciojn kaj kompetentecon kun aliaj, provizante facilajn sekvajn konsiletojn kaj lernilojn por plibonigi produktivecon kaj efikecon. Ĉu vi estas sperta profesiulo aŭ komencanto, la blogo de Mikaelo ofertas valorajn komprenojn kaj praktikajn konsilojn por eltiri la plej multajn el ĉi tiuj esencaj programaj iloj.