Edukien taula
Excel-en gelaxka batean bikoiztuak aurkitzeko eta ezabatzeko hiru modu daude. Aukeratu zuretzako hobekien dabilena.
Balio edo errenkada bikoiztuak kentzeari dagokionez, Microsoft Excel-ek aukera ezberdin ugari eskaintzen ditu. Baina gelaxka jakin batean testu berdina kentzeko orduan, Excel-ek ez du ezer eskaintzen. Ez tresnarik, ez ezaugarririk, ez formularik, ez ezer. Geldituko al gaitu gure helburua lortzea? Inola ere ez. Excel-ek ez badu behar dugun funtzioa, goazen gurea idaztera :)
Nola kendu errepikatutako hitzak Excel gelaxkan
Arazoa : Gelaxka batean hitz edo testu-kate berberak dituzu eta bigarren errepikapena eta ondorengo guztiak kendu nahi dituzu.
Irtenbidea : erabiltzaileak definitutako funtzio pertsonalizatua edo VBA makroa.
Erabiltzaileak definitutako funtzioa gelaxka batean bikoiztuak kentzeko
Geluxa bateko testu bikoiztuak ezabatzeko, erabiltzaileak definitutako funtzio hau (UDF) erabil dezakezu. , named RemoveDupeWords :
Function RemoveDupeWords(text As String , Aukerako mugatzailea As String = " " ) As String Dim dictionary As Object Dim x, part Set dictionary = CreateObject ( "Scripting.Dictionary" ) hiztegia .CompareMode = vbTextCompare Zatitutako x bakoitzean (testua, mugatzailea) zatia = Moztu (x) zatia "" bada eta ez hiztegia.Exists(zatia) Gero hiztegia.Gehitu zatia, ezer ez Amaitzen bada Hurrengoa bada hiztegia.Kontatu > 0 Ondoren, RemoveDupeWords = Batu (hiztegi.gakoak,mugatzailea) Else RemoveDupeWords = "" Amaitu hiztegia ezarrita = Ezer ez Amaitu funtzioaNola txertatu funtzioaren kodea zure lan-liburuan
Goiko kodea zure Excel-era gehitzeko, hau da egin behar duzuna:
- Sakatu Alt + F11 Visual Basic editorea irekitzeko.
- Ezkerreko panelean, egin klik eskuineko botoiarekin ThisWorkbook eta hautatu Txertatu > Modulua .
- Itsatsi goiko kodea Kodea leihoan.
Informazio gehiago lortzeko, ikus VBA Nola txertatu. Excel-en kodea.
KenduDupeWords funtzioaren sintaxia
Geluka bateko testu bikoiztuak kentzeko sortu berri dugun funtzioak honako sintaxia du:
KenduDupeWords(testua, [mugatzailea])Non :
- Testua (beharrezkoa) - errepikatutako testua ezabatu nahi duzun katea edo gelaxka.
- Mugatzailea (aukerakoa) - errepikatutako testua bereizten duen mugatzailea. Baztertzen bada, zuriune bat erabiltzen da mugatzailea egiteko.
Funtzioak ez du bereizten maiuskulak eta minuskulak , hau da, letra xeheak eta maiuskulak karaktere berdin gisa tratatzen dira.
Nola erabili RemoveDupeWords funtzioa
Funtzioaren kodea lan-liburuan gehitutakoan, zure formuletan erabil dezakezu Excel-en integratutako funtzioak erabiltzen dituzun moduan.
Hasi besterik ez funtzioaren izena idazten berdin zeinuaren ondoren, eta intellisense formulan agertuko da. Egin klik bikoitza funtzioan, eta izango duzuzelula batean sartuta. Definitu argumentuak, idatzi amaierako parentesia, sakatu Sartu , eta zure formula osatuko da.
Adibidez, A2tik koma eta zuriunez bereizita dauden hitz bikoiztuak ezabatzeko, sartu beheko formula B2n, eta arrastatu behar adina gelaxkatik behera:
=RemoveDupeWords(A2, ", ")
Ondorioz, hitz edo azpikate esklusiboen zerrenda bat izango duzu
Komaz bereizitako zerrenda bat lortu nahi baduzu, erabili koma bakarra mugatzailea egiteko :
=RemoveDupeWords(A2, ",")
Zure iturburuko datuak espazio batez bereizten badira, bigarren argumentua " " izan beharko litzateke edo kenduta:
=RemoveDupeWords(A2)
Excel-eko beste edozein funtzio bezala, gure UDF automatikoki berriro kalkulatzen da iturburuko datuak aldatzen direnean, beraz, zure emaitzak beti eguneratuta egongo dira.
VBA makroa gelaxka anitzetatik bikoiztutako testua aldi berean ezabatzeko
Zalula anitzetatik behin eta berriz errepikatutako testua aldi berean kentzeko asmoa baduzu, RemoveDupeWords funtziora deitu dezakezu. m makro baten barruan. Kasu honetan, mugatzailea gogor kodetuta dago, eta makroaren kodea eguneratu beharko duzu mugatzailea aldatzen den bakoitzean. Bestela, mugatzaile arruntenetarako kode-aldaera batzuk idatz ditzakezu, esate baterako, zuriune bat, koma edo koma eta zuriunea, eta zure makroei izen esanguratsuak eman, adibidez. KenduDupesDelimSpace .
Makroaren kodea honako hau da:
Public Sub RemoveDupeWords2() Dim gelaxka Aplikazioko gelaxka bakoitzeko barruti gisa.Selection cell.Value = RemoveDupeWords(cell.Value, ", " ) Next End SubGoiko kodean, mugatzailea koma da eta espazioa . Beste mugatzaile bat erabiltzeko, ordezkatu ", " beste karaktere batekin kode-lerro honetan:
cell.Value = RemoveDupeWords(cell.Value, ", ")
Oharra. Makroak funtziona dezan, bere kodea eta RemoveDupeWords funtzioaren kodea modulu berean jarri behar dira.
Makroa nola erabili
Txertatu makroaren kodea zure lan-liburuan edo ireki gure adibide-koadernoa kodearekin, eta, ondoren, egin urrats hauek makroa exekutatzeko.
- Hautatu errepikatutako testua kendu nahi duzun gelaxka sorta.
- Sakatu Alt + F8 Makroa elkarrizketa-koadroa irekitzeko.
- Makroen zerrendan, hautatu KenduDupeWords2 .
- Sakatu Exekutatu .
Xehetasun gehiago lortzeko, ikusi Nola egin. exekutatu makro bat Excel-en.
Oharra. Makro baten ekintza ezin denez desegin , gomendatzen dugu lan-liburua gordetzea makroa erabili aurretik. Modu honetan, zerbait gaizki gertatzen bada, lan-koadernoa itxi eta berriro ireki dezakezu, eta zeunden tokira itzuliko zara. Edo makroak eragina izan dezakeen lan-orrien kopia bat egin dezakezu.
Nola kendu karaktere bikoiztuak gelaxka batean
Arazoa : karaktere beraren agerraldi bat baino gehiago dituzu gelaxka batean,gelaxkak karaktere jakin baten agerraldi bakarra izan behar du.
Irtenbidea : erabiltzaileak definitutako funtzio pertsonalizatua edo VBA makroa.
Erabiltzaileak definitutako funtzioa errepikatutako karaktereak ezabatzeko. Funtzioa RemoveDupeChars(text As String ) As String Dim dictionary As Object Dim char As String Dim emaitza As String Set dictionary = CreateObject ( "Scripting.Dictionary " ) For i = 1 To Len (testua) char = Mid (testua, i, 1 ) Ez bada hiztegia.Exists(char) Then dictionary.Gehitu char, Nothing emaitza = emaitza & char End If Next RemoveDupeChars = emaitza Ezarri hiztegia = Nothing End Funtzioa
Funtzioaren kodea zure lan-koadernoan sartzeko, urratsak aurreko adibideko berdinak dira.
RemoveDupeChars funtzioaren sintaxia
Funtzio pertsonalizatu honen sintaxia izan daitekeen bezain sinplea da - argumentu bakarra behar da:
RemoveDupeChars(text)Non text nahi duzun kate edo gelaxka den. karaktere bikoiztuak kentzeko.
Funtzioak maiuskulak eta minuskulak bereizten ditu eta letra xeheak eta larriak karaktere ezberdin gisa tratatzen ditu.
Nola erabili RemoveDupeChars funtzioa
RemoveDupeWords-en erabilerari buruz esan dugun guztia egia da RemoveDupeChars -rentzat. Beraz, joan gabeteorian gehiegi sartu, goazen zuzenean adibide batera.
A2n hasten den A zutabeko karaktere bikoiztuak ezabatzeko, sartu formula hau B2n eta kopiatu:
=RemoveDupeChars(A2)
Beheko irudian ikus dezakezun bezala, funtzioak behar bezala kudeatzen ditu karaktere mota desberdinak letrak, zifrak eta ikur bereziak barne:
Aholkua. Zure karaktereak mugatzaile batzuen bidez bereizten badituzu, hala nola, zuriunea, koma edo marratxoa, erabili KenduDupeWords funtzioa aurreko adibidean erakusten den moduan.
VBA makroa gelaxka batetik karaktere berdinak kentzeko
RemoveDupeWords bezala, RemoveDupeChars funtzioa makro batetik dei daiteke:
Publikoa Sub RemoveDupeChars2() Dim gelaxka Aplikazioko gelaxka bakoitzeko barruti gisa.Selection cell.Value = RemoveDupeChars(cell.Value) Next End SubUDF honek ez duelako mugatzailerik erabiltzen, ez duzu inolako doikuntzarik egin beharko kodea.
Oharra. Makroak funtziona dezan, bere kodea eta RemoveDupeChars UDFren kodea VBA editoreko modulu berean jarri behar dira.
Makroa nola erabili
Makroaren kodea zure lan-liburuan sartu duzula edo kodea duen gure lagin-koadernoa ireki duzula suposatuz, abiarazi makroa modu honetan.
- Hautatu karaktere errepikatuak kendu nahi dituzun gelaxka sorta.
- Sakatu Alt + F8 Makroa elkarrizketa-koadroa irekitzeko.koadroa.
- Makroen zerrendan, hautatu RemoveDupeChars2 .
- Sakatu Exekutatu .
Kendu bikoiztutako azpikateak Ultimate Suite-rekin
Tutorial honen hasieran, Microsoft Excel-ek ez duela gelaxka batean bikoiztuak kentzeko eginbide integraturik aipatu zen. Baina gure Ultimate Suite bai!
Ablebits Data fitxan Duplicate Remover goitibeherako menuan aurki dezakezu, Dedupe n> taldea. Kendu bikoiztutako azpikateak aukera ez bada agertzen Excel-en, ziurtatu Ultimate Suite-ren azken bertsioa instalatuta duzula (doako proba bat deskargatu daiteke hemen).
Hainbat gelaxketatik errepikatutako hitzak edo testuak 5 segundotan kentzeko (segundo bat urrats bakoitzeko :), hau da egin behar duzuna:
- Hautatu zure iturburuko datuak eta abiarazi Kendu Azpikate bikoiztuak tresna.
- Zehaztu mugatzailea .
- Zehaztu segidako mugatzaileak bakar gisa tratatu (lehenetsia).
- Aukeratu maiuskulak eta minuskulak bereizten dituena edo maiuskulak eta minuskulak bereizten ez dituena bilaketa.
- Sakatu Kendu .
Bukatu! Ez da VBA edo formularik ibili, emaitza azkarrak eta zehatzak besterik ez.
Gehigarri zoragarri honi buruz gehiago jakiteko, bisitatu bere hasierako orria. Edo hobeto, deskargatu beheko ebaluazio-bertsio bat eta proba ezazu!
Horrela kentzen da bikoiztutako testua gelaxka batean.Eskerrik asko irakurtzeagatik eta datorren astean gure blogean ikustea espero dut!
Erabilgarri dauden deskargak
Zelulan bikoiztuak kentzeko adibideak (.xlsm fitxategia)
Ultimate Suite 14 -egun bertsio guztiz funtzionala (.exe fitxategia)