Sut i gael gwared ar ddyblygiadau o fewn cell yn Excel

  • Rhannu Hwn
Michael Brown

Mae tair ffordd o ddarganfod a dileu copïau dyblyg o fewn cell yn Excel. Dewiswch yr un sy'n gweithio orau i chi.

Pan mae'n ymwneud â dileu gwerthoedd neu resi dyblyg, mae Microsoft Excel yn cynnig amrywiaeth o opsiynau gwahanol. Ond pan ddaw i gael gwared ar yr un testun o fewn cell benodol, mae Excel yn darparu ... dim byd. Dim offer, dim nodweddion, dim fformiwlâu, dim byd. A fydd yn ein hatal rhag cyrraedd ein nod? Mewn unrhyw achos. Os nad oes gan Excel y swyddogaeth sydd ei hangen arnom, gadewch i ni fynd ysgrifennu ein un ein hunain :)

    Sut i gael gwared ar eiriau ailadroddus yng nghell Excel

    Problem : Mae gennych yr un geiriau neu linynnau testun mewn cell a hoffech gael gwared ar yr ail a'r holl ailadroddiadau dilynol.

    Ateb : ffwythiant wedi'i ddiffinio gan ddefnyddiwr wedi'i deilwra neu macro VBA.

    Swyddogaeth a ddiffinnir gan ddefnyddiwr i dynnu copïau dyblyg o fewn cell

    I ddileu testun dyblyg mewn cell, gallwch ddefnyddio'r ffwythiant a ddiffinnir gan y defnyddiwr (UDF) ganlynol , a enwyd RemoveDupeWords :

    Swyddogaeth RemoveDupeWords(text As String , Amffinydd Dewisol Fel Llinyn = " " ) Fel geiriadur Llinynnol Dim Fel Gwrthrych Dim x, rhan Gosod geiriadur = CreateObject ( "Scripting.Dictionary") geiriadur .CompareMode = vbTextCompare Ar Gyfer Pob x Yn Hollti(testun, amffinydd) rhan = Trim(x) Os rhan"" Ac Ddim geiriadur.Exists(rhan) Yna geiriadur.Ychwanegu rhan, Dim Diwedd Os Nesaf Os geiriadur.Count > 0 Yna RemoveDupeWords = Ymuno(dictionary.keys,amffinydd) Else RemoveDupeWords = "" Diwedd Os Gosod geiriadur = Swyddogaeth Diwedd Dim

    Sut i fewnosod cod y ffwythiant yn eich llyfr gwaith

    I ychwanegu'r cod uchod at eich Excel, dyma beth sydd angen i chi ei wneud:

    1. Pwyswch Alt + F11 i agor y Golygydd Sylfaenol Gweledol.
    2. Ar y cwarel chwith, de-gliciwch ThisWorkbook a dewiswch Insert > Modiwl .
    3. Gludwch y cod uchod yn y ffenestr Cod .

    Am ragor o wybodaeth, gweler Sut i fewnosod VBA cod yn Excel.

    Cystrawen ffwythiant RemoveDupeWords

    Mae gan ein swyddogaeth sydd newydd ei chreu ar gyfer tynnu testun dyblyg mewn cell y gystrawen ganlynol:

    RemoveDupeWords(testun, [amffinydd])

    Ble :

    • Testun (gofynnol) - llinyn neu gell yr ydych am ddileu testun sy'n cael ei ailadrodd ohoni.
    • > Amffinydd (dewisol) - yr amffinydd y mae'r testun a ailadroddir yn cael ei wahanu ganddo. Os caiff ei hepgor, defnyddir bwlch ar gyfer y amffinydd.

    Nid yw'r ffwythiant yn sensitif i lythrennau , sy'n golygu bod llythrennau bach a mawr yn cael eu trin fel yr un nodau.

    Sut i ddefnyddio'r ffwythiant RemoveDupeWords

    Unwaith y bydd cod y ffwythiant wedi'i ychwanegu at eich llyfr gwaith, gallwch ei ddefnyddio yn eich fformiwlâu yn yr un modd ag y byddwch yn defnyddio swyddogaethau adeiledig Excel.

    Dechreuwch deipio enw'r swyddogaeth ar ôl yr arwydd cyfartal, a bydd yn ymddangos yn y fformiwla intellisense. Cliciwch ddwywaith ar y swyddogaeth, a bydd gennych chiwedi'i fewnosod mewn cell. Diffiniwch y dadleuon, teipiwch y cromfachau cau, gwasgwch Enter , ac mae'ch fformiwla wedi'i chwblhau.

    Er enghraifft, i ddileu geiriau dyblyg sydd wedi'u gwahanu gan goma a bwlch o A2, rhowch y fformiwla isod yn B2, ac yna llusgwch hi i lawr trwy gynifer o gelloedd ag sydd angen:

    =RemoveDupeWords(A2, ", ")

    O ganlyniad, bydd gennych restr o eiriau neu is-linynnau unigryw wedi'u gwahanu gan coma a gofod :

    Os byddai'n well gennych gael rhestr wedi'i gwahanu gan goma, defnyddiwch goma yn unig ar gyfer y amffinydd :

    =RemoveDupeWords(A2, ",")

    Os yw gofod yn gwahanu eich data ffynhonnell, dylai'r ail arg gael ei " " neu ei hepgor:

    =RemoveDupeWords(A2)

    Fel unrhyw swyddogaeth Excel arall, mae ein UDF yn ailgyfrifo'n awtomatig pan fydd y data ffynhonnell yn newid, felly bydd eich canlyniadau bob amser yn gyfredol.

    VBA macro i ddileu testun dyblyg o gelloedd lluosog ar unwaith

    Os ydych yn bwriadu tynnu testun ailadroddus o gelloedd lluosog ar yr un pryd, yna gallwch ffonio'r swyddogaeth RemoveDupeWords o'r cychwyn cyntaf m o fewn macro. Yn yr achos hwn, mae'r amffinydd wedi'i god caled, a bydd yn rhaid i chi ddiweddaru cod y macro bob tro mae'r amffinydd yn newid. Fel arall, gallwch ysgrifennu ychydig o amrywiadau cod ar gyfer y amffinyddion mwyaf cyffredin, dyweder, gofod, coma, neu goma a gofod, a rhoi enwau ystyrlon i'ch macros, e.e. RemoveDupesDelimSpace .

    Mae cod y macro fel a ganlyn:

    Is-Gyhoeddus RemoveDupeWords2() Cell pylu Fel Ystod Ar Gyfer Pob cell Yn Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", " ) Diwedd Nesaf Is

    Yn y cod uchod, mae'r amffinydd yn goma a gofod . I ddefnyddio amffinydd gwahanol, amnewid " , " gyda nod(au) arall yn y llinell god hon:

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

    Nodyn. Er mwyn i'r macro weithio, rhaid gosod ei god a chod swyddogaeth RemoveDupeWords ar yr un modiwl.

    Sut i ddefnyddio'r macro

    Rhowch god y macro yn eich llyfr gwaith eich hun neu agorwch ein llyfr gwaith sampl gyda'r cod, ac yna perfformiwch y camau canlynol i redeg y macro.

    1. Dewiswch ystod o gelloedd yr ydych am dynnu testun ailadroddus ohonynt.
    2. Pwyswch Alt + F8 i agor y blwch deialog Macro .
    3. Yn y rhestr o macros, dewiswch RemoveDupeWords2 .
    4. Cliciwch Rhedeg .

    Am ragor o fanylion, gweler Sut i rhedeg macro yn Excel.

    Sylwch. Gan na ellir dadwneud gweithred macro , rydym yn argymell yn gryf eich bod yn cadw eich llyfr gwaith yn union cyn defnyddio'r macro. Fel hyn, os aiff rhywbeth o'i le, gallwch gau ac ailagor y llyfr gwaith, a byddwch yn ôl yn union lle'r oeddech. Neu gallwch wneud copi o'r daflen(ni) gwaith y gallai'r macro effeithio arnynt.

    Sut i dynnu nodau dyblyg mewn cell

    Problem : Mae gennych chi sawl digwyddiad o'r un nod mewn cell, tra bod pob undylai cell gynnwys un digwyddiad o nod penodol yn unig.

    Ateb : ffwythiant wedi'i ddiffinio gan ddefnyddiwr wedi'i deilwra neu macro VBA.

    Swyddogaeth wedi'i diffinio gan ddefnyddiwr i ddileu nodau ailadroddus

    I gael gwared ar nodau dyblyg o fewn cell gan gadw'r digwyddiadau cyntaf yn unig, gallwch ddefnyddio'r swyddogaeth ganlynol a ddiffinnir gan y defnyddiwr, o'r enw RemoveDupeChars :

    Swyddogaeth DileuDupeChars(testun Fel Llinynnol ) Fel Llinynnol geiriadur Fel Gwrthrych Dim tor Fel Llinynnol Dim canlyniad Fel Llinynnol Set geiriadur = CreateObject ( "Scripting.Dictionary") Ar gyfer i = 1 I Len(text) torgoch = Canolbarth(testun, i, 1 ) If Not dictionary.Exists(char) Yna dictionary.Add torgoch, Dim canlyniad = canlyniad & char Diwedd Os Nesaf RemoveDupeChars = canlyniad Set dictionary = Dim Diwedd Swyddogaeth

    I fewnosod cod y ffwythiant yn eich llyfr gwaith, mae'r camau yn union yr un fath ag yn yr enghraifft flaenorol.

    RemoveDupeChars function cystrawen

    0>Mae cystrawen y ffwythiant arferiad hwn mor syml ag y gall fod - dim ond un arg sydd ei angen: RemoveDupeChars(text)

    Lle mae testun yn llinyn neu gell yr ydych yn dymuno ohoni i gael gwared ar nodau dyblyg.

    Mae'r ffwythiant yn sensitif i lythrennau ac mae'n trin llythrennau bach a phriflythrennau fel nodau gwahanol.

    Sut i ddefnyddio ffwythiant RemoveDupeChars

    Mae popeth a ddywedasom am y defnydd o RemoveDupeWords yn wir ar gyfer RemoveDupeChars . Felly, heb fyndgormod i mewn i ddamcaniaeth, gadewch i ni fynd yn syth at enghraifft.

    I ddileu nodau dyblyg o golofn A sy'n dechrau yn A2, rhowch y fformiwla hon yn B2 a'i chopïo i lawr:

    =RemoveDupeChars(A2)

    0>Fel y gwelwch yn y ddelwedd isod, mae'r ffwythiant yn delio'n llwyddiannus â gwahanol fathau o nodau gan gynnwys llythrennau, digidau a symbolau arbennig:

    Tip. Os yw'ch nodau wedi'u gwahanu oddi wrth ei gilydd gan ryw amffinydd megis gofod, coma neu gysylltnod, yna defnyddiwch y ffwythiant RemoveDupeWords fel y dangosir yn yr enghraifft flaenorol.

    Macro VBA i dynnu'r un nodau o gell

    Fel RemoveDupeWords , gellir galw'r swyddogaeth RemoveDupeChars hefyd o fewn macro:

    Cyhoeddus Is RemoveDupeChars2() Cell bylu Fel Amrediad Ar Gyfer Pob cell Yn Application.Selection cell.Value = RemoveDupeChars(cell.Value) Diwedd Nesaf Is

    Oherwydd nad yw'r UDF hwn yn defnyddio unrhyw amffinydd, ni fydd yn rhaid i chi wneud unrhyw addasiadau yn y cod.

    Sylwch. Er mwyn i'r macro weithio, rhaid gosod ei god a chod RemoveDupeChars UDF ar yr un modiwl yn y golygydd VBA.

    Sut i ddefnyddio'r macro

    A chymryd eich bod eisoes wedi mewnosod cod y macro yn eich llyfr gwaith neu wedi agor ein gweithlyfr enghreifftiol sy'n cynnwys y cod, lansiwch y macro fel hyn.

    1. Dewiswch ystod o gelloedd yr hoffech dynnu nodau ailadroddus ohonynt.
    2. Pwyswch Alt + F8 i agor y deialog Macro blwch.
    3. Yn y rhestr macros, dewiswch RemoveDupeChars2 .
    4. Cliciwch Rhedeg .

    Dileu is-linynnau dyblyg gyda Ultimate Suite

    Ar ddechrau'r tiwtorial hwn, soniwyd nad oes gan Microsoft Excel nodwedd gynhenid ​​ar gyfer tynnu copïau dyblyg o fewn cell. Ond mae ein Ultimate Suite yn gwneud hynny!

    Gallwch ddod o hyd iddo yn y gwymplen Duplicate Remover ar y tab Ablebits Data , yn y Dedupe grwp. Os nad yw'r opsiwn Dileu Is-linynnau Dyblyg yn ymddangos yn eich Excel, gwnewch yn siŵr bod gennych y fersiwn diweddaraf o Ultimate Suite wedi'i osod (gellir lawrlwytho treial am ddim yma).

    3>

    I dynnu geiriau neu destun ailadroddus o gelloedd lluosog mewn 5 eiliad (eiliad y cam :), dyma beth sydd angen i chi ei wneud:

    1. Dewiswch eich data ffynhonnell a lansiwch y Tynnu Teclyn Is-linynnau Dyblyg .
    2. Nodwch yr amffinydd .
    3. Diffiniwch a ddylid trin amffinydd olynol fel un (diofyn).
    4. Dewiswch a ydych am berfformio chwiliad sy'n sensitif i achos neu ansensitif i achosion .
    5. Cliciwch Dileu .

    Gorffen! Dim ffidlan gyda VBA na fformiwlâu, dim ond canlyniadau cyflym a chywir.

    I ddysgu mwy am yr ychwanegiad anhygoel hwn, ewch i'w dudalen gartref. Neu hyd yn oed yn well, lawrlwythwch fersiwn gwerthuso isod a rhowch gynnig arni!

    Dyna sut i dynnu testun dyblyg mewn cell.Diolch i chi am ddarllen a gobeithio y gwelwn ni chi ar ein blog wythnos nesaf!

    Ar gael i'w lawrlwytho

    Enghreifftiau i dynnu copïau dyblyg yn y gell (ffeil .xlsm)

    Ultimate Suite 14 -Fersiwn llawn-weithredol dydd (ffeil .exe)

    Mae Michael Brown yn frwd dros dechnoleg ymroddedig ac yn frwd dros symleiddio prosesau cymhleth gan ddefnyddio offer meddalwedd. Gyda mwy na degawd o brofiad yn y diwydiant technoleg, mae wedi hogi ei sgiliau yn Microsoft Excel ac Outlook, yn ogystal â Google Sheets a Docs. Mae blog Michael yn ymroddedig i rannu ei wybodaeth a'i arbenigedd ag eraill, gan ddarparu awgrymiadau a thiwtorialau hawdd eu dilyn ar gyfer gwella cynhyrchiant ac effeithlonrwydd. P'un a ydych chi'n weithiwr proffesiynol profiadol neu'n ddechreuwr, mae blog Michael yn cynnig mewnwelediadau gwerthfawr a chyngor ymarferol ar gyfer cael y gorau o'r offer meddalwedd hanfodol hyn.