Mar a sguabas tu às caractaran sònraichte / nach eileas ag iarraidh ann an Excel

  • Roinn Seo
Michael Brown

San artaigil seo, ionnsaichidh tu mar a sguabas tu às caractaran sònraichte à sreang teacsa agus mar a bheir thu air falbh caractaran nach eileas ag iarraidh bho iomadh cealla aig an aon àm.

Nuair a bhios tu a’ toirt a-steach dàta gu Excel à àiteigin eile, faodaidh tòrr charactaran sònraichte siubhal gu na duilleagan-obrach agad. Is e an rud a tha eadhon nas sàraichte gu bheil cuid de charactaran do-fhaicsinneach, a bheir a-mach àite geal a bharrachd ro, às deidh no taobh a-staigh sreangan teacsa. Bheir an oideachadh seo seachad fuasglaidhean airson na duilgheadasan sin uile, a’ sparradh ort an trioblaid a bhith agad a dhol tro chill dàta air cealla agus caractaran nach eileas ag iarraidh a ghlanadh le làimh.

Gus caractar sònraichte a sguabadh às cealla, cuir sreang fhalamh na àite le bhith a' cleachdadh a' ghnìomh SUBSTITUTE san fhoirm as sìmplidhe aige:

SUBSTITUTE( cell , char , "")

Mar eisimpleir, airson comharra-ceiste a sguabadh às A2, 's e am foirmle ann am B2:

=SUBSTITUTE(A2, "?", "")

A caractar nach eil an làthair air a' mheur-chlàr agad, 's urrainn dhut a chopaigeadh/a phasgadh dhan fhoirmle bhon chill thùsail.

Mar eisimpleir, seo mar a gheibh thu cuidhteas comharra ceist nach deach a thionndadh:

=SUBSTITUTE(A2, "¿", "")

Ach ma tha caractar nach eileas ag iarraidh do-fhaicsinneach no mura dèan e lethbhreac ceart, ciamar a chuireas tu san fhoirmle e? Gu sìmplidh, lorg an àireamh còd aige le bhith a’ cleachdadh a’ ghnìomh CODE.

Anns a’ chùis againn, thig an caractar nach eileas ag iarraidh (“¿”) mu dheireadh ann an ceal A2, agus mar sin tha sinn a’ cleachdadh measgachadhde na gnìomhan CÒD is CEART gus a luach còd sònraichte fhaighinn air ais, is e sin 191:

=CODE(RIGHT(A2))

Cho luath ‘s a gheibh thu còd a’ charactair, seirbhis an CHAR co-fhreagarrach gnìomh a rèir na foirmle coitcheann gu h-àrd. Airson an dàta againn, tha am foirmle a’ dol mar a leanas:

=SUBSTITUTE(A2, CHAR(191),"")

Nota. Tha an gnìomh SUBSTITUTE mothachail air cùis , a’ ciallachadh gu bheil e a’ làimhseachadh litrichean beaga is mòra mar charactaran eadar-dhealaichte. Feuch an cùm thu sin nad chuimhne mas e litir a th’ anns a’ charactar gun iarraidh agad.

Sguab às grunn charactaran bhon t-sreang

Ann an aon de na h-artaigilean roimhe, choimhead sinn air mar a bheir thu air falbh caractaran sònraichte bho shreathan ann an Excel le bhith a’ neadachadh grunn ghnìomhan SUBSTITUTE aon a-steach do fhear eile. Faodar an aon dòigh-obrach a chleachdadh gus dà charactar neo barrachd a chuir às ann an aon turas:

SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( cell , char1 ," ""), char2 , ""), char3 , "")

Mar eisimpleir, gus cuir às do chlaisean àbhaisteach agus comharran ceist cho math ris an fheadhainn a tha air an tionndadh a-mach à sreang teacsa ann an A2, cleachd am foirmle seo:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "!", ""), "¡", ""), "?", ""), "¿", "")

