Hvernig á að fjarlægja afrit innan reits í Excel

  • Deildu Þessu
Michael Brown

Það eru þrjár leiðir til að finna og eyða afritum innan reits í Excel. Veldu bara þann sem hentar þér best.

Þegar það snýst um að fjarlægja tvítekin gildi eða raðir, býður Microsoft Excel upp á fjölda mismunandi valkosta. En þegar kemur að því að fjarlægja sams konar texta innan tiltekins reits, gefur Excel ... ekkert. Engin verkfæri, engir eiginleikar, engar formúlur, ekkert ekkert. Mun það koma í veg fyrir að við náum markmiði okkar? Í engu tilviki. Ef Excel er ekki með aðgerðina sem við þurfum, þá skulum við skrifa okkar eigin :)

    Hvernig á að fjarlægja endurtekin orð í Excel klefi

    Vandamál : Þú ert með sömu orð eða textastrengi í reit og vilt fjarlægja seinni og allar síðari endurtekningar.

    Lausn : sérsniðin notendaskilgreind aðgerð eða VBA fjölvi.

    Notandaskilgreint fall til að fjarlægja tvítekningar innan reits

    Til að útrýma tvíteknum texta í reit geturðu notað eftirfarandi notendaskilgreinda aðgerð (UDF) , sem heitir RemoveDupeWords :

    Fall RemoveDupeWords(text As String , Optional delimiter As String = " " ) As String Dim dictionary As Object Dim x, part Set dictionary = CreateObject ( "Scripting.Dictionary") orðabók .CompareMode = vbTextCompare Fyrir hvert x In Split(texti, afmörkun) hluti = Trim(x) Ef hluti "" Og Ekki orðabók.Er til(hluti) Síðan orðabók.Bæta við hluta, Ekkert End If Next If dictionary.Count > 0 Þá RemoveDupeWords = Join(dictionary.keys,delimiter) Else RemoveDupeWords = "" End If Set dictionary = Nothing End Function

    Hvernig á að setja kóða fallsins inn í vinnubókina þína

    Til að bæta ofangreindum kóða við Excel þarftu að gera þetta:

    1. Ýttu á Alt + F11 til að opna Visual Basic ritilinn.
    2. Á vinstri glugganum skaltu hægrismella á ThisWorkbook og velja Insert > Eining .
    3. Límdu ofangreindan kóða í gluggann Kóði .

    Nánari upplýsingar er að finna í Hvernig á að setja inn VBA kóða í Excel.

    RemoveDupeWords setningafræði aðgerða

    Nýlega stofnað aðgerð okkar til að fjarlægja tvítekinn texta í reit hefur eftirfarandi setningafræði:

    RemoveDupeWords(texti, [afmörkun])

    Hvar :

    • Texti (áskilið) - strengur eða hólf sem þú vilt eyða endurteknum texta úr.
    • Afmörkun (valfrjálst) - afmörkunin sem endurtekinn texti er aðskilinn með. Ef því er sleppt er bil notað fyrir afmörkunina.

    Funkið er ekki hástafaviðkvæmt , sem þýðir að litið er á lágstafi og hástafi sem sömu stafi.

    Hvernig á að nota aðgerðina RemoveDupeWords

    Þegar kóða aðgerðarinnar hefur verið bætt við vinnubókina þína geturðu notað hann í formúlurnar þínar á sama hátt og þú notar innbyggðu aðgerðirnar í Excel.

    Byrjaðu bara að slá inn nafn fallsins á eftir jöfnunarmerkinu og það mun birtast í formúlunni intellisense. Tvísmelltu á aðgerðina og þú munt hafa hanasett í klefa. Skilgreindu rökin, sláðu inn lokasvigann, ýttu á Enter og formúlunni þinni er lokið.

    Til dæmis, til að eyða tvíteknum orðum aðskilin með kommu og bili frá A2, sláðu inn formúluna hér að neðan í B2, og dragðu hana síðan niður í gegnum eins margar frumur og þú þarft:

    =RemoveDupeWords(A2, ", ")

    Þar af leiðandi muntu hafa lista yfir einstök orð eða undirstrengi aðskilin með komma og bil :

    Ef þú vilt frekar fá lista sem er aðskilinn með kommum, notaðu þá aðeins kommu fyrir afmörkunina :

    =RemoveDupeWords(A2, ",")

    Ef upprunagögnin þín eru aðskilin með bili ætti seinni röksemdin að vera " " eða sleppt:

    =RemoveDupeWords(A2)

    Eins og hver önnur Excel aðgerð, endurreikna UDF okkar sjálfkrafa þegar upprunagögnin breytast, þannig að niðurstöður þínar verða alltaf uppfærðar.

    VBA fjölvi til að eyða tvíteknum texta úr mörgum hólfum í einu

    Ef þú ert að leita að endurteknum texta úr mörgum hólfum í einu, þá geturðu kallað á RemoveDupeWords aðgerðina frá m innan fjölvi. Í þessu tilviki er afmörkunin harðkóða, og þú verður að uppfæra kóðann fyrir fjölva í hvert skipti sem afmörkunin breytist. Að öðrum kosti geturðu skrifað nokkrar kóðaafbrigði fyrir algengustu afmörkunina, td bil, kommu eða kommu og bil, og gefið fjölvunum þínum þýðingarmikil nöfn, t.d. RemoveDupesDelimSpace .

    Kóði fjölvisins er sem hér segir:

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

    Í ofangreindum kóða er afmörkunin komma og pláss . Til að nota annað afmörkun skaltu skipta út ", " fyrir annan staf í þessari kóðalínu:

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

    Athugið. Til að fjölvi virki verður að setja kóða þess og kóða RemoveDupeWords fallsins á sömu einingu.

    Hvernig á að nota makróið

    Settu makrókóðann inn í þína eigin vinnubók eða opnaðu sýnishornsvinnubókina okkar með kóðanum og framkvæmdu síðan eftirfarandi skref til að keyra makróið.

    1. Veldu svið af hólfum sem þú vilt fjarlægja endurtekinn texta úr.
    2. Ýttu á Alt + F8 til að opna Macro valmyndina.
    3. Í listanum yfir fjölva, veldu RemoveDupeWords2 .
    4. Smelltu á Run .

    Nánari upplýsingar er að finna í Hvernig á að keyra fjölvi í Excel.

    Athugið. Þar sem aðgerð makrós er ekki hægt að afturkalla , mælum við eindregið með því að vista vinnubókina þína rétt áður en makróið er notað. Á þennan hátt, ef eitthvað fer úrskeiðis, geturðu einfaldlega lokað og opnað vinnubókina aftur og þú kemur aftur nákvæmlega þar sem þú varst. Eða þú getur bara búið til afrit af vinnublaðinu sem gæti orðið fyrir áhrifum af fjölvi.

    Hvernig á að fjarlægja tvítekna stafi í reit

    Vandamál : Þú hefur mörg tilvik af sama staf í reit, á meðan hverhólf ætti aðeins að innihalda eitt tilvik af tilteknum staf.

    Lausn : sérsniðið notendaskilgreint fall eða VBA fjölvi.

    Notandaskilgreind aðgerð til að eyða endurteknum stöfum

    Til að fjarlægja tvítekna stafi innan reits með því að halda aðeins fyrstu tilvikunum geturðu notað eftirfarandi notendaskilgreinda aðgerð, sem heitir RemoveDupeChars :

    Fall RemoveDupeChars(text As String ) As String Dim dictionary As Object Dim char As String Dim result As String Set dictionary = CreateObject ( "Scripting.Dictionary") Fyrir 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

    Til að setja kóða fallsins inn í vinnubókina þína eru skrefin nákvæmlega þau sömu og í fyrra dæmi.

    RemoveDupeChars falla setningafræði

    Setjafræði þessarar sérsniðnu falls er eins einföld og hún getur mögulega verið - aðeins ein rök er krafist:

    RemoveDupeChars(texti)

    Þar sem texti er strengur eða hólf sem þú vilt úr til að fjarlægja tvítekna stafi.

    Aðgerðin er hástafanæm og meðhöndlar lágstafi og hástafi sem mismunandi stafi.

    Hvernig á að nota RemoveDupeChars aðgerðina

    Allt sem við sögðum um notkun RemoveDupeWords er satt fyrir RemoveDupeChars . Svo, án þess að faraof mikið í kenningunni, við skulum fara beint að dæmi.

    Til að eyða tvíteknum stöfum úr dálki A sem byrjar á A2 skaltu slá inn þessa formúlu í B2 og afrita hana niður:

    =RemoveDupeChars(A2)

    Eins og þú sérð á myndinni hér að neðan, þá meðhöndlar aðgerðin mismunandi stafategundir, þar á meðal bókstafi, tölustafi og sérstök tákn:

    Ábending. Ef persónurnar þínar eru aðskildar frá hvor öðrum með einhverju afmarki eins og bili, kommu eða bandstrik, þá skaltu nota RemoveDupeWords aðgerðina eins og sýnt er í fyrra dæmi.

    VBA fjölvi til að fjarlægja sömu stafi úr reit

    Eins og RemoveDupeWords er einnig hægt að kalla á RemoveDupeChars aðgerðina innan úr fjölvi:

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

    Þar sem þessi UDF notar ekki neina afmörkun, þarftu ekki að gera neinar breytingar í kóðann.

    Athugið. Til að fjölvi virki verður að setja kóða þess og kóða RemoveDupeChars UDF á sömu einingu í VBA ritlinum.

    Hvernig á að nota makróið

    Að því gefnu að þú hafir þegar sett makrókóðann í vinnubókina þína eða opnað sýnishornsvinnubókina okkar sem inniheldur kóðann skaltu ræsa makróið á þennan hátt.

    1. Veldu svið af hólfum sem þú vilt fjarlægja endurtekna stafi úr.
    2. Ýttu á Alt + F8 til að opna Macro gluggannkassi.
    3. Í listanum yfir fjölva skaltu velja RemoveDupeChars2 .
    4. Smelltu á Run .

    Fjarlægðu tvítekna undirstrengi með Ultimate Suite

    Í upphafi þessa kennsluefnis var minnst á að Microsoft Excel er ekki með innbyggðan eiginleika til að fjarlægja afrit innan reits. En Ultimate Suite okkar gerir það!

    Þú getur fundið það í Duplicate Remover fellivalmyndinni á Ablebits Data flipanum, í Dedupe hópur. Ef valmöguleikinn Fjarlægja tvítekna undirstrengi birtist ekki í Excel skaltu ganga úr skugga um að þú hafir nýjustu útgáfuna af Ultimate Suite uppsetta (hægt er að hlaða niður ókeypis prufuáskrift hér).

    Til að fjarlægja endurtekin orð eða texta úr mörgum hólfum á 5 sekúndum (sekúndu í hverju skrefi :), þetta er það sem þú þarft að gera:

    1. Veldu upprunagögnin þín og ræstu Fjarlægja tvítekna undirstrengi tól.
    2. Tilgreindu afmarka .
    3. Skilgreindu hvort meðhöndla eigi samfellda afmörkun sem einn (sjálfgefið).
    4. Veldu hvort þú eigir að framkvæma hástafanæxla eða hástafanæmandi leit.
    5. Smelltu á Fjarlægja .

    Lokið! Ekkert að fikta í VBA eða formúlum, bara skjótar og nákvæmar niðurstöður.

    Til að læra meira um þessa frábæru viðbót, vinsamlegast farðu á heimasíðu hennar. Eða jafnvel betra, halaðu niður matsútgáfu hér að neðan og prófaðu!

    Svona á að fjarlægja tvítekinn texta í reit.Ég þakka þér fyrir að lesa og vonast til að sjá þig á blogginu okkar í næstu viku!

    Laust niðurhal

    Dæmi til að fjarlægja afrit í reit (.xlsm skrá)

    Ultimate Suite 14 -day fullkomlega virk útgáfa (.exe skrá)

    Michael Brown er hollur tækniáhugamaður með ástríðu fyrir því að einfalda flókna ferla með hugbúnaðarverkfærum. Með meira en áratug af reynslu í tækniiðnaðinum hefur hann aukið færni sína í Microsoft Excel og Outlook, sem og Google Sheets og Docs. Blogg Michael er tileinkað því að deila þekkingu sinni og sérfræðiþekkingu með öðrum, veita auðveld ráð og leiðbeiningar til að bæta framleiðni og skilvirkni. Hvort sem þú ert vanur fagmaður eða byrjandi, þá býður blogg Michaels upp á dýrmæta innsýn og hagnýt ráð til að fá sem mest út úr þessum nauðsynlegu hugbúnaðarverkfærum.