Tabela e përmbajtjes
Ka tre mënyra për të gjetur dhe fshirë dublikatat brenda një qelize në Excel. Thjesht zgjidhni atë që funksionon më mirë për ju.
Kur bëhet fjalë për heqjen e vlerave ose rreshtave të dyfishta, Microsoft Excel ofron një sërë opsionesh të ndryshme. Por kur bëhet fjalë për heqjen e tekstit identik brenda një qelize të caktuar, Excel nuk ofron asgjë. Pa mjete, pa veçori, pa formula, pa asgjë. A do të na pengojë të arrijmë qëllimin tonë? Në asnjë rast. Nëse Excel nuk ka funksionin që na nevojitet, le të shkojmë të shkruajmë një tonë :)
Si të hiqni fjalët e përsëritura në qelizën Excel
Problemi : Ju keni të njëjtat fjalë ose vargje teksti në një qelizë dhe dëshironi të hiqni të dytin dhe të gjitha përsëritjet pasuese.
Zgjidhja : një funksion i personalizuar i përcaktuar nga përdoruesi ose makro VBA.
Funksioni i përcaktuar nga përdoruesi për të hequr dublikatat brenda një qelize
Për të eliminuar tekstin e kopjuar në një qelizë, mund të përdorni funksionin e mëposhtëm të përcaktuar nga përdoruesi (UDF) , i quajtur RemoveDupeWords :
Funksioni RemoveDupeWords(tekst si varg , Kufizues opsional As String = " " ) Si fjalor dim i vargut As Object Dim x, pjesa Set fjalor = CreateObject ( "Scripting.Dictionary" ) .CompareMode = vbTextKrahaso Për Secilin x Në Split(tekst, kufizues) pjesa = Shkurto(x) Nëse pjesa "" Dhe Jo fjalor.Ekziston(pjesë) Pastaj fjalor.Shto një pjesë, Asgjë Fundi Nëse Tjetër Nëse fjalor.Numro > 0 Pastaj RemoveDupeWords = Join(dictionary.keys,delimiter) Else RemoveDupeWords = "" End If Set dictionary = Nothing End FunksioniSi të futni kodin e funksionit në librin tuaj të punës
Për të shtuar kodin e mësipërm në Excel, kjo është ajo që duhet të bëni:
- Shtypni Alt + F11 për të hapur redaktuesin e Visual Basic.
- Në panelin e majtë, kliko me të djathtën This Workbook dhe zgjidh Insert > Moduli .
- Ngjisni kodin e mësipërm në dritaren Kodi .
Për më shumë informacion, ju lutemi shikoni Si të futni VBA kodi në Excel.
Sintaksa e funksionit RemoveDupeWords
Funksioni ynë i krijuar rishtazi për heqjen e tekstit të kopjuar në një qelizë ka sintaksën e mëposhtme:
RemoveDupeWords(tekst, [kufizues])Ku :
- Tekst (kërkohet) - një varg ose qelizë nga e cila dëshironi të fshini tekstin e përsëritur.
- Delimiter (opsionale) - kufizuesin me të cilin ndahet teksti i përsëritur. Nëse hiqet, përdoret një hapësirë për kufizuesin.
Funksioni nuk është i ndjeshëm ndaj shkronjave të vogla , që do të thotë se shkronjat e vogla dhe të mëdha trajtohen si të njëjtat karaktere.
Si të përdorni funksionin RemoveDupeWords
Pasi të shtohet kodi i funksionit në librin tuaj të punës, mund ta përdorni në formulat tuaja në të njëjtën mënyrë si përdorni funksionet e integruara të Excel.
Thjesht filloni të shkruani emrin e funksionit pas shenjës së barazimit dhe ai do të shfaqet në formulën intellisense. Klikoni dy herë mbi funksionin dhe do ta keni atëfutur në një qelizë. Përcaktoni argumentet, shkruani kllapat mbyllëse, shtypni Enter dhe formula juaj përfundon.
Për shembull, për të fshirë fjalët dublikatë të ndara me presje dhe një hapësirë nga A2, futni formulën e mëposhtme në B2 dhe më pas tërhiqeni atë nëpër aq qeliza sa të nevojitet:
=RemoveDupeWords(A2, ", ")
Si rezultat, do të keni një listë fjalësh ose nënvargjesh unike të ndara me një presje dhe hapësirë :
Nëse preferoni të merrni një listë të ndarë me presje, atëherë përdorni vetëm një presje për ndarësin :
=RemoveDupeWords(A2, ",")
Nëse të dhënat tuaja burimore ndahen me një hapësirë , argumenti i dytë duhet të jetë " " ose të hiqet:
=RemoveDupeWords(A2)
Ashtu si çdo funksion tjetër i Excel, UDF-ja jonë rillogaritet automatikisht kur ndryshojnë të dhënat e burimit, kështu që rezultatet tuaja do të jenë gjithmonë të përditësuara.
Makro VBA për të fshirë tekstin e kopjuar nga disa qeliza në të njëjtën kohë
Nëse po kërkoni të hiqni tekstin e përsëritur nga disa qeliza me një hap, atëherë mund të telefononi funksionin RemoveDupeWords m brenda një makro. Në këtë rast, kufizuesi është i koduar dhe do të duhet të përditësoni kodin e makros sa herë që ndryshon kufiri. Përndryshe, mund të shkruani disa variacione të kodit për kufijtë më të zakonshëm, të themi, një hapësirë, presje ose presje dhe hapësirë, dhe t'u jepni makrove tuaja emra kuptimplotë, p.sh. RemoveDupesDelimSpace .
Kodi i makros është si më poshtë:
Nën Publike RemoveDupeWords2() Qelizë e zbehtë si varg për secilën qelizë në Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", " ) Fundi tjetër SubNë kodin e mësipërm, kufizuesi është një presje dhe hapësirë . Për të përdorur një ndarës tjetër, zëvendësoni ", " me një karakter(a) tjetër në këtë rresht kodi:
cell.Value = RemoveDupeWords(cell.Value, ", ")
Shënim. Që makro të funksionojë, kodi i tij dhe kodi i funksionit RemoveDupeWords duhet të vendosen në të njëjtin modul.
Si të përdorni makro
Futni kodin e makros në librin tuaj të punës ose hapni modelin tonë të librit të punës me kodin dhe më pas kryeni hapat e mëposhtëm për të ekzekutuar makron.
- Zgjidhni një varg qelizash nga të cilat dëshironi të hiqni tekstin e përsëritur.
- Shtypni Alt + F8 për të hapur kutinë e dialogut Macro .
- Në listën e makrove, zgjidhni RemoveDupeWords2 .
- Klikoni Run .
Për më shumë detaje, ju lutemi shikoni Si të ekzekutoni një makro në Excel.
Shënim. Për shkak se veprimi i një makro nuk mund të zhbëhet , ju rekomandojmë fuqimisht ta ruani librin tuaj të punës menjëherë përpara se të përdorni makron. Në këtë mënyrë, nëse diçka shkon keq, thjesht mund ta mbyllni dhe rihapni librin e punës dhe do të ktheheni pikërisht aty ku ishit. Ose thjesht mund të bëni një kopje të fletës(eve) të punës që mund të ndikohen nga makroja.
Si të hiqni karakteret dublikatë në një qelizë
Problemi : Ju keni dukuri të shumta të të njëjtit karakter në një qelizë, ndërsa seciliqeliza duhet të përmbajë vetëm një dukuri të vetme të një karakteri të caktuar.
Zgjidhja : një funksion i personalizuar i përcaktuar nga përdoruesi ose makro VBA.
Funksioni i përcaktuar nga përdoruesi për të fshirë karaktere të përsëritura
Për të hequr karakteret e dyfishta brenda një qelize duke mbajtur vetëm dukuritë e para, mund të përdorni funksionin e mëposhtëm të përcaktuar nga përdoruesi, i quajtur RemoveDupeChars :
Funksioni RemoveDupeChars(tekst si varg) Si varg Dim fjalor si objekt zbehje char Si varg zbeh rezultat si varg Set fjalor = CreateObject ( "Scripting.Dictionary" ) Për i = 1 Për Len(tekst) char = Mid(tekst, i, 1 ) Nëse Jo fjalor.Ekziston(char) Pastaj fjalor.Shto char, Asgjë rezultat = rezultat & char Fund Nëse Next RemoveDupeChars = Rezultati Set fjalor = Asgjë Fund FunksioniPër të futur kodin e funksionit në librin tuaj të punës, hapat janë saktësisht të njëjtë si në shembullin e mëparshëm.
Sintaksa e funksionit RemoveDupeChars
Sintaksa e këtij funksioni të personalizuar është aq e thjeshtë sa mund të jetë - kërkohet vetëm një argument:
RemoveDupeChars(tekst)Ku teksti është një varg ose qelizë nga e cila dëshironi për të hequr karakteret dublikatë.
Funksioni është i ndjeshëm ndaj gërmave dhe i trajton shkronjat e vogla dhe të mëdha si karaktere të ndryshme.
Si të përdoret funksioni RemoveDupeChars
Gjithçka që thamë për përdorimin e RemoveDupeWords është e vërtetë për RemoveDupeChars . Pra, pa shkuarshumë në teori, le të kalojmë drejtpërdrejt te një shembull.
Për të fshirë karakteret dublikatë nga kolona A duke filluar në A2, futni këtë formulë në B2 dhe kopjojeni atë:
=RemoveDupeChars(A2)
Siç mund ta shihni në imazhin më poshtë, funksioni trajton me sukses lloje të ndryshme karakteresh duke përfshirë shkronja, shifra dhe simbole të veçanta:
Këshillë. Nëse karakteret tuaja ndahen nga njëri-tjetri me ndonjë kufizues si një hapësirë, presje ose vizë, atëherë përdorni funksionin RemoveDupeWords siç tregohet në shembullin e mëparshëm.
Makro VBA për të hequr të njëjtat karaktere nga një qelizë
Si RemoveDupeWords , funksioni RemoveDupeChars mund të thirret gjithashtu nga brenda një makro:
Publike Nën RemoveDupeChars2() Qelizë e zbehtë si diapazon për secilën qelizë në Application.Selection cell.Value = RemoveDupeChars(cell.Value) Fundi tjetër NënPër shkak se kjo UDF nuk përdor asnjë kufizues, nuk do të duhet të bëni asnjë rregullim në kodin.
Shënim. Që makroja të funksionojë, kodi i tij dhe kodi i RemoveDupeChars UDF duhet të vendosen në të njëjtin modul në redaktorin VBA.
Si të përdoret makro
Duke supozuar se e keni futur tashmë kodin e makros në librin tuaj të punës ose keni hapur modelin tonë të librit të punës që përmban kodin, hapni makron në këtë mënyrë.
- Zgjidhni një varg qelizash nga të cilat dëshironi të hiqni karakteret e përsëritura.
- Shtypni Alt + F8 për të hapur dialogun Macro kutia.
- Në listën e makrove, zgjidhni RemoveDupeChars2 .
- Klikoni Run .
Hiqni nënvargjet e kopjuara me Ultimate Suite
Në fillim të këtij tutoriali, u përmend se Microsoft Excel nuk ka një veçori të integruar për heqjen e dublikatave brenda një qelize. Por Suite jonë Ultimate e bën këtë!
Mund ta gjeni në menynë rënëse Dublicate Remover në skedën Ablebits Data , në Dedupe grup. Nëse opsioni Remove Duplicate Substrings nuk shfaqet në Excel, sigurohuni që të keni të instaluar versionin më të fundit të Ultimate Suite (një provë falas mund të shkarkohet këtu).
Për të hequr fjalët ose tekstin e përsëritur nga shumë qeliza në 5 sekonda (një sekondë për hap :), kjo është ajo që duhet të bëni:
- Zgjidhni të dhënat tuaja burimore dhe hapni Hiqni veglën e nënvargjeve të dyfishta .
- Specifikoni kufizuesin .
- Përcaktoni nëse do t'i trajtoni ndarësit e njëpasnjëshëm si një (parazgjedhur).
- Zgjidh nëse do të kryesh kërkimin të ndjeshme për shkronjat e vogla ose të pandjeshme ndaj shkronjave të vogla .
- Kliko Hiq .
U krye! Nuk ka probleme me VBA ose formula, vetëm rezultate të shpejta dhe të sakta.
Për të mësuar më shumë rreth kësaj shtese fantastike, ju lutemi vizitoni faqen e saj kryesore. Ose edhe më mirë, shkarkoni një version vlerësimi më poshtë dhe provojeni!
Kjo është se si të hiqni tekstin e kopjuar në një qelizë.Ju falënderoj që lexoni dhe shpresoj t'ju shohim në blogun tonë javën tjetër!
Shkarkime të disponueshme
Shembuj për të hequr dublikatat në qelizë (skedari .xlsm)
Ultimate Suite 14 -Versioni plotësisht funksional ditor (skedari .exe)