Edukien taula
Azken artikulu pareetan, Excel-en kateetatik karaktereak kentzeko modu desberdinak aztertu ditugu. Gaur, erabilera-kasu bat gehiago ikertuko dugu: karaktere zehatz baten aurretik edo ondorengo guztia nola ezabatu.
Ezabatu 2 karaktereen aurretik, ondoren edo artean dauden testua Bilatu & Ordeztu
Zelula anitzetan datuak manipulatzeko, Bilatu eta Ordezkatu tresna egokia da. Karaktere zehatz baten aurretik edo ondorengo kate baten zati bat kentzeko, hauek dira egin beharreko urratsak:
- Hautatu testua ezabatu nahi duzun gelaxka guztiak.
- Sakatu Ctrl + H. Bilatu eta Ordeztu elkarrizketa-koadroa irekitzeko.
- Bilatu zer koadroan, idatzi konbinazio hauetako bat:
- Testua ezabatzeko Emandako karaktere baten aurretik , idatzi karakterearen aurretik izartxo bat (*char).
- Testua kentzeko karaktere jakin baten ondoren , idatzi karakterearen ondoren izartxo bat (char *).
- Bi karaktere arteko azpikate bat ezabatzeko, idatzi izartxo bat 2 karakterez inguratuta (char*char).
- Utzi Ordeztu koadroa hutsik.
- Sakatu Ordeztu guztiak .
Adibidez, kentzeko. koma baten ondoren guztia koma bera barne, jarri koma eta izartxoa (,*) Bilatu zer koadroan, eta emaitza hau lortuko duzu:
Azpikate bat koma baten aurretik ezabatzeko, idatzi izartxo bat, koma bat,A2ko 1. komaren ondorengo guztia, B2ko formula hau da:
=RemoveText(A3, ", ", 1, TRUE)
A2ko 1. komaren aurretik dagoen guztia ezabatzeko, C2ko formula hau da:
=RemoveText(A3, ", ", 1, FALSE)
Gure funtzio pertsonalizatuak mugatzailerako kate bat onartzen duenez, 2. argumentuan koma eta zuriune bat (", ") jartzen ditugu, ondoren hasierako zuriuneak mozteko arazorik ez izateko.
Gure funtzio pertsonalizatuak ederki funtzionatzen du, ezta? Baina irtenbide integrala dela uste baduzu, oraindik ez duzu hurrengo adibidea ikusi :)
Ezabatu dena karaktereen aurretik, ondoren edo artean
Banakako karaktereak kentzeko aukera gehiago lortzeko edo Hainbat gelaxketako testua, bat-etortzearen edo posizioaren arabera, gehitu gure Ultimate Suite zure Excel tresna-kutxan.
Hemen, Kendu posizioaren arabera funtzioa gertutik ikusiko dugu . 9>Ablebits Data fitxa > Testua taldea > Kendu .
Jarraian, biak landuko ditugu. agertoki ohikoenak.
Kendu testu jakin baten aurretik edo ondorengo guztia.
Demagun zure iturburu-kate guztiek hitz edo testu arrunt bat dutela eta testu horren aurretik edo ondorengo guztia ezabatu nahi duzula. Hori egiteko, hautatu iturburu-datuak, exekutatu Kendu posizioaren arabera tresna eta konfigura ezazu behean agertzen den moduan:
- Hautatu Katerako karaktere guztiak testuaren aurretik edo Testuaren ondorengo karaktere guztiak aukera eta idatzi gakoaren testua (edo karakterea) ondoko koadroanhari.
- Maiuskulak eta minuskulak karaktere desberdin edo berdin gisa tratatu behar diren ala ez, markatu edo desmarkatu Maiuskulak eta minuskulak bereizten dituena laukia.
- Satu Kendu .
Adibide honetan, "error" hitzaren aurreko karaktere guztiak kentzen ari gara A2:A8 gelaxketan:
Eta lortu zehazki bilatzen ari garen emaitza:
Kendu bi karaktereren arteko testua
Informazio garrantzitsuak bi karaktere zehatzen artean daudenean, hona hemen nola azkar ezaba dezakezu:
- Aukeratu Kendu azpikate guztiak eta idatzi bi karaktere beheko koadroetan.
- "Arteko" karaktereak ere kendu behar badira. , markatu Mugatzaileak barne laukia.
- Sakatu Kendu .
Gehienez Adibide bat, bi tilde karaktereen arteko guztia (~) ezabatzen dugu eta emaitza gisa ezin hobeto garbitutako kateak lortzen ditugu:
Funtzio anitzeko honekin barne dauden beste ezaugarri erabilgarriak probatzeko. tresna, e bat deskargatzera animatzen zaitut balorazio bertsioa mezu honen amaieran. Eskerrik asko irakurtzeagatik eta datorren astean gure blogean ikustea espero dugu!
Deskarga erabilgarri
Kendu lehen edo azken karaktereak - adibideak (.xlsm fitxategia)
Ultimate Suite - probako bertsioa (.exe fitxategia)
eta zuriune bat (*, ) Aurkitu zerkoadroan.Mesedez, ohartu koma bat ez ezik, koma bat eta zuriune bat ordezkatzen ari garela lehena saihesteko. tarteak emaitzetan. Zure datuak zuriunerik gabeko komaz bereizten badira, erabili izartxoa eta ondoren koma bat (*,).
Testua ezabatzeko bi komaren artean , erabili komaz inguratutako izartxo bat (,*,).
Aholkua. Izenak eta telefono-zenbakiak komaz bereizi nahi badituzu, idatzi koma (,) Ordeztu eremuan.
Kendu testuaren zati bat Flash Fill erabiliz
Excel-en bertsio modernoetan (2013 eta ondorengoetan), karaktere zehatz baten aurretik edo jarraitzen duen testua ezabatzeko modu erraz bat dago: Flash betetze funtzioa. Hona nola funtzionatzen duen:
- Zure datuak dituen lehenengo gelaxkaren ondoko gelaxka batean, idatzi espero den emaitza eta sakatu Sartu .
- Hasi balio egokia idazten hurrengo gelaxkan. Excel-ek sartzen ari zaren balioetan eredua sentitzen duenean, gainerako gelaxken aurrebista bat bistaratuko du eredu bera jarraituz.
- Sakatu Sartu tekla iradokizuna onartzeko.
Eginda!
Kendu testua formulen bidez
Microsoft Excel-en, integratutako funtzioak erabiliz egiten diren datuen manipulazio asko formula batekin ere lor daitezke. Aurreko metodoek ez bezala, formulek ez dute aldaketarik egiten jatorrizko datuetan eta kontrol gehiago ematen dizuteemaitzak.
Nola kendu karaktere zehatz baten ondoren dena
Karaktere jakin baten ondoren testua ezabatzeko, formula generikoa hau da:
EZKER ( gelaxka , BILATU (" char ", zelula ) -1)Hemen, BILATZAILEA funtzioa erabiltzen dugu karakterearen posizioa lortzeko eta EZKERRA funtziora pasatzeko, beraz, ateratzeko. katearen hasieratik dagokion karaktere kopurua. Karaktere bat kentzen zaio BILATZAILEak itzultzen duen zenbakitik mugatzailea emaitzetatik kanpo uzteko.
Adibidez, kate baten zati bat komaren ondoren kentzeko, beheko formula B2n sartu eta B7tik behera arrastatu. :
=LEFT(A2, SEARCH(",", A2) -1)
Nola kendu karaktere zehatz baten aurretiko guztia
Katerako testu-kate baten zati bat ezabatzeko, karaktere jakin baten aurretik, formula generikoa hau da:
ESKUINA( gelaxka , LEN( gelaxka ) - BILATU (" karakter ", gelaxka ))Hemen, berriro helburuko karakterearen posizioa kalkulatuko dugu SEARCH-en laguntzaz, LENek itzultzen duen katearen luzera osotik kenduko dugu eta aldea RIGHT funtziora pasatzen dugu, beraz, karaktere asko ateratzen ditu amaieratik. katea.
Adibidez, komaren aurretik testua kentzeko, hau da formula:
=RIGHT(A2, LEN(A2) - SEARCH(",", A2))
Gure kasuan, komaren ondotik zuriune karaktere bat dago. Emaitzetan hasierako zuriuneak saihesteko, oinarrizko formula TRIM funtzioan biltzen dugu:
=TRIM(RIGHT(A2, LEN(A2) - SEARCH(",", A2)))
Oharrak:
- BiakGoiko adibideetatik jatorrizko katean mugatzailearen instantzia bakarra bakarrik dagoela suposatzen dugu. Agerraldi bat baino gehiago badaude, testua kenduko da lehen instantzia baino lehen/ondotik.
- BILATZAILEA funtzioak ez du bereizten maiuskulak eta minuskulak , hau da, ez du alderik egiten. minuskulak eta letra larriak. Zure karaktere espezifikoa letra bat bada eta letra maiuskulak bereizi nahi badituzu, erabili maiuskulak eta minuskulak bereizten dituena BILATU funtzioa beharrean.
Nola ezabatu testua Ngarren agerraldiaren ondoren. karaktere baten
Iturburu-kate batek mugatzailearen instantzia anitz dituen egoeran, baliteke instantzia zehatz baten ondoren testua kendu beharra izatea. Horretarako, erabili formula hau:
LEFT( gelaxka , BILATU("#", ORDEZKOAK( gelaxka , " char ", "#" , n )) -1)Non n karakterearen agerraldia den testua kendu ondoren.
Formula honen barne logikak karaktereren bat erabiltzea eskatzen du. iturriko datuetan inon agertzen ez dena, hash ikurra (#) gure kasuan. Karaktere hau zure datu-multzoan agertzen bada, erabili beste zerbait "#"-ren ordez.
Adibidez, A2ko 2. komaren (eta koma bera) ondorengo guztia kentzeko, hau da formula:
=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)
Formula honek nola funtzionatzen duen:
Formularen funtsezko zatia BILATU funtzioa da. ngarrenaren posizioamugatzailea (koma gure kasuan). Hona hemen nola:
A2ko 2. koma hash ikur batekin (edo zure datuetan existitzen ez den beste edozein karaktere) ordezkatzen dugu ORDEZKOAK:
SUBSTITUTE(A2, ",", "#", 2)
Emaitza den katea FIND-en 2. argumentura doa, beraz, kate horretan "#"ren posizioa aurkitzen du:
FIND("#", "Emma, Design# (102) 123-4568")
FIND-ek esaten digu "#" 13. karakterea dela. katean. Haren aurreko karaktere kopurua ezagutzeko, kendu besterik ez dago 1, eta 12 lortuko duzu emaitza gisa:
FIND("#", SUBSTITUTE(A2, ",", "#", 2)) - 1
Zenbaki hau num_chars argumentura doa zuzenean. EZKERRAren A2-ko lehen 12 karaktereak ateratzeko eskatuz:
=LEFT(A2, 12)
Hori da!
Nola ezabatu testua karaktere baten N. agerraldiaren aurretik
Karaktere jakin baten aurretik azpikate bat kentzeko formula generikoa hau da:
RIGHT(SUBSTITUTE( cell , " char ", "#", n ), LEN( gelaxka ) - BILATU("#", ORDEZKOAK( gelaxka , " karakter ", "#", n )) -1)Adibidez, A2ko 2. komaren aurretik testua kentzeko, hau da formula:
=RIGHT(SUBSTITUTE(A2, ",", "#", 2), LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)
Lehenengo zuriune bat kentzeko, berriro TRIM erabiltzen dugu. bilgarri gisa funtzionatzea:
=TRIM(RIGHT(SUBSTITUTE(A2, ",", "#", 2), LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2))))
Nola funtzionatzen duen formula honek:
Laburbilduz, jakin dugu zenbat karaktere dauden ngarren mugatzailearen ondoren eta atera dagokion luzeraren azpikate bat eskuinetik. Hona hemen formula deskonposatua:
Lehenik eta behin, A2ko 2. koma hash batekin ordezkatzen duguikurra:
SUBSTITUTE(A2, ",", "#", 2)
Ondorioz katea RIGHT-ren testua argumentura doa:
RIGHT("Emma, Design# (102) 123-4568", …
Ondoren, egin behar dugu zehaztu zenbat karaktere atera behar diren katearen amaieratik. Horretarako, hash sinboloaren posizioa aurkituko dugu goiko katean (hau da 13):
FIND("#", SUBSTITUTE(A2, ",", "#", 2))
Eta kenduko dugu katearen luzera osotik (28koa dena):
LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2))
Desberdintasuna (15) RIGHT-ren bigarren argumentura doa, lehenengo argumentuko katearen azken 15 karaktereak ateratzeko aginduz:
RIGHT("Emma, Design# (102) 123-4568", 15)
Irteera " (102) 123-4568" azpikate bat da, nahi den emaitzatik oso hurbil dagoena, hasierako tarte bat izan ezik. Beraz, TRIM funtzioa erabiltzen dugu hura kentzeko.
Nola kendu testua karaktere baten azken agerraldiaren ondoren
Zure balioak mugatzaile kopuru aldakor batekin bereizten badira, baliteke mugatzaile horren azken instantziaren ondoren dena kendu nahi izatea. Hau formula honekin egin daiteke:
LEFT( gelaxka , BILATU ("#", ORDEZKOAK( gelaxka , " char ", "# ", LEN( gelaxka ) - LEN(ORDEZKOA( gelaxka , " char ", "")))) -1)Demagun A zutabea Langileei buruzko hainbat informazio ditu, baina azken komaren ondoko balioa telefono-zenbaki bat da beti. Zure helburua telefono-zenbakiak kentzea eta gainerako xehetasun guztiak mantentzea da.
Helburua lortzeko, A2ko azken komaren ondorengo testua ken dezakezu honekin.formula:
=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",","")))) -1)
Kopiatu formula zutabean behera, eta emaitza hau lortuko duzu:
Nola hau formula funtzionatzen du:
Formularen mamia zera da: azken mugatzailearen (koma) posizioa zehazten dugula katearen eta azpikate bat ezkerretik gora mugatzailera tiratzen dugula. Mugatzailearen posizioa lortzea da zailena, eta hona hemen nola kudeatzen dugun:
Lehenengo, jatorrizko katean zenbat koma dauden jakiten dugu. Horretarako, koma bakoitza ezer ezarekin ordezkatzen dugu ("") eta ondoriozko katea LEN funtzioari zerbitzatzen diogu:
LEN(SUBSTITUTE(A2, ",",""))
A2rako, emaitza 35 da, hau da, karaktere kopurua. A2-n komarik gabe.
Kendu goiko zenbakia katearen luzera osotik (38 karaktere):
LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))
... eta 3 lortuko duzu, hau da, guztizko kopurua. komaren A2-n (eta azken komaren zenbaki ordinala ere).
Ondoren, BILATU eta ORDEZKO funtzioen konbinazio ezaguna erabiltzen duzu katearen azken komaren posizioa lortzeko. Instantzia-zenbakia (3. koma gure kasuan) goian aipatutako LEN ORDEZKOA formulak ematen du:
FIND("#", SUBSTITUTE(A2, ",", "#", 3))
Badirudi 3. koma A2ko 23. karakterea dela, hau da, behar dugu. aurreko 22 karaktere ateratzeko. Beraz, goiko formula ken 1 jartzen dugu num_chars EZKERRA argumentuan:
LEFT(A2, 23-1)
Nola kendu testua karaktere baten azken agerraldiaren aurretik
EzabatzekoKaraktere zehatz baten azken instantzia baino lehen dena, formula generikoa hau da:
ESKUINA( gelaxka , LEN( gelaxka ) - BILATU("#", ORDEZKOAK( gelaxka , " karakter ", "#", LEN( zelula ) - LEN(ORDEZKOAK( zelula , " karakter ", "")))))Gure lagin-taulan, azken koma baino lehen testua desagerrarazteko, formulak forma hau hartzen du:
=RIGHT(A2, LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",","")))))
Akaitzeko ukitu gisa, habia ezazu TRIM funtzioan hasierako espazioak ezabatzeko:
=TRIM(RIGHT(A2, LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))))))
Nola funtzionatzen duen formula honek:
Laburbilduz, aurreko adibidean azaldu bezala azken komaren posizioa lortuko dugu eta katearen luzera osotik kenduko dugu:
LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))))
Ondorioz, kopurua lortuko dugu. karaktereak azken komaren atzetik eta pasa ezazu ESKUBINA funtziora, beraz, karaktere asko ekartzen ditu katearen amaieratik.
Pertsonalizatutako funtzioa karaktere baten bi aldeetako testua kentzeko
Bezala goiko adibideetan ikusi duzu, ia edozein erabilera kasu ebatzi dezakezu Excel-en jatorrizko f erabiliz unkzioak konbinazio ezberdinetan. Arazoa da formula zailak gogoratu behar dituzula. Hmm, zer gertatzen da gure funtzioa idazten badugu eszenatoki guztiak estaltzeko? Ideia ona dirudi. Beraz, gehitu hurrengo VBA kodea zure lan-liburura (VBA Excel-en txertatzeko urrats zehatzak hemen daude):
Funtzioa RemoveText(str As String , mugatzailea As String , agerraldia As Integer , is_after AsBoolearra ) Dim delimiter_num, start_num, delimiter_len As Integer Dim str_result As String delimiter_num = 0 start_num = 1 str_result = "" delimiter_len = Len(mugatzailea) For i = 1 To agerraldi delimiter_num = InStr(start_extCompare, vb) < muga_zenbakia Ondoren, hasiera_zenbakia = zenbaki_mugatzailea + muga_zenbakia Amaiera Hurrengoa bada i 0 bada < delimiter_num Then If True = is_after Then str_result = Mid(str, 1, start_num - delimiter_len - 1) Else str_result = Mid(str, start_num) End If End If RemoveText = str_result End FunctionGure funtzioa Kendu du izena eta sintaxia hau dauka:
KenduTestua(katea, mugatzailea, agerraldia, is_after)Non:
Katea - jatorrizko testu-katea da. Gelaxka-erreferentzia baten bidez irudika daiteke.
Mugatzailea - testua kendu behar den aurreko/ondoko karakterea.
Agerraldia - ren instantzia. mugatzailea.
Is_after - mugatzailearen zein aldetan kendu behar den testua adierazten duen balio boolearra. Karaktere bakar bat edo karaktere-segida bat izan daiteke.
- EGIA: ezabatu mugatzailearen ondorengo guztia (mugatzailea bera barne).
- GEZURRA: ezabatu mugatzailea baino lehen dena (mugatzailea barne). mugatzailea bera).
Funtzioaren kodea lan-liburuan sartu ondoren, gelaxketatik azpikateak ken ditzakezu formula trinko eta dotoreak erabiliz.
Adibidez, ezabatzeko.