Daptar eusi
Dina artikel ieu, anjeun bakal diajar kumaha carana mupus karakter husus tina string téks jeung miceun karakter nu teu dihoyongkeun tina sababaraha sél sakaligus.
Nalika ngimpor data ka Excel ti tempat séjén, loba karakter husus bisa indit ka lembar kerja Anjeun. Anu langkung frustasi nyaéta sababaraha karakter anu teu katingali, anu ngahasilkeun rohangan bodas tambahan sateuacan, saatos atanapi di jero senar téks. Tutorial ieu nyayogikeun solusi pikeun sadaya masalah ieu, nyéépkeun masalah anjeun kedah ngaliwat sél-sél data sareng ngabersihan karakter anu teu dihoyongkeun ku tangan.
Pupus karakter khusus tina sél Excel.
Pikeun mupus karakter husus tina sél, ganti ku string kosong ku cara maké fungsi SUBSTITUTE dina wangun pangbasajanna:
SUBSTITUTE( cell, char, "")Contona, pikeun mupus tanda tanya tina A2, rumus dina B2 nyaéta:
=SUBSTITUTE(A2, "?", "")
Pikeun miceun a karakter nu teu aya dina kibor Anjeun, Anjeun bisa nyalin/témpélkeun kana rumus ti sél aslina.
Misalna, ieu kumaha anjeun bisa nyabut tanda tanya tibalik:
=SUBSTITUTE(A2, "¿", "")
Tapi lamun karakter nu teu dihoyongkeun teu katempo atawa teu ditiron bener, kumaha carana nempatkeun eta dina rumus? Kantun, panggihan nomer kode na nganggo fungsi KODE.
Dina kasus urang, karakter nu teu dihoyongkeun ("¿") asalna panungtungan dina sél A2, jadi urang ngagunakeun kombinasi.tina CODE sareng RIGHT fungsina pikeun meunangkeun deui nilai kodeu unikna, nyaéta 191:
=CODE(RIGHT(A2))
Sanggeus anjeun meunang kodeu karakter, layankeun CHAR nu saluyu. fungsina kana rumus umum di luhur. Pikeun set data urang, rumusna kieu:
=SUBSTITUTE(A2, CHAR(191),"")
Catetan. Fungsi SUBSTITUTE nyaéta sénsitip hurup leutik , hartina éta ngarawat hurup leutik sareng hurup ageung salaku karakter anu béda. Punten émut yén upami karakter anu teu dihoyongkeun nyaéta hurup.
Pupus sababaraha karakter tina string
Dina salah sahiji artikel saméméhna, urang nempo kumaha carana miceun karakter husus tina string dina Excel ku nyarang sababaraha fungsi SUBSTITUTE kana sejen. Pendekatan anu sami tiasa dianggo pikeun ngaleungitkeun dua atanapi langkung karakter anu teu dihoyongkeun sakaligus:
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( cell , char1 , ""), char2 , ""), char3 , "")Misalna, pikeun ngabasmi tanda seru jeung tanda tanya normal, kitu ogé nu inverted tina string téks dina A2, make rumus ieu:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "!", ""), "¡", ""), "?", ""), "¿", "")
Sarua bisa dipigawé kalayan bantuan fungsi CHAR, dimana 161 mangrupa kode karakter pikeun "¡" jeung 191 mangrupa kode karakter pikeun "¿":
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3, "!", ""), "?", ""), CHAR(161), ""), CHAR(191), "")
Pungsi SUBSTITUTE Nested tiasa dianggo saé pikeun jumlah karakter anu wajar, tapi upami anjeun gaduh puluhan karakter pikeun dipiceun, rumusna janten panjang teuing sareng sesah diatur. Conto saterusna nunjukkeun asolusi anu langkung kompak sareng elegan.
Pupus sadaya karakter anu teu dihoyongkeun sakaligus
Solusi ngan tiasa dianggo dina Excel pikeun Microsoft 365
Sakumaha anjeun terang, Excel 365 boga pungsi husus nu ngidinan Anjeun pikeun nyieun fungsi sorangan, kaasup nu ngitung recursively. fungsi anyar ieu ngaranna LAMBDA, tur anjeun tiasa manggihan rinci lengkep ngeunaan eta dina tutorial luhur-numbu. Di handap ieu, kuring bakal ngagambarkeun konsép kalayan sababaraha conto praktis.
Pungsi LAMBDA custom pikeun miceun karakter nu teu dihoyongkeun nyaéta kieu:
=LAMBDA(string, chars, IF(chars"", RemoveChars(SUBSTITUTE(string, LEFT(chars, 1), ""), RIGHT(chars, LEN(chars) -1)), string))
Pikeun tiasa nganggo pungsi ieu dina lembar kerja anjeun, anjeun kedah nami heula. Jang ngalampahkeun ieu, pencét Ctrl + F3 pikeun muka Name Manager , terus nangtukeun hiji Ngaran Anyar ku cara kieu:
- Dina Ngaran kotak, lebetkeun ngaran fungsi: RemoveChars .
- Setel wengkuan ka Workbook .
- Dina Nunjukkeun ka kotak, témpél rumus di luhur.
- Pilihan, lebetkeun pedaran parameter dina kotak Koméntar . Parameter bakal dipintonkeun nalika anjeun ngetik rumus dina sél.
- Klik OK pikeun nyimpen pungsi anyar anjeun.
Pikeun pitunjuk lengkep, mangga tingali Kumaha ngaranan pungsi LAMBDA custom.
Sanggeus pungsi meunang ngaran, Anjeun bisa ngarujuk ka fungsina kawas rumus asli naon waé.
Ti sudut pandang pamaké. , sintaksis tina fungsi custom urang téh sakumaha basajan sakumahaieu:
RemoveChars(string, chars)Dimana:
- String - mangrupa string aslina, atawa rujukan ka sél/rentang nu ngandung string ( s).
- Karakter - karakter pikeun dipupus. Bisa digambarkeun ku string téks atawa rujukan sél.
Pikeun genah, urang ngasupkeun karakter nu teu dihoyongkeun dina sababaraha sél, sebutkeun D2. Pikeun miceun karakter-karakter éta tina A2, rumusna nyaéta:
=RemoveChars(A2, $D$2)
Supaya rumus jalanna leres, punten perhatikeun hal-hal ieu:
- Dina D2 , karakter dibéréndélkeun tanpa spasi, iwal mun hayang ngaleungitkeun spasi ogé.
- Alamat sél nu ngandung karakter husus dikonci ku tanda $ ($D$2) pikeun nyegah rujukan robah nalika nungkulan rumus ka sél di handap.
Saterusna, urang ngan saukur séred rumus ka handap sarta sakabéh karakter nu didaptarkeun di D2 dihapus tina sél A2 ngaliwatan A6:
Pikeun ngabersihan sababaraha sél nganggo rumus tunggal, asupkeun rentang A2:A6 pikeun argumen ka-1:
=RemoveChars(A2:A6, D2)
Kusabab rumus diasupkeun ngan dina sél paling luhur, Anjeun teu kedah hariwang ngeunaan ngonci koordinat sél - rujukan relatif (D2) tiasa dianggo dina hal ieu. Sarta alatan rojongan pikeun arrays dinamis, rumus spills otomatis kana sakabéh sél referenced:
Nyoplokkeun susunan karakter nu tos disetel
Pikeun mupus susunan nu geus ditangtukeun karakter tina sababaraha sél, Anjeun bisa nyieunLAMBDA sejen anu nyauran fungsi utama RemoveChars sareng nangtukeun karakter anu teu dipikahoyong dina parameter ka-2. Contona:
Pikeun mupus karakter husus , kami geus nyieun pungsi custom ngaranna RemoveSpecialChars :
=LAMBDA(string, RemoveChars(string, "?¿!¡*%#@^"))
To Hapus angka tina string téks, kami geus nyieun hiji deui fungsi ngaranna RemoveNumbers :
=LAMBDA(string, RemoveChars(string, "0123456789"))
Kadua fungsi di luhur téh super-gampang. ngagunakeun sabab merlukeun ngan hiji argumen - string aslina.
Pikeun ngaleungitkeun karakter husus tina A2, rumusna nyaéta:
=RemoveSpecialChars(A2)
Pikeun mupus wungkul karakter numerik:
=RemoveNumbers(A2)
Kumaha pungsi ieu jalanna:
Intina, fungsi RemoveChars ngulangan dina daptar karakter sareng ngaleungitkeun hiji karakter dina hiji waktos. Sateuacan unggal sauran rekursif, fungsi IF mariksa karakter anu sésana. Lamun karakter string teu kosong (karakter""), fungsi nu nelepon sorangan. Pas karakter panungtung geus diolah, rumusna mulangkeun string bentukna nu ayeuna jeung kaluar.
Pikeun rumus lengkepna, mangga tingali Recursive LAMBDA pikeun ngahapus karakter nu teu dihoyongkeun.
Pupus karakter khusus nganggo VBA
Pungsi jalanna dina sadaya vérsi Excel
Upami pungsi LAMBDA henteu sayogi dina Excel anjeun, teu aya anu nyegah anjeun ti nyieun fungsi sarupa jeung VBA. A pamaké-diartikeunfungsi (UDF) bisa ditulis ku dua cara.
Pungsi custom pikeun mupus karakter husus rekursif :
Kode ieu emulates logika fungsi LAMBDA dibahas di luhur.
Fungsi RemoveUnwantedChars(str As String, chars As String) If ( "" chars) Lajeng str = Ganti (str, Kénca (chars, 1), "") chars = Katuhu (chars, Len (chars) - 1) RemoveUnwantedChars = RemoveUnwantedChars(str, chars) Lain RemoveUnwantedChars = str End If End FunctionFungsi custom pikeun miceun karakter husus non-recursive :
Di dieu, urang ngaliwat karakter nu teu dihoyongkeun ti 1 nepi ka Len (karakter) sareng ngagentos anu aya dina senar asli nganggo nanaon. Fungsi MID narik karakter nu teu dihoyongkeun hiji-hiji jeung ngalirkeun kana fungsi Ganti.
Fungsi RemoveUnwantedChars(str As String , chars As String ) For index = 1 To Len(chars) str = Replace(str, Mid(chars, index, 1), "") Next RemoveUnwantedChars = str End FunctionSelapkeun salah sahiji kode di luhur dina workbook anjeun sakumaha dipedar dina Cara nyelapkeun kode VBA dina Excel, sarta fungsi custom anjeun geus siap dipaké.
Henteu ngalieurkeun fungsi anu didefinisikeun ku pangguna énggal sareng anu didefinisikeun ku Lambda, kami parantos namina béda:
RemoveUnwantedChars(string, chars)Anggap senar asli aya dina A2 sareng karakter anu teu dihaja dina D2, urang tiasa nyingkirkeunana nganggo rumus ieu:
= RemoveUnwantedChars(A2, $D$2)
Fungsi khusus nganggo hardcodedkarakter
Mun anjeun teu hayang repot nyadiakeun karakter husus pikeun tiap rumus, anjeun bisa nangtukeun langsung dina kode:
Fungsi RemoveSpecialChars(str Salaku String) Salaku String Taram chars Salaku String Taram indéks Salaku Aksara panjang = "?¿!¡*%#$(){}[]^&/\~+-" Pikeun indéks = 1 Pikeun Len(karakter) str = Ganti(str, Pertengahan(karakter, indéks, 1) , "") Next RemoveSpecialChars = str End FunctionPunten émut yén kode di luhur kanggo tujuan démo. Pikeun pamakéan praktis, pastikeun kaasup sakabeh karakter nu Anjeun hoyong pupus dina baris handap:
chars = "?¿!¡*%#$(){}[]^&/\~+-"
Pungsi custom ieu ngaranna RemoveSpecialChars sarta merlukeun ngan hiji. argumen - string aslina:
RemoveSpecialChars(string)Pikeun nyabut karakter husus tina susunan data urang, rumusna nyaéta:
=RemoveSpecialChars(A2)
Hapus karakter nu teu bisa dicitak dina Excel
Microsoft Excel boga pungsi husus pikeun mupus karakter nonprinting - fungsi CLEAN. Téhnisna, éta ngaleungitkeun 32 karakter munggaran dina set ASCII 7-bit (kode 0 dugi ka 31).
Contona, pikeun mupus karakter anu teu tiasa dicitak tina A2, ieu rumus anu dianggo. :
=CLEAN(A2)
Ieu bakal ngaleungitkeun karakter non-printing, tapi spasi saméméh/sanggeus teks jeung antara kecap bakal tetep.
Ka miceun spasi tambahan , bungkus rumus BERSIH dina pungsi TRIM:
=TRIM(CLEAN(A2))
Ayeuna, sadayana ngarah sarengspasi labuh dihapus, sedengkeun spasi di-antara diréduksi jadi karakter spasi tunggal:
Upami anjeun hoyong ngahapus leres pisan sadaya spasi di jero string, teras ngagantikeun karakter spasi (nomer kode 32) ku string kosong:
=TRIM(CLEAN((SUBSTITUTE(A2, CHAR(32), ""))))
Sababaraha spasi atawa karakter halimunan sejenna masih tetep dina lembar kerja anjeun? Hartina, karakter-karakter éta miboga niléy anu béda dina susunan karakter Unicode.
Misalna, kodeu karakter spasi nu teu putus ( ) nyaéta 160 sarta anjeun bisa ngabersihan maké rumus ieu:
=SUBSTITUTE(A2, CHAR(160)," ")
Pikeun mupus hiji karakter non-nyitak husus , anjeun kudu neangan nilai kodena heula. Pitunjuk lengkep sareng conto rumus aya di dieu: Kumaha mupus karakter khusus anu henteu nyitak.
Pupus karakter khusus nganggo Ultimate Suite
Ngadukung Excel pikeun Microsoft 365, Excel 2019 - 2010
Dina conto panungtung ieu, kuring bakal nunjukkeun anjeun cara panggampangna pikeun ngahapus karakter khusus dina Excel. Kalayan Ultimate Suite dipasang, ieu anu anjeun kedah laksanakeun:
- Dina tab Ablebits Data , dina grup Teks , klik Hapus > Hapus Aksara .
Sakedap, anjeun bakal meunang hasil anu sampurna:
Upami aya nu lepat, tong hariwang - salinan cadangan lembar kerja anjeun bakal otomatis dijieun nalika kotak Cadangkeun ieu lembar kerja dipilih sacara standar.
panasaran pikeun nyobaan alat Hapus kami? Link ka versi evaluasi aya di handap. Hatur nuhun pikeun maca sareng ngarepkeun anjeun tiasa ningali dina blog kami minggu payun!
Unduh anu sayogi
Pupus karakter khusus - conto (file .xlsm)
Ultimate Suite - percobaan versi (file .exe)