Faodar an aon rud a dhèanamh le cuideachadh bhon ghnìomh CHAR, far a bheil 161 na chòd caractair airson "¡" agus 's e 191 an còd caractair airson "¿":

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3, "!", ""), "?", ""), CHAR(161), ""), CHAR(191), "")

Nested SUBSTITUTE functions ag obair gu math airson àireamh reusanta de charactaran, ach ma tha dusanan de charactaran agad ri thoirt air falbh, bidh am foirmle ro fhada agus ro dhoirbh a riaghladh. Tha an ath eisimpleir a’ sealltainn afuasgladh nas toinnte agus nas eireachdail.

Thoir air falbh a h-uile caractar nach eileas ag iarraidh aig an aon àm

Chan obraich am fuasgladh ach ann an Excel airson Microsoft 365

Mar is dòcha gu bheil fios agad, Tha gnìomh sònraichte aig Excel 365 a leigeas leat na gnìomhan agad fhèin a chruthachadh, a’ toirt a-steach an fheadhainn a bhios ag obrachadh a-rithist. Tha an gnìomh ùr seo air ainmeachadh LAMBDA, agus gheibh thu làn fhiosrachadh mu dheidhinn anns an oideachadh gu h-àrd. Gu h-ìosal, seallaidh mi am bun-bheachd le eisimpleir no dhà practaigeach.

Tha gnìomh àbhaisteach LAMBDA gus caractaran nach eileas ag iarraidh a thoirt air falbh mar a leanas:

=LAMBDA(string, chars, IF(chars"", RemoveChars(SUBSTITUTE(string, LEFT(chars, 1), ""), RIGHT(chars, LEN(chars) -1)), string))

Gus an urrainn dhut an gnìomh seo a chleachdadh anns na duilleagan-obrach agad, feumaidh tu ainmeachadh an toiseach. Airson seo, brùth Ctrl + F3 gus am Manaidsear Ainm fhosgladh, agus an uairsin sònraich Ainm Ùr san dòigh seo:

  1. Anns an Ainm bogsa, cuir a-steach ainm a' ghnìomh: Thoir air falbh Chars .
  2. Suidhich an sgòp gu Leabhar-obrach .
  3. Anns an Thoir iomradh air , cuir a-steach am foirmle gu h-àrd.
  4. Mar roghainn, cuir a-steach tuairisgeul nam paramadairean sa bhogsa Beachdan . Thèid na paramadairean a shealltainn nuair a chuireas tu foirmle a-steach ann an cealla.
  5. Briog air OK gus an gnìomh ùr agad a shàbhaladh.

Airson an stiùiridh mhionaideach, faic Mar a dh'ainmicheas tu gnìomh LAMBDA àbhaisteach.

Cho luath 's a gheibh an gnìomh ainm, 's urrainn dhut iomradh a thoirt air mar fhoirmle dùthchasach sam bith.

Bho shealladh a' chleachdaiche , tha co-chòrdadh ar gnìomh àbhaisteach cho sìmplidh riseo:

RemoveChars(sreang, chars)

Càite:

  • String - an e sreang tùsail a th’ ann, no iomradh air a’ chill/raon anns a bheil an t-sreang ( s).
  • Chars - caractaran ri sguabadh às. Faodar a riochdachadh le sreang teacsa no le iomradh cealla.

Airson goireasachd, cuiridh sinn a-steach caractaran nach eileas ag iarraidh ann an cealla air choreigin, can D2. Gus na caractaran sin a thoirt air falbh bho A2, 's e am foirmle:

=RemoveChars(A2, $D$2)

Airson obraich am foirmle gu ceart, thoir an aire do na rudan a leanas:

  • Ann an D2 , tha caractaran air an clàradh às aonais beàrnan, mur eil thu airson beàrnan a sguabadh às cuideachd.
  • Tha seòladh na cealla anns a bheil na caractaran sònraichte glaiste leis an t-soidhne $ ($D$2) gus casg a chur air an iomradh atharrachadh nuair a dhèiligeas tu ris an foirmle gu na ceallan gu h-ìosal.

