Edukien taula
Artikulu honetan, testu-kate bateko karaktere zehatzak nola ezabatu eta nahi ez diren karaktereak gelaxka anitzetan aldi berean nola ezabatzen ikasiko duzu.
Datuak Excel-era beste nonbaitetik inportatzean, pertsonaia berezi asko zure lan-orrietara joan daitezke. Are frustragarriagoa da karaktere batzuk ikusezinak direla, eta horrek zuriune gehigarriak sortzen ditu testu-kateen aurretik, ondoren edo barruan. Tutorial honek arazo guzti hauetarako irtenbideak eskaintzen ditu, datu-gelaxkatik gelaxka batetik bestera pasatu eta nahi ez diren karaktereak eskuz garbitu behar izateak.
Kendu karaktere berezia Excel gelaxkatik.
Geluka batetik karaktere zehatz bat ezabatzeko, ordezkatu kate huts batekin ORDEZTU funtzioa bere forma sinpleenean erabilita:
ORDEZTU( gelaxka, char, "")Adibidez, A2-tik galdera-ikurra ezabatzeko, B2-ko formula hau da:
=SUBSTITUTE(A2, "?", "")
A kentzeko. Zure teklatuan ez dagoen karakterea, kopiatu/itsatsi dezakezu jatorrizko gelaxkako formulan.
Adibidez, hona hemen alderantzizko galdera ikurra nola ken dezakezu:
=SUBSTITUTE(A2, "¿", "")
Baina nahi ez den karaktere bat ikusezina bada edo ez bada behar bezala kopiatzen, nola jartzen duzu formulan? Besterik gabe, aurkitu bere kodearen zenbakia CODE funtzioa erabiliz.
Gure kasuan, nahi ez den karakterea ("¿") A2 gelaxkan azkena da, beraz, konbinazio bat erabiltzen ari gara.CODE eta RIGHT funtzioen bere kode-balio esklusiboa berreskuratzeko, hau da, 191:
=CODE(RIGHT(A2))
Pertsonaiaren kodea lortu ondoren, hornitu dagokion CHAR. funtzioa goiko formula generikoarekin. Gure datu-multzorako, formula honela doa:
=SUBSTITUTE(A2, CHAR(191),"")
Oharra. ORDEZKO funtzioak maiuskulak eta minuskulak bereizten ditu , hau da, letra xeheak eta larriak karaktere ezberdin gisa tratatzen ditu. Mesedez, kontuan izan hori nahi ez duzun karaktere letra bat bada.
Katetik hainbat karaktere ezabatu
Aurreko artikuluetako batean, Excel-en kateetatik karaktere espezifikoak nola kendu aztertu genuen ORDEZKO hainbat funtzio bata bestean habiatuz. Planteamendu bera erabil daiteke nahi ez diren bi karaktere edo gehiago bakarrean ezabatzeko:
ORDEZKOAK(ORDEZKOAK(ORDEZKOAK( gelaxka , char1 , ""), char2 , ""), char3 , "")Adibidez, A2-ko testu-kate batetik harridura eta galdera-ikurrak normalak ezabatzeko, erabili formula hau:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "!", ""), "¡", ""), "?", ""), "¿", "")
Berdina egin daiteke CHAR funtzioaren laguntzarekin, non 161 "¡"-ren karaktere-kodea den eta 191 "¿"-ren karaktere-kodea den:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3, "!", ""), "?", ""), CHAR(161), ""), CHAR(191), "")
ORDEZKO funtzio habiratuek ondo funtzionatzen dute arrazoizko karaktere kopuru baterako, baina dozenaka karaktere badituzu kentzeko, formula luzeegia eta kudeatzeko zaila izango da. Hurrengo adibideak a erakusten duirtenbide trinkoagoa eta dotoreagoa.
Kendu nahi ez diren karaktere guztiak aldi berean
Itenbideak Excel-en bakarrik funtzionatzen du Microsoft 365erako
Ziurrenik dakizuenez, Excel 365-ek zure funtzioak sortzeko aukera ematen dizun funtzio berezi bat du, errekurtsiboki kalkulatzen dutenak barne. Funtzio berri honek LAMBDA du izena, eta horri buruzko xehetasun guztiak goiko estekatutako tutorialean aurki ditzakezu. Jarraian, kontzeptua adibide praktiko pare batekin ilustratuko dut.
Nahi ez diren karaktereak kentzeko LAMBDA funtzio pertsonalizatu bat honako hau da:
=LAMBDA(string, chars, IF(chars"", RemoveChars(SUBSTITUTE(string, LEFT(chars, 1), ""), RIGHT(chars, LEN(chars) -1)), string))
Funtzio hau zure lan-orrietan erabili ahal izateko, izena jarri behar diozu lehenik. Horretarako, sakatu Ctrl + F3 Izen-kudeatzailea irekitzeko, eta, ondoren, definitu Izen berria modu honetan:
- Izena koadroan, idatzi funtzioaren izena: RemoveChars .
- Ezarri esparrua Lan-koadernoa gisa.
- Hori erreferentzia egiten zaion. 2> koadroan, itsatsi goiko formula.
- Aukeran, idatzi parametroen deskribapena Iruzkinak koadroan. Parametroak gelaxka batean formula bat idazten duzunean bistaratuko dira.
- Sakatu Ados zure funtzio berria gordetzeko.
Argibide zehatzak lortzeko, ikusi mesedez. Nola izendatu LAMBDA funtzio pertsonalizatu bati.
Funtzioak izena jasotzen duenean, jatorrizko edozein formula bezala aipa dezakezu.
Erabiltzailearen ikuspuntutik , gure funtzio pertsonalizatuaren sintaxia bezain erraza dahau:
RemoveChars(string, chars)Non:
- String - jatorrizko katea da, edo katea duen gelaxka/barrutiaren erreferentzia ( s).
- Chars - ezabatu beharreko karaktereak. Testu-kate batekin edo gelaxka-erreferentzia batekin irudika daiteke.
Erosotasunerako, nahi ez diren karaktereak sartzen ditugu gelaxka batzuetan, demagun D2. Karaktere horiek A2-tik kentzeko, hau da formula:
=RemoveChars(A2, $D$2)
Formulak behar bezala funtziona dezan, kontuan izan gauza hauetaz:
- D2n , karaktereak zuriunerik gabe agertzen dira, zuriuneak ere ezabatu nahi ez badituzu behintzat.
- Caraktere bereziak dituen gelaxkaren helbidea $ zeinuarekin blokeatuta dago ($D$2) erreferentzia aldatzea eragozteko. formula beheko gelaxketara.
Eta gero, formula arrastatu eta D2n zerrendatutako karaktere guztiak ezabatuko ditugu A2tik A6ra bitarteko gelaxketatik:
Formula bakar batekin gelaxka bat baino gehiago garbitzeko, eman A2:A6 barrutia 1. argumenturako:
=RemoveChars(A2:A6, D2)
Formula goiko gelaxkan soilik sartzen denez, ez zara kezkatu behar gelaxken koordenatuak blokeatzeaz - erreferentzia erlatibo batek (D2) ondo funtzionatzen du kasu honetan. Eta matrize dinamikoak onartzen direlako, formula automatikoki isurtzen da erreferentziako gelaxka guztietan:
Aurrez definitutako karaktere-multzo bat kentzea
Aurrez definitutako multzo bat ezabatzeko. Hainbat gelaxkatako karaktereak sor ditzakezu RemoveChars funtzio nagusia deitzen duen beste LAMBDA bat eta 2. parametroan nahi ez diren karaktereak zehazten dituena. Adibidez:
karaktere bereziak ezabatzeko, RemoveSpecialChars izeneko funtzio pertsonalizatu bat sortu dugu:
=LAMBDA(string, RemoveChars(string, "?¿!¡*%#@^"))
To Kendu zenbakiak testu-kateetatik, Kendu Zenbakiak izeneko beste funtzio bat sortu dugu:
=LAMBDA(string, RemoveChars(string, "0123456789"))
Aurreko bi funtzioak oso errazak dira. argumentu bakarra behar dutenez erabiltzeko: jatorrizko katea.
A2tik karaktere bereziak kentzeko, hau da formula:
=RemoveSpecialChars(A2)
zenbakizko karaktereak soilik ezabatzeko:
=RemoveNumbers(A2)
Funtzio honek nola funtzionatzen duen:
Funtsean, RemoveChars funtzioak karaktere zerrendan zehar ibiltzen da eta karaktere bat kentzen du aldi berean. Dei errekurtsibo bakoitzaren aurretik, IF funtzioak gainerako karaktereak egiaztatzen ditu. chars katea hutsik ez badago (karaktereak""), funtzioak bere buruari deitzen dio. Azken karakterea prozesatu bezain laster, formulak katea bere egungo forma itzultzen du eta irteten da.
Formula xehatu zehatza ezagutzeko, ikusi LAMBDA errekurtsiboa nahi ez diren karaktereak kentzeko.
Kendu karaktere bereziak VBArekin
Funtzioek Excel-en bertsio guztietan funtzionatzen dute
LAMBDA funtzioa zure Excel-en erabilgarri ez badago, ezerk ez zaitu eragozten VBArekin antzeko funtzio bat sortzetik. Erabiltzaileak definitutako batfuntzioa (UDF) bi modutara idatz daiteke.
Caraktere bereziak ezabatzeko funtzio pertsonalizatua errekurtsiboa :
Kode honek goian aipatu dugun LAMBDA funtzioaren logika imitatzen du.
Funtzioa RemoveUnwantedChars(str String gisa, karaktereak String gisa) If ( "" karaktereak) Then str = Ordeztu (str, Left (karaktereak, 1), "" ) karaktereak = Eskuinekoa (karaktereak, Len (karaktereak) - 1) KenduUnwantedChars = RemoveUnwantedChars(str, karaktere) Else RemoveUnwantedChars = str End If End FunctionFuntzio pertsonalizatua karaktere bereziak kentzeko ez-errekurtsiboak :
Hemen, nahi ez diren karaktereak 1etik 1era igaroko ditugu. Len(karak) eta ordezkatu jatorrizko katean aurkitutakoak ezer gabe. MID funtzioak nahi ez diren karaktereak banan-banan ateratzen ditu eta Ordezkatu funtziora pasatzen ditu.
Funtzioa RemoveUnwantedChars(str As String , chars As String ) For index = 1 To Len(chars) str = Replace(str, Mid(chars, index, 1), "" ) Next RemoveUnwantedChars = str End FunctionSartatu goiko kodeetako bat zure lan-liburuan Nola txertatu VBA kodea Excel-en azaldu bezala, eta zure funtzio pertsonalizatua erabiltzeko prest dago.
Erabiltzaileak definitutako funtzio berria Lambda-k definitutakoarekin nahasteko, beste izen bat jarri diogu:
RemoveUnwantedChars(string, chars)Jatorrizko katea A2-n dagoela eta karaktere desegokiak D2-n daudela suposatuz, formula hau erabiliz ken ditzakegu:
= RemoveUnwantedChars(A2, $D$2)
Funtzio pertsonalizatua kode gogorrarekinkaraktereak
Formula bakoitzerako karaktere bereziak emateaz arduratu nahi ez baduzu, zuzenean zehaztu ditzakezu kodean:
Funtzioa RemoveSpecialChars(str As String ) As String Dim chars As String Dim index As Karaktere luzeak = "?¿!¡*%#$(){}[]^&/\~+-" For index = 1 To Len(chars) str = Ordezkatu(str, Mid(karak, indizea, 1) , "" ) Next RemoveSpecialChars = str Amaiera funtzioaKontuan izan goiko kodea erakustaldietarako dela. Erabilera praktikorako, ziurtatu ezabatu nahi dituzun karaktere guztiak lerro honetan sartzen dituzula:
chars = "?¿!¡*%#$(){}[]^&/\~+-"
Funtzio pertsonalizatu honek RemoveSpecialChars izena du eta bakarra behar du. argumentua - jatorrizko katea:
RemoveSpecialChars(string)Gure datu multzotik karaktere bereziak kentzeko, formula hau da:
=RemoveSpecialChars(A2)
Kendu inprimagarriak ez diren karaktereak Excel-en
Microsoft Excel-ek funtzio berezi bat du inprimagarriak ez diren karaktereak ezabatzeko: GARBI funtzioa. Teknikoki, 7 biteko ASCII multzoko lehen 32 karaktereak kentzen ditu (0tik 31era bitarteko kodeak).
Adibidez, inprima daitezkeen karaktereak A2tik ezabatzeko, hona hemen erabili beharreko formula. :
=CLEAN(A2)
Horrek inprimatzen ez diren karaktereak ezabatuko ditu, baina testuaren aurretik/atzetik eta hitzen artean zuriuneak geratuko dira.
To kendu espazio gehigarriak , bildu GARBI formula TRIM funtzioan:
=TRIM(CLEAN(A2))
Orain, lehen eta guztiamaierako zuriuneak kentzen dira, eta tarteko zuriuneak zuriune bakarreko karaktere batera murrizten diren bitartean:
Barruan dauden espazio guztiak erabat ezabatu nahi badituzu kate bat, eta, gainera, ordezkatu zuriune karakterea (32 kodea zenbakia) kate huts batekin:
=TRIM(CLEAN((SUBSTITUTE(A2, CHAR(32), ""))))
Zune batzuk edo beste karaktere ikusezin batzuk oraindik geratzen dira. zure lan-orria? Horrek esan nahi du karaktere horiek balio desberdinak dituztela Unicode karaktere-multzoan.
Adibidez, apurtzen ez den espazioa ( ) baten karaktere-kodea 160 da eta garbitu dezakezu formula hau erabiliz:
=SUBSTITUTE(A2, CHAR(160)," ")
inprimatzeko ez den karaktere espezifikoa ezabatzeko, lehenik bere kodearen balioa aurkitu behar duzu. Hona hemen argibide zehatzak eta formula adibideak: Nola kendu inprimatzeko ez den karaktere zehatz bat.
Ezabatu karaktere bereziak Ultimate Suite-rekin
Microsoft 365, Excel 2019 - 2010-rako Excel onartzen du.
Azken adibide honetan, utzi erakutsiko dizut Excel-en karaktere bereziak kentzeko modurik errazena. Ultimate Suite instalatuta dagoela, hau da egin behar duzuna:
- Ablebits Data fitxan, Testua taldean, sakatu Kendu > Kendu karaktereak .
Momentu batean, emaitza ezin hobea lortuko duzu:
Zerbait gaizki ateratzen bada, ez kezkatu - zure lan-orriaren babeskopia automatikoki sortuko da Egin lan-orri honen babeskopia laukia lehenespenez hautatuta dagoen heinean. 3>
Kendu tresna probatzeko jakin-mina duzu? Ebaluazio bertsiorako esteka behean dago. Eskerrik asko irakurtzeagatik eta datorren astean gure blogean ikustea espero dut!
Deskarga erabilgarri
Ezabatu karaktere bereziak - adibideak (.xlsm fitxategia)
Ultimate Suite - proba bertsioa (.exe fitxategia)