Jedwali la yaliyomo
Katika makala haya, utajifunza jinsi ya kufuta herufi mahususi kutoka kwa mfuatano wa maandishi na kuondoa herufi zisizotakikana kutoka kwa visanduku vingi mara moja.
Unapoleta data kwa Excel kutoka mahali pengine, herufi nyingi maalum zinaweza kusafiri hadi kwenye laha zako za kazi. Kinachofadhaisha zaidi ni kwamba baadhi ya herufi hazionekani, ambayo hutoa nafasi nyeupe ya ziada kabla, baada ya au ndani ya mifuatano ya maandishi. Mafunzo haya yanatoa suluhu kwa matatizo haya yote, kukuepusha na shida ya kulazimika kupitia seli kwa seli na kusafisha herufi zisizohitajika kwa mkono.
Ondoa herufi maalum kutoka kwa kisanduku cha Excel.
Ili kufuta herufi mahususi kutoka kwa kisanduku, ibadilishe kwa mfuatano tupu kwa kutumia kitendakazi SUBSTITUTE katika umbo lake rahisi zaidi:
SUBSTITUTE( seli, char, "")Kwa mfano, ili kuondoa alama ya swali kutoka kwa A2, fomula katika B2 ni:
=SUBSTITUTE(A2, "?", "")
Kuondoa a herufi ambayo haipo kwenye kibodi yako, unaweza kunakili/kubandika kwa fomula kutoka kisanduku asili.
Kwa mfano, hivi ndivyo unavyoweza kuondoa alama ya swali iliyogeuzwa:
=SUBSTITUTE(A2, "¿", "")
Lakini ikiwa herufi isiyohitajika haionekani au hainakili ipasavyo, unaiwekaje kwenye fomula? Kwa urahisi, tafuta nambari yake ya msimbo kwa kutumia kitendakazi cha CODE.
Kwa upande wetu, herufi isiyotakikana ("¿") huwa ya mwisho katika kisanduku A2, kwa hivyo tunatumia mchanganyiko.ya CODE na vitendaji vya RIGHT ili kupata thamani yake ya kipekee ya msimbo, ambayo ni 191:
=CODE(RIGHT(A2))
Ukipata msimbo wa mhusika, tumia CHAR inayolingana. fanya kazi kwa fomula ya jumla hapo juu. Kwa mkusanyiko wetu wa data, fomula huenda kama ifuatavyo:
=SUBSTITUTE(A2, CHAR(191),"")
Kumbuka. Chaguo za kukokotoa za SUBSTITUTE ni nyeti-nyeti , kumaanisha kwamba huchukulia herufi ndogo na kubwa kama herufi tofauti. Tafadhali kumbuka hilo ikiwa tabia yako isiyohitajika ni barua.
Futa herufi nyingi kutoka kwa mfuatano
Katika mojawapo ya vifungu vilivyotangulia, tuliangalia jinsi ya kuondoa herufi mahususi kutoka kwa mifuatano katika Excel kwa kuweka vitendaji kadhaa vya SUBSTITUTE moja hadi nyingine. Mbinu hiyo hiyo inaweza kutumika kuondoa herufi mbili au zaidi zisizohitajika kwa muda mmoja:
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( seli , char1 , ""), char2 , ""), char3 , "")Kwa mfano, ili kuondoa alama za mshangao za kawaida na za viulizio pamoja na zile zilizogeuzwa kutoka kwa mfuatano wa maandishi katika A2, tumia fomula hii:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "!", ""), "¡", ""), "?", ""), "¿", "")
Vile vile vinaweza kufanywa kwa usaidizi wa chaguo la kukokotoa la CHAR, ambapo 161 ni msimbo wa herufi ya "¡" na 191 ni msimbo wa herufi ya "¿":
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3, "!", ""), "?", ""), CHAR(161), ""), CHAR(191), "")
Vitendo vya kukokotoa vya Nested SUBSTITUTE hufanya kazi vizuri kwa idadi ya kutosha ya vibambo, lakini ikiwa una herufi kadhaa za kuondoa, fomula inakuwa ndefu na vigumu kudhibiti. Mfano unaofuata unaonyesha asuluhisho fupi na maridadi zaidi.
Ondoa herufi zote zisizotakikana mara moja
Suluhisho hufanya kazi tu katika Excel kwa Microsoft 365
Kama unavyojua, Excel 365 ina kazi maalum ambayo inakuwezesha kuunda kazi zako mwenyewe, ikiwa ni pamoja na zile zinazohesabu kwa kurudia. Kitendaji hiki kipya kinaitwa LAMBDA, na unaweza kupata maelezo kamili kuihusu katika mafunzo yaliyounganishwa hapo juu. Hapo chini, nitaonyesha dhana kwa mifano michache ya vitendo.
Kitendo maalum cha kukokotoa cha LAMBDA cha kuondoa herufi zisizohitajika ni kama ifuatavyo:
=LAMBDA(string, chars, IF(chars"", RemoveChars(SUBSTITUTE(string, LEFT(chars, 1), ""), RIGHT(chars, LEN(chars) -1)), string))
- Katika Jina kisanduku, weka jina la chaguo la kukokotoa: RemoveChars .
- Weka upeo kuwa Kitabu cha Kazi .
- Katika Rejelea 2> kisanduku, bandika fomula iliyo hapo juu.
- Kwa hiari, weka maelezo ya vigezo kwenye kisanduku cha Maoni . Vigezo vitaonyeshwa unapocharaza fomula kwenye kisanduku.
- Bofya Sawa ili kuhifadhi kitendakazi chako kipya.
Kwa maagizo ya kina, tafadhali angalia Jinsi ya kutaja kitendakazi maalum cha LAMBDA.
Kitendaji hiki kikishapata jina, unaweza kurejelea kama fomula yoyote asili.
Kulingana na mtazamo wa mtumiaji. , sintaksia ya utendaji wetu maalum ni rahisi kamahii:
RemoveChars(string, chars)Where:
- String - ni mfuatano wa asili, au rejeleo la seli/fungu lililo na mfuatano( s).
- Chars - herufi za kufuta. Inaweza kuwakilishwa na mfuatano wa maandishi au rejeleo la seli.
Kwa urahisi, tunaingiza herufi zisizohitajika katika baadhi ya kisanduku, sema D2. Ili kuondoa herufi hizo kutoka kwa A2, fomula ni:
=RemoveChars(A2, $D$2)
Ili fomula ifanye kazi ipasavyo, tafadhali zingatia mambo yafuatayo:
- Katika D2 , vibambo vimeorodheshwa bila nafasi, isipokuwa ungependa kuondoa nafasi pia.
- Anwani ya seli iliyo na herufi maalum imefungwa kwa alama ya $ ($D$2) ili kuzuia marejeleo kubadilika wakati wa kushughulikia fomula kwa seli zilizo hapa chini.
Na kisha, tunaburuta fomula chini na vibambo vyote vilivyoorodheshwa katika D2 vifutwe kutoka kwa seli A2 hadi A6:
Ili kusafisha visanduku vingi kwa fomula moja, toa masafa A2:A6 kwa hoja ya 1:
=RemoveChars(A2:A6, D2)
Kwa kuwa fomula imeingizwa kwenye seli ya juu kabisa, huna haja ya kuwa na wasiwasi kuhusu kufunga viwianishi vya seli - rejeleo la jamaa (D2) hufanya kazi vizuri katika kesi hii. Na kwa sababu ya usaidizi wa safu zinazobadilika, fomula humwagika kiotomatiki kwenye seli zote zilizorejelewa:
Kuondoa seti ya herufi iliyoainishwa awali
Ili kufuta seti iliyobainishwa awali ya wahusika kutoka seli nyingi, unaweza kuundaLAMBDA nyingine inayoita kitendakazi kikuu cha RemoveChars na kubainisha herufi zisizohitajika katika parameta ya 2. Kwa mfano:
Ili kufuta herufi maalum , tumeunda chaguo maalum la kukokotoa liitwalo RemoveSpecialChars :
=LAMBDA(string, RemoveChars(string, "?¿!¡*%#@^"))
Kwa ondoa nambari kutoka kwa mifuatano ya maandishi, tumeunda chaguo moja zaidi la kukokotoa liitwalo OndoaNumbers :
=LAMBDA(string, RemoveChars(string, "0123456789"))
Utendakazi wote ulio hapo juu ni rahisi sana. kutumia kwani zinahitaji hoja moja tu - mfuatano wa asili.
Ili kuondoa herufi maalum kutoka kwa A2, fomula ni:
=RemoveSpecialChars(A2)
Ili kufuta herufi za nambari:
=RemoveNumbers(A2)
Jinsi chaguo hili la kukokotoa linavyofanya kazi:
Kwa kweli, chaguo za kukokotoa za RemoveChars hupitia orodha ya char na kuondoa herufi moja kwa wakati mmoja. Kabla ya kila simu inayojirudia, chaguo za kukokotoa za IF hukagua herufi zilizosalia. Ikiwa safu ya chars si tupu (chars""), chaguo la kukokotoa linajiita. Mara tu herufi ya mwisho inapochakatwa, fomula huirudisha string katika umbo lake la sasa na kuondoka.
Kwa uchanganuzi wa fomula ya kina, tafadhali angalia Recursive LAMBDA ili kuondoa herufi zisizohitajika.
Ondoa herufi maalum ukitumia VBA
Vitendaji hufanya kazi katika matoleo yote ya Excel
Ikiwa kitendakazi cha LAMBDA hakipatikani katika Excel yako, hakuna kinachokuzuia. kutoka kwa kuunda kazi sawa na VBA. Mtumiaji aliyefafanuliwakitendakazi (UDF) kinaweza kuandikwa kwa njia mbili.
Kitendaji maalum cha kufuta herufi maalum recursive :
Msimbo huu unaiga mantiki ya chaguo za kukokotoa za LAMBDA iliyojadiliwa hapo juu.
Function RemoveUnwantedChars(str As String , chars As String ) Ikiwa ( "" chars) Kisha str = Badilisha(str, Left(chars, 1), "" ) chars = Right(char, Len(chars) - 1) RemoveUnwantedChars = RemoveUnwantedChars(str, chars) Else RemoveUnwantedChars = str End Kama Komesha ChaguoKitendaji maalum cha kuondoa herufi maalum zisizojirudia :
Hapa, tunazunguka herufi zisizohitajika kutoka 1 hadi Len(chars) na ubadilishe zile zilizopatikana kwenye kamba asili bila chochote. Chaguo za kukokotoa za MID huvuta herufi zisizohitajika moja baada ya nyingine na kuzipitisha kwenye kitendakazi cha Badilisha.
Function RemoveUnwantedChars(str As String , chars As String ) For index = 1 To Len(chars) str = Replace(str, Mid(chars), index, 1), "" ) Next RemoveUnwantedChars = str Maliza KaziIngiza mojawapo ya misimbo hapo juu kwenye kitabu chako cha kazi kama ilivyoelezwa katika Jinsi ya kuingiza msimbo wa VBA katika Excel, na utendakazi wako maalum uko tayari kutumika.
Tusichanganye chaguo zetu mpya za kukokotoa zilizofafanuliwa na mtumiaji na ile iliyofafanuliwa ya Lambda, tumeipa jina tofauti:
RemoveUnwantedChars(string, chars)Kwa kudhani kuwa mfuatano wa asili uko katika A2 na herufi zisizokubalika katika D2, tunaweza kuziondoa kwa kutumia fomula hii:
= RemoveUnwantedChars(A2, $D$2)
Kitendaji maalum chenye msimbo ngumu.herufi
Ikiwa hutaki kujisumbua kuhusu kusambaza herufi maalum kwa kila fomula, unaweza kuzibainisha moja kwa moja kwenye msimbo:
Function RemoveSpecialChars(str As String ) Kama chars za Kamba Dim As String Dim index As. Herufi ndefu = "?¿!¡*%#$(){}[]^&/\~+-" Kwa faharasa = 1 Hadi Len(chars) str = Badilisha(str, Mid(char, index, 1) , "" ) Next RemoveSpecialChars = str End FunctionTafadhali kumbuka kuwa msimbo ulio hapo juu ni kwa madhumuni ya onyesho. Kwa matumizi ya vitendo, hakikisha kuwa umejumuisha herufi zote unazotaka kufuta katika mstari ufuatao:
chars = "?¿!¡*%#$(){}[]^&/\~+-"
Kitendo hiki maalum kimepewa jina OndoaCharsMaalum na inahitaji moja tu. hoja - mfuatano asili:
RemoveSpecialChars(string)Ili kuondoa herufi maalum kutoka kwa mkusanyiko wetu wa data, fomula ni:
=RemoveSpecialChars(A2)
Ondoa herufi zisizoweza kuchapishwa katika Excel
Microsoft Excel ina kazi maalum ya kufuta herufi zisizochapisha - kitendakazi CLEAN. Kitaalam, huondoa herufi 32 za kwanza katika seti ya 7-bit ASCII (misimbo 0 hadi 31).
Kwa mfano, ili kufuta herufi zisizoweza kuchapishwa kutoka kwa A2, hii ndiyo fomula ya kutumia. :
=CLEAN(A2)
Hii itaondoa herufi zisizochapishwa, lakini nafasi kabla/baada ya maandishi na kati ya maneno zitasalia.
Kwa ondoa nafasi za ziada , funga fomula CLEAN katika chaguo la kukokotoa la TRIM:
=TRIM(CLEAN(A2))
Sasa, zote zinaongoza nanafasi zinazofuata huondolewa, huku kati ya nafasi zikipunguzwa hadi herufi moja ya nafasi:
Ikiwa ungependa kufuta nafasi zote kabisa ndani mfuatano, kisha ubadilishe herufi ya nafasi (nambari ya kuthibitisha 32) kwa mfuatano tupu:
=TRIM(CLEAN((SUBSTITUTE(A2, CHAR(32), ""))))
Baadhi ya nafasi au herufi zingine zisizoonekana bado zimesalia ndani. karatasi yako? Hiyo inamaanisha kuwa herufi hizo zina thamani tofauti katika seti ya herufi za Unicode.
Kwa mfano, msimbo wa herufi nafasi isiyoweza kukatika ( ) ni 160 na unaweza kuisafisha kwa kutumia fomula hii:
=SUBSTITUTE(A2, CHAR(160)," ")
Ili kufuta bambo mahususi isiyochapisha , unahitaji kupata thamani yake ya msimbo kwanza. Maagizo ya kina na mifano ya fomula iko hapa: Jinsi ya kuondoa herufi mahususi isiyochapisha.
Futa herufi maalum kwa Ultimate Suite
Inasaidia Excel kwa Microsoft 365, Excel 2019 - 2010
Katika mfano huu wa mwisho, acha nikuonyeshe njia rahisi zaidi ya kuondoa herufi maalum katika Excel. Ultimate Suite ukiwa umesakinishwa, hivi ndivyo unavyohitaji kufanya:
- Kwenye kichupo cha Ablebits Data , katika kikundi cha Nakala , bofya Ondoa > Ondoa Herufi .
Baada ya muda mfupi, utapata matokeo kamili:
Ikitokea hitilafu, usijali - nakala rudufu ya lahakazi yako itaundwa kiotomatiki kwani kisanduku cha Hifadhi nakala ya laha hii ya kazi kinachaguliwa kwa chaguomsingi.
Je, ungependa kujaribu zana yetu ya Ondoa? Kiungo cha toleo la tathmini kiko hapa chini. Ninakushukuru kwa kusoma na natumai kukuona kwenye blogu yetu wiki ijayo!
Vipakuliwa vinavyopatikana
Futa herufi maalum - mifano (.xlsm file)
Ultimate Suite - trial toleo (.exe faili)