Agus an uairsin, bidh sinn dìreach a’ slaodadh na foirmle sìos agus tha na caractaran gu lèir air an liostadh ann an D2 air an toirt às à ceallan A2 tro A6:

Gus iomadh cealla a ghlanadh le aon fhoirmle, thoir seachad an raon A2:A6 airson a’ chiad argamaid:

=RemoveChars(A2:A6, D2)

Leis gu bheil am foirmle air a chuir a-steach sa chill as àirde a-mhàin, cha leig thu leas a bhith draghail mu bhith a’ glasadh na co-chomharran cealla - tha iomradh càirdeach (D2) ag obair gu math sa chùis seo. Agus mar thoradh air taic airson arrays fiùghantach, bidh am foirmle a’ dòrtadh gu fèin-ghluasadach a-steach do na ceallan air fad air a bheil iomradh:

A’ toirt air falbh seata charactaran ro-mhìnichte

Gus cuir às do sheata de charactaran ro-mhìnichte caractaran bho ioma cealla, faodaidh tu a chruthachadhLAMBDA eile a chanas am prìomh ghnìomh RemoveChars agus a shònraicheas na caractaran neo-mhiannach san 2na paramadair. Mar eisimpleir:

Gus caractaran sònraichte a sguabadh às, chruthaich sinn gnìomh gnàthaichte leis an ainm RemoveSpecialChars :

=LAMBDA(string, RemoveChars(string, "?¿!¡*%#@^"))

Gu thoir air falbh àireamhan o shreathan teacsa, tha sinn air aon ghnìomh eile a chruthachadh leis an t-ainm Thoir air falbh Àireamhan :

=LAMBDA(string, RemoveChars(string, "0123456789"))

Tha an dà ghnìomh gu h-àrd ro fhurasta cleachdadh oir chan fheum iad ach aon argamaid - an t-sreang thùsail.

Gus caractaran sònraichte a sguabadh às A2, 's e am foirmle:

=RemoveSpecialChars(A2)

24>

Gus caractaran àireamhach a sguabadh às a-mhàin:

=RemoveNumbers(A2)

Mar a dh’obraicheas an gnìomh seo:

Gu dearbh, tha an gnìomh RemoveChars a’ lùbadh tron ​​liosta chars agus a’ toirt air falbh aon charactar aig an aon àm. Ro gach gairm ath-chuairteach, bidh an gnìomh IF a’ sgrùdadh nan carraighean a tha air fhàgail. Mura h-eil an t-sreang chars falamh (chars""), canaidh an gnìomh e fhèin. Cho luath 's a tha an caractar mu dheireadh air a ghiullachd, tillidh am foirmle sreang e mar a tha e an-dràsta agus falbhaidh i.

Airson briseadh sìos na foirmle mionaideach, faic an LAMBDA Recursive gus caractaran nach eileas ag iarraidh a thoirt air falbh.

Thoir air falbh caractaran sònraichte le VBA

Bidh na gnìomhan ag obair anns a h-uile tionndadh de Excel

Mura bheil an gnìomh LAMBDA ri fhaighinn san Excel agad, chan eil dad a’ cur bacadh ort bho bhith a’ cruthachadh gnìomh coltach ri VBA. Neach-cleachdaidh air a mhìneachadhfaodar gnìomh (UDF) a sgrìobhadh ann an dà dhòigh.

Gnìomh gnàthaichte gus caractaran sònraichte a sguabadh às ath-chuairteach :

Tha an còd seo ag atharrais air loidsig gnìomh LAMBDA air a bheilear a’ beachdachadh gu h-àrd.

