Mar a bheir thu air falbh teacsa no àireamhan bho chealla Excel

  • Roinn Seo
Michael Brown

Innsidh an oideachadh seo dhut mar a sgaras tu teacsa bho àireamhan ann an Excel le bhith a’ cleachdadh foirmlean dùthchasach agus gnìomhan gnàthaichte. Ionnsaichidh tu cuideachd mar a roinneas tu teacsa agus àireamhan gu dà cholbh air leth.

Smaoinich air seo: gheibh thu dàta amh airson mion-sgrùdadh agus gheibh thu a-mach gu bheil àireamhan measgaichte le teacsa ann an aon cholbh. Anns a’ mhòr-chuid de shuidheachaidhean, gu cinnteach bidh e nas fhasa iad a bhith ann an colbhan fa-leth airson sgrùdadh nas mionaidiche.

Air eagal gu bheil thu ag obair le dàta aon-ghnèitheach, dh’ fhaodadh tu na gnìomhan LEFT, RIGHT, agus MID a chleachdadh gus na an aon àireamh de charactaran bhon aon suidheachadh. Ach tha sin na dheagh shuidheachadh airson deuchainnean obair-lann. Ann am fìor bheatha, tha thu nas dualtaiche dèiligeadh ri dàta eu-coltach far a bheil àireamhan a’ tighinn ro theacsa, às deidh teacsa no eadar teacsa. Tha na h-eisimpleirean gu h-ìosal a’ toirt seachad fuasglaidhean dìreach airson a’ chùis seo.

    Mar a bheir thu air falbh teacsa agus cùm àireamhan ann an ceallan Excel

    Tha am fuasgladh ag obair ann an Excel 365, Excel 2021 , agus Excel 2019

    Thug Microsoft Excel 2019 a-steach beagan ghnìomhan ùra nach eil rim faighinn ann an dreachan nas tràithe, agus tha sinn gu bhith a’ cleachdadh aon de na gnìomhan sin, is e sin TEXTJOIN, gus caractaran teacsa a thoirt a-mach à cealla anns a bheil àireamhan.

    'S e am foirmle coitcheann:

    TEXTJOIN("", TRUE, IFERROR(MID( cell, ROW(INDIRECT( "1):"&LEN(<1)> cealla))), 1) * 1, ""))

    Ann an Excel 365 agus 2021, obraichidh am fear seo cuideachd:

    TEXTJOIN ("", TRUE,IFERROR(MID( ceal, SEQUENCE(LEN( cell)), 1) *1, ""))

    Aig a' chiad sealladh, dh'fhaoidte gum bi na foirmlean a' coimhead car eagallach, ach bidh iad ag obair :)

    Mar eisimpleir, gus teacsa a thoirt às na h-àireamhan ann an A2, cuir a-steach aon de na foirmlean gu h-ìosal ann am B2, agus an uairsin dèan lethbhreac dheth gu na h-uimhir de cheallan a tha a dhìth.

    Ann an Excel 365 - 2019:

    =TEXTJOIN("", TRUE, IFERROR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2))), 1) *1, ""))

    Ann an Excel 2019, feumar a chuir a-steach mar fhoirmle rèite le Ctrl + Shift + Enter . Ann an raon fiùghantach Excel, bidh e ag obair mar fhoirmle àbhaisteach crìochnaichte leis an iuchair Enter.

    Ann an Excel 365 agus 2021:

    =TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, ""))

    Mar thoradh air an sin, tha na caractaran teacsa uile a thoirt air falbh à cealla agus tha àireamhan gan cumail:

    Mar a tha am foirmle seo ag obair:

    Gus an loidsig a thuigsinn nas fheàrr, tòisichidh sinn a’ rannsachadh am foirmle on bhroinn:

    Cleachdaidh tu an dàrna cuid ROW(INDIRECT("1:"&LEN(string)) no SEQUENCE(LEN(string)) gus sreath àireamhan a chruthachadh a fhreagras ris an àireamh iomlan de charactaran anns an t-sreang stòr, agus an uairsin thoir na h-àireamhan sreath sin don ghnìomh MID mar na h-àireamhan tòiseachaidh. Ann am B2, tha am pàirt seo den fhoirmle a’ coimhead mar a leanas:

    MID(A2, {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15}, 1)

    Tha an gnìomh MID a’ toirt a-mach gach caractar à A2 a’ tòiseachadh leis a’ chiad fhear agus gan tilleadh mar raon:

    {"2";"1";"0";" ";"S";"u";"n";"s";"e";"t";" ";"R";"o";"a";"d"}

    Tha an t-sreath seo air iomadachadh le 1. Tha luachan àireamhach beò gun atharrachadh, fhad 's a dh'iomadaicheas caractar neo-àireamhach thig #VALUE! mearachd:

    {2;1;0;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

    Tha an gnìomh IFERROR a' làimhseachadhna mearachdan seo agus sreangan falamh nan àite:

    {2;1;0;"";"";"";"";"";"";"";"";"";"";"";""}

    Tha an t-sreath mu dheireadh seo air a fhrithealadh don ghnìomh TEXTJOIN, a tha a’ co-cheangail nan luachan neo-fholamh san raon ( ignore_empty argamaid air a shuidheachadh gu TRUE) a' cleachdadh sreang fhalamh ("") airson a' chrìoch:

    TEXTJOIN("", TRUE, {2;1;0;"";"";"";"";"";"";"";"";"";"";"";""})

    Tip. Airson Excel 2016 - 2007, tha fuasgladh ann cuideachd, ach tha am foirmle fada nas iom-fhillte. Gheibh thu e san oideachadh seo: Mar a tharraing thu àireamhan ann an Excel.

    Gnìomh gnàthaichte gus teacsa a thoirt air falbh bho àireamhan

    Tha am fuasgladh ag obair airson a h-uile tionndadh Excel

    Ma tha thu a’ cleachdadh tionndadh nas sine de Excel no ma lorg thu na foirmlean gu h-àrd cuideachd duilich a chuimhneachadh, chan eil dad a’ cur bacadh ort bho bhith a’ cruthachadh do ghnìomh fhèin le co-chòrdadh nas sìmplidhe agus ainm a tha furasta a chleachdadh mar RemoveText . Faodar an gnìomh a tha air a mhìneachadh leis a’ chleachdaiche (UDF) a sgrìobhadh ann an dà dhòigh:

    Còd VBA 1:

    An seo, bidh sinn a’ coimhead air gach caractar anns an t-sreang stòr aon le aon agus dèan cinnteach a bheil e àireamhach no nach eil. Ma tha àireamh ann, thèid an caractar a chur ris an t-sreang a thig às.

    Gnìomh RemoveText(str As String ) Dim sRes As String sRes = " "Airson i = 1 Gu Len(str) Mas Fìor = IsNumeric(Mid(str, i , 1)) An uairsin sRes = sRes & Mid(str, i, 1) Crìoch Ma tha Air adhart i RemoveText = sRes End Function

    Còd VBA 2:

    Tha an còd a’ cruthachadh nì gus abairt àbhaisteach a phròiseasadh. Le bhith a' cleachdadh RegExp, bheir sinn air falbh a h-uile caractar a bharrachd air àireamhan 0-9 bhon t-sreath thùsail.

    Gnìomh RemoveText(str As String ) As String With CreateObject ( "VBScript.RegExp") .Global = True .Pattern = "[^0-9]" RemoveText = .Replace(str, "" ) Crìochnaich le gnìomh crìochnachaidh

    Air duilleagan-obrach beaga, obraichidh an dà chòd a cheart cho math. Air duilleagan-obrach mòra far an canar ceudan no mìltean de thursan ris a’ ghnìomh, obraichidh còd 2 a chleachdas VBScript.RegExp nas luaithe.

    Gheibhear na ceumannan mionaideach gus an còd a chuir a-steach san leabhar-obrach agad an seo: Mar a chuireas tu VBA a-steach còd ann an Excel.

    Ge bith dè an dòigh-obrach a thaghas tu, bho shealladh an neach-cleachdaidh deireannach, tha an gnìomh airson teacsa a sguabadh às agus àireamhan fhàgail cho sìmplidh ri seo:

    RemoveText(string)

    Mar eisimpleir, gu thoir air falbh caractaran neo-àireamhach à ceal A2, is e am foirmle ann am B2:

    =RemoveText(A2)

    Dìreach dèan lethbhreac dheth sìos a’ cholbh, agus gheibh thu an toradh seo:

    Nòta. Bidh an dà chuid na foirmlean dùthchasach agus an gnìomh gnàthaichte a’ toirt a-mach sreang àireamhach . Gus àireamh a thionndadh, iomadaich an toradh le 1, no cuir neoni ris, no paisg am foirmle anns a’ ghnìomh VALUE. Mar eisimpleir:

    =RemoveText(A2) + 0

    =VALUE(RemoveText(A2))

    Mar a bheir thu air falbh àireamhan bho sreang teacsa ann an Excel

    Tha am fuasgladh ag obair ann an Excel 365, Excel 2021, agus Excel 2019

    Tha na foirmlean airson àireamhan a thoirt air falbh bho shreang alfaimigeach gu math coltach ris an fheadhainn air an deach beachdachadh san eisimpleir roimhe seo.

    Airson Excel 365 - 2019:

    TEXTJOIN(" ", TRUE, IF(ISERR(MID( ceal , ROW(INDIRECT("1:" cealla ))), 1), ""))

    Ann an Excel 2019, cuimhnich gun dèan thu foirmle rèite dheth le putadh air na h-iuchraichean Ctrl + Shift + Enter còmhla.

    Airson Excel 365 agus 2021:

    TEXTJOIN ("", TRUE, IF(ISERROR(MID( cell , SEQUENCE(LEN( cell 1) *1), MID) ( ceal , SEQUENCE(LEN( cealla )), 1), ""))

    Mar eisimpleir, gus àireamhan a tharraing à sreang ann an A2, 's e am foirmle:

    =TEXTJOIN("", TRUE, IF(ISERR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2) )), 1) *1), MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), ""))

    No

    =TEXTJOIN("", TRUE, IF(ISERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1), MID(A2, SEQUENCE(LEN(A2)), 1), ""))

    Mar thoradh air an sin, thèid a h-uile àireamh a thoirt air falbh à cealla agus tha caractaran teacsa air an cumail:

    Mar a chithear san dealbh-sgrìn gu h-àrd, tha an fhoirmle a’ stialladh charactaran àireamhach bho shuidheachadh sam bith ann an sreang: aig an toiseach, aig an deireadh, agus sa mheadhan. Bidh a’ tòiseachadh le àireamh agus àite ’na dhèidh, tha an t-àite sin air a ghleidheadh, a dh’ adhbhraicheas duilgheadas le bhith a’ stiùireadh beàrnan (mar ann am B2).

    Gus faighinn cuidhteas beàrnan a bharrachd ron teacsa , paisg am foirmle anns a’ ghnìomh TRIM mar seo:

    =TRIM(TEXTJOIN("", TRUE, IF(ISERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1), MID(A2, SEQUENCE(LEN(A2)), 1), "")))

    A-nis, tha na toraidhean agad gu tur foirfe!

    Mar a tha am foirmle seo ag obair:

    Gu dearbh, tha am foirmle ag obair mar a chaidh a mhìneachadh san eisimpleir roimhe. Is e an t-eadar-dhealachadh, bhon raon mu dheireadh a chaidh a fhrithealadh gu gnìomh TEXTJOIN, gum feum thu àireamhan a thoirt air falbh, chan e teacsa. Gus a dhèanamh, cleachdaidh sinn am measgachadh de ghnìomhan IF agus ISERROR.

    Mar a chuimhnicheas tu,Bidh MID(…)+0 a’ gineadh sreath de dh’ àireamhan agus #VALUE! mearachdan a' riochdachadh charactaran teacsa anns na h-aon shuidheachaidhean:

    {2;1;0;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

    Tha an gnìomh ISERROR a' glacadh nam mearachdan agus a' dol seachad air an raon de luachan Boolean a thig às gu IF:

    {FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}

    Nuair a chì an gnìomh IF TRUE (mearachd), cuiridh e an caractar teacsa co-fhreagarrach a-steach don raon giullachd le cuideachadh bho ghnìomh MID eile. Nuair a chì an gnìomh IF FALSE (àireamh), cuiridh e sreang fhalamh na àite:

    {"";"";"";" ";"S";"u";"n";"s";"e";"t";" ";"R";"o";"a";"d"}

    Thèid an t-sreath mu dheireadh seo a chuir a-null gu TEXTJOIN, agus mar sin bidh e a’ co-cheangail nan caractaran teacsa agus a’ toirt a-mach na thoradh.

    Gnìomh gnàthaichte gus àireamhan a thoirt às an teacsa

    Tha am fuasgladh ag obair airson a h-uile tionndadh Excel

    A’ cumail an aire gum bu chòir foirmle làidir a chumail sìmplidh, roinnidh mi còd a’ ghnìomh a tha air a mhìneachadh leis a’ chleachdaiche (UDF) gus caractar àireamhach sam bith a thoirt air falbh.

    Còd VBA 1:

    Gnìomh RemoveNumbers(str As String ) Dim sRes As String sRes = "" Airson i = 1 Gu Len(str) Ma tha Meallta = IsNumeric(Mid(str, i, 1)) An uairsin sRes = sRes & Meadhan(str, i, 1) Crìoch ma tha Air adhart i RemoveNumbers = sRes Gnìomh Deireannach

    Còd VBA 2:

    Gnìomh RemoveNumbers(str Mar String ) Mar sreang le CreateObject ("VBScript.RegExp" ). mòrduilleagan-obrach gus an dèanadas a bharrachadh.

    Aon uair 's gu bheil an còd air a chur ris an leabhar-obrach agad, 's urrainn dhut a h-uile caractar àireamhach a thoirt a-mach à cealla leis a' ghnìomh àbhaisteach seo:

    RemoveNumbers(string)

    Anns a' chùis againn, bidh an is e am foirmle ann am B2:

    =RemoveNumbers(A2)

    Gus prìomh àiteachan a ghearradh ma tha gin ann, neadaich an gnìomh àbhaisteach am broinn TRIM mar a dhèanadh tu le foirmle dùthchasach:

    =TRIM(RemoveNumbers(A2))

    <0

    Sgar àireamhan agus teacsa gu colbhan fa leth

    San suidheachadh far a bheil thu airson teacsa agus àireamhan a sgaradh ann an dà cholbh, bhiodh e math an obair a dhèanamh le aon fhoirmle , aontaich? Airson seo, bidh sinn dìreach a’ ceangal còd nan gnìomhan RemoveText agus RemoveNumbers ann an aon ghnìomh, air a bheil SplitTextNumbers , no dìreach Split , no ge bith dè as toil leat :)

    Còd VBA 1:

    Gnìomh SplitTextNumbers(str As String , is_remove_text As Boolean ) Mar String Dim sNum, sText, sChar As String sCurChar = sNum = sText = "" Airson i = 1 Gu Len(str) sCurChar = Meadhan(str, i, 1) Ma tha fìor = Isàireamhach(sCurChar) An uairsin sNum = sNum & sCurChar Eile sText = sText & sCurChar Crìoch ma tha an ath cheum i Ma tha e fìor = is_remove_text An uairsin SplitTextNumbers = sNum Eile SplitTextNumbers = sText Deireadh Ma tha gnìomh crìochnachaidh

    Còd VBA 2:

    Function SplitTextNumbers(str Mar sreang, is_remove_text As Boolean ) Mar String Le CreateObject ( "VBScript.RegExp") .Global = Fìor Ma tha Fìor = is_remove_text An uairsin .Pattern = "[^0-9]" Eile.Pattern = "[0-9]" Crìoch ma tha SplitTextNumbers = .Replace(str, "" ) Crìochnaich le gnìomh crìochnachaidh

    Feumaidh an gnìomh gnàthaichte ùr againn dà argamaid:

    SplitTextNumbers(sreang, is_remove_text)

    Càite 'S e luach Boole a th' ann an is_remove_text a' sealltainn dè na caractaran a bu chòir a sguabadh às:

    • TRUE no 1 - thoir air falbh teacsa agus cùm àireamhan
    • FALSE no 0 - thoir air falbh àireamhan agus cùm teacsa

    Airson an t-seata-dàta sampall againn, gabhaidh na foirmlean am foirm seo:

    Gus caractaran neo-àireamhach a thoirt air falbh:

    =SplitTextNumbers(A2, TRUE)

    Gus caractaran àireamhach a sguabadh às :

    =SplitTextNumbers(A2, FALSE)

    Tip. Gus duilgheadas a dh’ fhaodadh a bhith ann le bhith a’ stiùireadh àiteachan a sheachnadh, tha mi a’ moladh an-còmhnaidh a bhith a’ pasgadh na foirmle a bheir air falbh àireamhan anns a’ ghnìomh TRIM:

    =TRIM(SplitTextNumbers(A2, FALSE))

    Inneal sònraichte airson àireamhan no teacsa a thoirt air falbh

    Dhaibhsan a nì sin chan eil e coltach ri bhith a’ dèanamh rudan toinnte gun fheum, seallaidh mi ar dòigh fhìn air teacsa no àireamhan a thoirt air falbh ann an Excel.

    A’ gabhail ris gu bheil an Ultimate Suite againn air a chur ris an rioban Excel agad, seo na nì thu:

    1. Air an taba Ablebits Data , sa bhuidheann Text , briog air Thoir air falbh > Thoir air falbh Caractaran .
    2. <21

  • Air pana an tuilleadain, tagh an raon tùsail, tagh an roghainn Thoir air falbh seataichean charactaran , agus tagh an dàrna cuid Teacs caractaran neo àireamhach caractaran air an liosta tuiteam-sìos.
  • Buail Thoir air falbh agus faigh tlachd às an toradh :)
  • Gliocas. Ma tha cuid de phrìomh àiteachan anns na toraidhean, na Trim Spacescuiridh inneal às dhaibh ann an ùine sam bith.

    Sin mar a bheir thu air falbh teacsa no caractaran àireamhach à sreang ann an Excel. Tha mi a' toirt taing dhut airson an leughadh agus tha mi a' coimhead air adhart ri ur faicinn air ar blog an ath sheachdain!

    Luchdaich a-nuas ri fhaighinn

    Thoir air falbh teacsa no àireamhan ann an Excel - eisimpleirean (faidhle .xlsm)

    Ultimate Suite - tionndadh deuchainn (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.