Jedwali la yaliyomo
Kuna njia tatu za kupata na kufuta nakala ndani ya kisanduku katika Excel. Chagua tu ile inayokufaa zaidi.
Inapohusu kuondoa thamani au safu mlalo rudufu, Microsoft Excel hutoa safu ya chaguo tofauti. Lakini inapokuja suala la kuondoa maandishi sawa ndani ya seli fulani, Excel haitoi… hakuna chochote. Hakuna zana, hakuna vipengele, hakuna fomula, hakuna chochote. Je, itatuzuia kufikia lengo letu? Kwa hali yoyote. Ikiwa Excel haina kazi tunayohitaji, hebu twende tuandike yetu wenyewe :)
Jinsi ya kuondoa maneno yanayorudiwa katika kisanduku cha Excel
Tatizo : Una maneno sawa au mifuatano ya maandishi kwenye kisanduku na ungependa kuondoa ya pili na marudio yote yanayofuata.
Suluhisho : chaguo maalum la kukokotoa lililofafanuliwa na mtumiaji au VBA makro.
Chaguo za kukokotoa zilizoainishwa na mtumiaji ili kuondoa nakala ndani ya kisanduku
Ili kuondoa nakala za maandishi kwenye kisanduku, unaweza kutumia chaguo za kukokotoa zilizofafanuliwa na mtumiaji (UDF) zifuatazo. , iliyopewa jina RemoveDupeWords :
Function RemoveDupeWords(text As String , Optional delimiter As String = " " ) Kama Kamusi ya Kamba Dim Kama Kitu Dim x, sehemu Weka kamusi = CreateObject ( "Scripting.Dictionary" ) kamusi .CompareMode = vbTextLinganisha Kwa Kila x Katika Mgawanyiko(maandishi, delimiter) sehemu = Punguza(x) Ikiwa ni sehemu "" Na Sio kamusi.Ipo(sehemu) Kisha kamusi.Ongeza sehemu, Hakuna Mwisho Ikiwa Ikifuata Kamusi.Hesabu > 0 Kisha RemoveDupeWords = Join(dictionary.keys,delimiter) Else RemoveDupeWords = "" Maliza Ikiwa Kamusi Imeweka = Hakuna Kazi ya KuishaJinsi ya kuingiza msimbo wa chaguo la kukokotoa kwenye kitabu chako cha kazi
Ili kuongeza msimbo ulio hapo juu kwenye Excel yako, hivi ndivyo unavyohitaji kufanya:
- Bonyeza Alt + F11 ili kufungua Kihariri cha Msingi cha Visual.
- Kwenye kidirisha cha kushoto, bofya kulia Kitabu hiki cha Kazi na uchague Ingiza > Moduli .
- Bandika msimbo hapo juu kwenye Msimbo dirisha.
Kwa maelezo zaidi, tafadhali angalia Jinsi ya kuingiza VBA msimbo katika Excel.
RemoveDupeWords syntax ya kitendakazi
Kitendo chetu kipya kilichoundwa cha kuondoa nakala rudufu katika kisanduku kina sintaksia ifuatayo:
RemoveDupeWords(text, [delimiter])Ambapo :
- Maandishi (inahitajika) - mfuatano au kisanduku ambacho ungependa kufuta maandishi yanayorudiwa.
- Delimiter (si lazima) - kikomo ambacho maandishi yanayorudiwa yanatenganishwa nayo. Ikiwa imeachwa, nafasi itatumika kwa kitenganishi.
Chaguo hili la kukokotoa si nyeti kwa herufi , kumaanisha kuwa herufi ndogo na kubwa huchukuliwa kama herufi sawa.
Jinsi ya kutumia kitendakazi cha RemoveDupeWords
Pindi msimbo wa chaguo za kukokotoa unapoongezwa kwenye kitabu chako cha kazi, unaweza kuutumia katika fomula zako kwa njia sawa na vile unavyotumia vitendaji vilivyojengewa ndani vya Excel.
Anza tu kuandika jina la chaguo la kukokotoa baada ya ishara sawa, na itaonekana katika akili ya fomula. Bonyeza mara mbili kwenye kazi, na utakuwa nayokuingizwa kwenye seli. Bainisha hoja, andika mabano ya kufunga, bonyeza Enter , na fomula yako imekamilika.
Kwa mfano, ili kufuta nakala ya maneno yaliyotenganishwa na koma na nafasi kutoka A2, ingiza fomula iliyo hapa chini katika B2, na kisha iburute chini kupitia seli nyingi inavyohitajika:
=RemoveDupeWords(A2, ", ")
Kutokana na hayo, utakuwa na orodha ya maneno ya kipekee au mifuatano ikitenganishwa na koma na nafasi :
Ikiwa ungependa kupata orodha iliyotenganishwa kwa koma, basi tumia koma pekee kwa kikomo. :
=RemoveDupeWords(A2, ",")
Ikiwa data yako ya chanzo itatenganishwa na nafasi , hoja ya pili inapaswa kuwa " " au kuachwa:
=RemoveDupeWords(A2)
Kama utendakazi mwingine wowote wa Excel, UDF yetu hukokotoa upya kiotomatiki data chanzo inapobadilika, kwa hivyo matokeo yako yatasasishwa kila wakati.
VBA macro ili kufuta nakala ya maandishi kutoka kwa visanduku vingi kwa wakati mmoja
Ikiwa unatafuta kuondoa maandishi yanayorudiwa kutoka kwa visanduku vingi kwa mkupuo mmoja, basi unaweza kupiga RemoveDupeWords chaguo la kukokotoa kutoka m ndani ya jumla. Katika kesi hii, delimiter ni ngumu, na itabidi usasishe msimbo wa macro kila wakati delimiter inabadilika. Vinginevyo, unaweza kuandika tofauti chache za msimbo kwa vikomo vya kawaida, tuseme, nafasi, koma, au koma na nafasi, na upe makro yako majina yenye maana, k.m. RemoveDupesDelimSpace .
Msimbo wa jumla ni kama ifuatavyo:
Public Sub RemoveDupeWords2() Dim seli Kama Masafa Kwa Kila kisanduku Katika Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", " ) Next End SubKatika msimbo ulio hapo juu, kikomo ni comma na nafasi . Ili kutumia kikomo tofauti, badilisha "," na herufi nyingine katika mstari huu wa msimbo:
cell.Value = RemoveDupeWords(cell.Value, ", ")
Kumbuka. Ili jumla kufanya kazi, msimbo wake na msimbo wa kitendakazi wa RemoveDupeWords lazima ziwekwe kwenye moduli sawa.
Jinsi ya kutumia jumla
Ingiza msimbo wa jumla kwenye kitabu chako cha kazi au fungua sampuli ya kitabu chetu cha kazi na msimbo, kisha utekeleze hatua zifuatazo ili kuendesha jumla.
- Chagua safu ya visanduku ambapo ungependa kuondoa maandishi yanayorudiwa.
- Bonyeza Alt + F8 ili kufungua kisanduku cha mazungumzo cha Macro .
- Katika orodha ya makro, chagua RemoveDupeWords2 .
- Bofya Run .
Kwa maelezo zaidi, tafadhali angalia Jinsi ya kufanya endesha jumla katika Excel.
Kumbuka. Kwa sababu hatua ya jumla haiwezi kutenduliwa , tunapendekeza sana kuhifadhi kitabu chako cha kazi kabla ya kutumia jumla. Kwa njia hii, ikiwa kitu kitaenda vibaya, unaweza kufunga na kufungua tena kitabu cha kazi, na utarudi mahali ulipo. Au unaweza tu kutengeneza nakala ya laha (za) kazi ambayo inaweza kuathiriwa na jumla.
Jinsi ya kuondoa vibambo rudufu kwenye kisanduku
Tatizo : Una matukio mengi ya herufi sawa katika kisanduku, huku kila mojakisanduku kinapaswa kuwa na tukio moja tu la herufi fulani.
Suluhisho : chaguo maalum la kukokotoa lililobainishwa na mtumiaji au makro ya VBA.
Chaguo za kukokotoa zilizoainishwa na mtumiaji ili kufuta herufi zinazorudiwa
Ili kuondoa herufi zilizorudiwa ndani ya kisanduku huku ukiweka matukio ya kwanza pekee, unaweza kutumia kitendakazi kifuatacho kilichobainishwa na mtumiaji, kinachoitwa RemoveDupeChars :
Kazi RemoveDupeChars(text As String ) Kama Kamusi ya Kamba Dim Kama Kipengele Dim char Kama matokeo ya Kamba Dim Kama Kamusi ya Uwekaji wa Kamusi = CreateObject ( "Scripting.Dictionary" ) Kwa i = 1 Kwa Len(maandishi) char = Mid(text, i, 1) ) Ikiwa Siyo kamusi.Ipo(char) Kisha kamusi.Ongeza char, Hakuna tokeo = tokeo & char End If Next RemoveDupeChars = result Weka kamusi = Nothing End KaziIli kuingiza msimbo wa chaguo la kukokotoa kwenye kitabu chako cha kazi, hatua ni sawa kabisa na katika mfano uliotangulia.
Sintaksia ya KuondoaDupeChars
0>Sintaksia ya kitendakazi hiki maalum ni rahisi kadri inavyoweza kuwa - hoja moja tu inahitajika: RemoveDupeChars(text)Ambapo text ni kamba au seli ambayo unataka kutoka. ili kuondoa nakala za herufi.
Kitendaji ni nyeti-nyeti na huchukulia herufi ndogo na kubwa kama herufi tofauti.
Jinsi ya kutumia kitendakazi cha RemoveDupeChars
Kila kitu tulichosema kuhusu matumizi ya RemoveDupeWords ni kweli kwa RemoveDupeChars . Kwa hivyo, bila kwendasana katika nadharia, tuende moja kwa moja kwenye mfano.
Ili kufuta vibambo nakala kutoka safu wima A inayoanzia A2, weka fomula hii katika B2 na uinakili chini:
=RemoveDupeChars(A2)
Kama unavyoona kwenye picha hapa chini, chaguo la kukokotoa linashughulikia kwa mafanikio aina tofauti za herufi ikijumuisha herufi, tarakimu na alama maalum:
Kidokezo. Ikiwa herufi zako zimetenganishwa kutoka kwa nyingine na kitenganishi kama vile nafasi, koma au kistari, basi tumia chaguo za kukokotoa za RemoveDupeWords kama inavyoonyeshwa kwenye mfano uliopita.
VBA macro ili kuondoa herufi sawa kutoka kwa seli
Kama RemoveDupeWords , kipengele cha RemoveDupeChars pia kinaweza kuitwa kutoka ndani ya jumla:
Umma Sub RemoveDupeChars2() Dim seli Kama Masafa Kwa Kila kisanduku Katika Application.Selection cell.Value = RemoveDupeChars(cell.Value) Next End SubKwa sababu UDF hii haitumii kikomo chochote, hutalazimika kufanya marekebisho yoyote katika msimbo.
Kumbuka. Ili jumla ifanye kazi, msimbo wake na msimbo wa RemoveDupeChars UDF lazima ziwekwe kwenye moduli sawa katika kihariri cha VBA.
Jinsi ya kutumia jumla
Ikizingatiwa kuwa tayari umeingiza msimbo wa jumla kwenye kitabu chako cha kazi au umefungua sampuli ya kitabu chetu cha kazi kilicho na msimbo, zindua jumla kwa njia hii.
- Chagua safu ya visanduku ambapo ungependa kuondoa herufi zinazorudiwa.
- Bonyeza Alt + F8 ili kufungua kidirisha cha Macro box.
- Katika orodha ya macros, chagua RemoveDupeChars2 .
- Bofya Run .
Ondoa nakala rudufu za masharti kwa Ultimate Suite
Mwanzoni mwa mafunzo haya, ilitajwa kuwa Microsoft Excel haina kipengele kilichojengewa ndani cha kuondoa nakala ndani ya kisanduku. Lakini Ultimate Suite yetu inapatikana!
Unaweza kuipata kwenye menyu kunjuzi ya Rudufu Kiondoa kwenye kichupo cha Ablebits Data , katika Dedupe kikundi. Ikiwa chaguo la Ondoa Mifuatano Midogo halionekani katika Excel yako, hakikisha kuwa umesakinisha toleo jipya zaidi la Ultimate Suite (jaribio lisilolipishwa linaweza kupakuliwa hapa).
Ili kuondoa maneno au maandishi yanayorudiwa kutoka kwa visanduku vingi katika sekunde 5 (sekunde kwa kila hatua :), hivi ndivyo unahitaji kufanya:
- Chagua chanzo chako cha data na uzindue
- 1>Ondoa Zana Nakala za Mifuatano ndogo .
- Bainisha kitenganishi .
- Fafanua ikiwa utachukulia vikomo vinavyofuatana kama kimoja (chaguomsingi).
- Chagua ikiwa utafanya nyeti-nyeti au isiyojali kesi utafutaji.
- Bofya Ondoa . 16>
Imekamilika! Hakuna kugombana na VBA au fomula, matokeo ya haraka na sahihi pekee.
Ili kupata maelezo zaidi kuhusu programu jalizi hii nzuri, tafadhali tembelea ukurasa wake wa nyumbani. Au bora zaidi, pakua toleo la tathmini hapa chini na ujaribu!
Hiyo ndiyo jinsi ya kuondoa nakala ya maandishi katika kisanduku.Ninakushukuru kwa kusoma na kutumaini kukuona kwenye blogu yetu wiki ijayo!
Vipakuliwa vinavyopatikana
Mifano ya kuondoa nakala katika kisanduku (.xlsm file)
Ultimate Suite 14 -siku-toleo linalofanya kazi kikamilifu (.exe faili)