Gnìomh RemoveUnwantedChars(str As String , chars As String ) Ma tha (""chars) An uairsin str = Cuir an àite(str, Clì(chars, 1)," "") chars = Deas (chars, Len(chars) - 1) Thoir air falbh Chars gun iarraidh = RemoveUnwantedChars(str, chars) Else RemoveUnwantedChars = str Crìoch Ma tha an gnìomh crìochnachaidh

Gnìomh gnàthaichte gus caractaran sònraichte a thoirt air falbh neo-ath-chuairteach :

An seo, bidh sinn a’ rothaireachd tro charactaran nach eileas ag iarraidh bho 1 gu Len (chars) agus cuir an àite an fheadhainn a chaidh a lorg anns an t-sreath thùsail gun dad. Bidh an gnìomh MID a’ tarraing charactaran nach eileas ag iarraidh aon ri aon agus gan toirt don ghnìomh Replace.

Gnìomh RemoveUnwantedChars(str As String , chars As String ) Airson clàr-amais = 1 Gu Len(chars) str = Cuir an àite(str, Meadhan(chars, clàr-amais, 1), "" ) An ath- RemoveUnwantedChars = str Gnìomh Deireannach

Cuir a-steach aon de na còdan gu h-àrd san leabhar-obrach agad mar a chaidh a mhìneachadh ann an Mar a chuireas tu còd VBA a-steach ann an Excel, agus tha an gnìomh gnàthaichte agad deiseil airson a chleachdadh.

Gun a bhith troimh-chèile leis a’ ghnìomh ùr againn a tha air a mhìneachadh leis a’ chleachdaiche leis an fhear a tha air a mhìneachadh le Lambda, tha sinn air ainmeachadh ann an dòigh eadar-dhealaichte:

RemoveUnwantedChars (sreang, chars)

A’ gabhail ris gu bheil an t-sreang thùsail ann an A2 agus caractaran air nach eil fàilte ann an D2, gheibh sinn cuidhteas iad leis an fhoirmle seo:

= RemoveUnwantedChars(A2, $D$2)

Custom function with hardcodedcaractaran

Mura h-eil thu airson dragh a chuir ort mu bhith a’ toirt seachad caractaran sònraichte airson gach foirmle, ’s urrainn dhut an sònrachadh gu dìreach sa chòd:

Function RemoveSpecialChars(str As String ) Mar String Dim chars As String Dim index As Long chars = "?¿!¡*%#$(){}[]^&/\~+-" Airson clàr-amais = 1 Gu Len(chars) str = Cuir an àite(str, Meadhan(chars, clàr-amais, 1) , "" ) An ath- RemoveSpecialChars = str Gnìomh Deireannach

Thoir an aire gu bheil an còd gu h-àrd airson adhbharan taisbeanaidh. Airson cleachdadh pragtaigeach, dèan cinnteach gun cuir thu a-steach a h-uile caractar a tha thu airson a sguabadh às san loidhne a leanas:

chars = "?¿!¡*%#$(){}[]^&/\~+-"

Tha an gnìomh gnàthaichte seo air ainmeachadh mar RemoveSpecialChars agus feumaidh e dìreach aon argamaid - an t-sreang thùsail:

RemoveSpecialChars(string)

Gus caractaran sònraichte a thoirt air falbh on t-seata dàta againn, 's e am foirmle:

=RemoveSpecialChars(A2)

Thoir air falbh caractaran nach gabh clò-bhualadh ann an Excel

Tha gnìomh sònraichte aig Microsoft Excel gus caractaran neo-chlò-bhualaidh a sguabadh às - an gnìomh CLEAN. Gu teicnigeach, bidh e a’ toirt air falbh a’ chiad 32 caractar anns an t-seata 7-bit ASCII (còdan 0 tro 31).

Mar eisimpleir, gus caractaran neo-chlò-bhuailte a sguabadh às A2, seo am foirmle a chleachdas tu. :

=CLEAN(A2)

Cuiridh seo às do charactaran gun chlò-bhualadh, ach fuirichidh beàrnan ro/às dèidh teacsa agus eadar faclan.

Gu faigh cuidhteas àiteachan a bharrachd , paisg am foirmle CLEAN anns a’ ghnìomh TRIM:

=TRIM(CLEAN(A2))

A-nis, tha a h-uile duine a’ stiùireadh agusthèid beàrnan air falbh a thoirt air falbh, fhad ‘s a tha beàrnan eadar-dhealaichte air an lughdachadh gu aon charactar fànais:

Ma tha thu airson cuir às dha a h-uile àite a-staigh sreang, agus an uairsin cuir sreang fhalamh an àite a’ charactar fànais (còd àireamh 32):

=TRIM(CLEAN((SUBSTITUTE(A2, CHAR(32), ""))))

Tha cuid de dh’àiteachan neo caractaran neo-fhaicsinneach eile ann fhathast an duilleag-obrach agad? Tha sin a' ciallachadh gu bheil luachan eadar-dhealaichte aig na caractaran sin san t-seata charactaran Unicode.

Mar eisimpleir, 's e 160 an còd caractair aig àite neo-bhriseadh ( ) agus 's urrainn dhut a ghlanadh leis an fhoirmle seo:

=SUBSTITUTE(A2, CHAR(160)," ")

Gus caractar sònraichte neo-chlò-bhualaidh a sguabadh às, feumaidh tu luach a chòd a lorg an toiseach. Tha an stiùireadh mionaideach agus eisimpleirean foirmle an seo: Mar a bheir thu air falbh caractar sònraichte neo-chlò-bhualaidh.

Sguab às caractaran sònraichte le Ultimate Suite

A’ toirt taic do Excel airson Microsoft 365, Excel 2019 - 2010

San eisimpleir mu dheireadh seo, leig dhomh sealltainn dhut an dòigh as fhasa air caractaran sònraichte a thoirt air falbh ann an Excel. Leis an Ultimate Suite air a chuir a-steach, seo na dh'fheumas tu a dhèanamh:

  1. Air an taba Ablebits Data , sa chuantal Text , cliog air Thoir air falbh > Thoir air falbh Caractaran .

  • Air pana an tuilleadain, tagh an raon tùsail, tagh Thoir air falbh seataichean charactaran agus tagh an roghainn a tha thu ag iarraidh bhon liosta a-nuas ( Symbols & comharran puingeachaidh ann an seoeisimpleir).
  • Buail am putan Thoir air falbh .
  • Ann am mionaid, gheibh thu toradh foirfe:

    Ma thèid rudeigin ceàrr, na gabh dragh - thèid lethbhreac-glèidhidh dhen duilleag-obrach agad a chruthachadh gu fèin-obrachail a chionn 's gu bheil am bogsa Cùl-taic na duilleige-obrach seo air a thaghadh gu bunaiteach.

    A bheil thu neònach an inneal Thoir air falbh againn fheuchainn? Tha ceangal chun dreach measaidh gu h-ìosal. Tha mi a' toirt taing dhut airson an leughadh agus an dòchas ur faicinn air a' bhlog againn an ath sheachdain!

    Luchdaich a-nuas ri fhaighinn

    Sguab às caractaran sònraichte - eisimpleirean (faidhle .xlsm)

    Suite Ultimate - deuchainn tionndadh (faidhle .exe)

    Tha Mìcheal Brown dèidheil air teicneòlas sònraichte le dìoghras airson pròiseasan iom-fhillte a dhèanamh nas sìmplidhe a’ cleachdadh innealan bathar-bog. Le còrr air deich bliadhna de eòlas anns a’ ghnìomhachas teignigeach, tha e air urram a thoirt dha na sgilean aige ann am Microsoft Excel agus Outlook, a bharrachd air Google Sheets agus Docs. Tha blog Mhìcheil gu sònraichte airson a chuid eòlais agus eòlais a cho-roinn le daoine eile, a’ toirt seachad molaidhean agus clasaichean-oideachaidh a tha furasta a leantainn airson cinneasachd agus èifeachdas a leasachadh. Ge bith co-dhiù a tha thu nad neach-proifeiseanta eòlach no nad neach-tòiseachaidh, tha blog Mhìcheal a 'tabhann lèirsinn luachmhor agus comhairle phractaigeach airson a bhith a' faighinn a 'chuid as fheàrr às na h-innealan bathar-bog riatanach sin.