Shaxda tusmada
Tababarkaan wuxuu ku bari doonaa sida loo kala saaro qoraalka iyo nambarada ku jira Excel adiga oo isticmaalaya qaacidooyinka asalka ah iyo shaqooyinka gaarka ah. Waxa kale oo aad baran doontaa sida qoraalka iyo nambarada loo qaybiyo laba tiir oo kala duwan >
> Bal qiyaas tan: waxaad helaysaa xog cayriin ah oo lagu falanqaynayo oo ogow in tirooyinka ay ku qasban yihiin qoraalka hal tiir. Xaaladaha intooda badan, waxa hubaal ah inay aad ugu habboonaan doonto in lagu hayo tiirar kala duwan si loo baadho.Haddii ay dhacdo in aad ku shaqaynayso xog isku mid ah, waxa laga yaabaa inaad isticmaasho hawlaha BIDIX, MIDIG, iyo DHEXE si aad u soo saarto tiro isku mid ah oo ka mid ah jilayaasha isla booska. Laakiin taasi waa xaalad ku habboon baaritaannada shaybaarka. Nolosha dhabta ah, waxay u badan tahay inaad la macaamilto xogta aan isku midka ahayn ee tirooyinka ka hor qoraalka, ka dib qoraalka ama inta u dhaxaysa qoraalka. Tusaalooyinka hoose ayaa si sax ah u bixinaya xalalka kiiskan
- >
Xalku wuxuu ku shaqeeyaa Excel 365, Excel 2021 , iyo Excel 2019
Microsoft Excel 2019 waxay soo bandhigtay dhowr hawlood oo cusub oo aan laga heli karin noocyadii hore, waxaanan adeegsan doonnaa mid ka mid ah shaqooyinkaas oo ah TEXTJOIN, si aan xarfaha qoraalka unugga uga saarno. nambaro ka kooban.
Qaciidada guud waa:
TEXTJOIN("", TRUE, IFERROR(MID( cell), ROW("1:"&LEN(<1)> unug))), 1) *1, "")))Excel 365 iyo 2021, kani wuxuu kaloo shaqayn doonaa:
TEXTJOIN("", RUN,IFERROR (MID( unug,SQUENCE(LEN( unug))),1) *1, "")) laakiin way shaqeeyaan In Excel 365 - 2019: =TEXTJOIN("", TRUE, IFERROR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2))), 1) *1, ""))
Excel 2019, waa in loo geliyaa qaab qaabaysan oo leh Ctrl + Shift + Geli . In dynamic array Excel, waxa ay u shaqaysaa sidii qaacido caadi ah oo lagu dhamaystiray furaha Gelida.
In Excel 365 iyo 2021:
=TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, ""))
Natiijada, dhammaan xarfaha qoraalka waa laga saaray unug oo nambarada waa la hayaa:
Sidee qaacidadani u shaqeysaa qaacidada gudaha:
Waxaad isticmaashaa midkood ROW(INDIRECT("1:"&LEN(string))) ama SEQUENCE(LEN(string)) si aad u samayso tiro isku xigta oo u dhiganta tirada guud jilayaasha ku jira xadhkaha isha, ka dibna ku quudi tirooyinka isku xiga shaqada MID sida tirooyinka bilowga. B2, qaybtan qaacidadu waxay u eegtahay sidan soo socota:
MID(A2, {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15}, 1)
Shaqada MID waxay ka soo saartaa xaraf kasta A2 oo ka bilaabma ta ugu horraysa waxayna u soo celisaa qaab habaysan:
0> {"2";"1";"0";" ";"S";"u";"n";"s";"e";"t";" ";"R";"o";"a";"d"}
Arraykan waxa lagu dhuftaa 1. Qiimaha tirooyinka ayaa noolaada iyada oo aan wax isbeddel ah la helin, halka ku dhufashada xarfo aan tiro ahayn ay keenayso #Qiimaha! qalad:
> {2;1;0;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
Shaqada IFERROR ayaa gacanta ku haysaKhaladaadkan oo ku beddela xadhig madhan:
> {2;1;0;"";"";"";"";"";"";"";"";"";"";"";""}
dood loo dhigay RUN) iyada oo la isticmaalayo xadhig madhan ("") xadaynta: TEXTJOIN("", TRUE, {2;1;0;"";"";"";"";"";"";"";"";"";"";"";""})
Shaqadda gaarka ah si looga saaro qoraalka nambarada
>>Xalku wuxuu u shaqeeyaa dhammaan noocyada Excel
VBA code 1: > mid hubi in ay lambar tahay iyo in kale. Haddii nambar, jilaa lagu daro xarriiqda soo baxday.
Shaqada saar qoraalka , 1)) Kadib sRes = sRes & Mid(str, i, 1) Dhammaadka Haddi ku Xiga i RemoveText = sRes Dhamaystirka ShaqadaVBA code 2:
Koodhka waxa uu abuuraa shay si loo habeeyo tibaaxaha caadiga ah. Isticmaalka RegExp, waxaan ka saareynaa dhammaan xarfaha aan ahayn lambarrada 0-9 ee xargaha isha.
Shaqada RemoveText(str Sida Xariga) Sida Xadhkaha leh CreateObject ( "VBScript.RegExp" ) .Global = Run Waraaqaha shaqada ee yaryar, labada koodba si isku mid ah ayay u shaqayn doonaan. Waraaqaha shaqada ee waaweyn ee shaqada loogu yeero boqollaal ama kumanaan jeer, koodka 2 ee isticmaala VBScript.RegExp ayaa si dhakhso leh u shaqeyn doona.Tallaabooyinka faahfaahsan ee gelinta code ee buuggaaga shaqada waxaa laga heli karaa halkan: Sida loo geliyo VBA code in Excel.
Hab kasta oo aad doorato, marka laga eego dhinaca isticmaalaha ugu dambeeya, shaqada tirtiridda qoraalka iyo ka tegista nambarada waa mid fudud sida tan:
Ka saar qoraalka (xadhig)Tusaale ahaan, ka saar xarfo aan tiro lahayn unugga A2, qaacidada B2 waa:
=RemoveText(A2)
Kaliya ku koobbi hoos tiirka, waxaadna heli doontaa natiijadan:
>13>
Fiiro gaar ah. Labada hab ee asalka ah iyo shaqada caadiga ah waxay soo saaraan xadhka tirada . Si aad u noqoto tiro, ku dhufo natiijada 1, ama ku dar eber, ama ku duub qaacidada shaqada VALUE. Tusaale ahaan:
=RemoveText(A2) + 0
=VALUE(RemoveText(A2))
Sida nambarada looga saaro xargaha qoraalka ee Excel
Xalku wuxuu ku shaqeeyaa Excel 365, Excel 2021, iyo Excel 2019
Qaabka looga saaro tirooyinka xarafka alfanumeric-ka ayaa aad ugu eg kuwii looga hadlay tusaalihii hore ", RUN, HADDII (ISERR(MID( unug ), ROW"1:"&LEN( unug ))), 1) *1), MID( unug , ROW ("1:"&LEN( ) unugga ))), 1), ""))
Excel 2019, xasuuso inaad ka dhigto formula array adiga oo riixaya Ctrl + Shift + Geli furayaasha wadajira.
0> Excel 365 iyo 2021: TEXTJOIN("", RUN, HADDII (ISERROR(MID( unug ,) SEQUENCE(LEN( unug 1))*1),MID ( unug , SEQUENCE(LEN( unug ))),1), ""))Tusaale ahaan, in nambarada laga saaro xargaha A2, qaacidadu waa:
=TEXTJOIN("", TRUE, IF(ISERR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2) )), 1) *1), MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), ""))
Ama
0> =TEXTJOIN("", TRUE, IF(ISERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1), MID(A2, SEQUENCE(LEN(A2)), 1), ""))
Natiijadu waxay tahay, dhamaan tirooyinka waa laga saaray unugga waxaana lagu hayaa xarfaha qoraalka ah:
14>
Sida ka muuqata sawirka sare, qaacidadu waxay xarfaha nambarada ka soo saartaa meel kasta oo xadhig ah: bilawga, dhamaadka, iyo dhexdaba, si kastaba ha ahaatee, waxa jira digniin: haddii xadhig wuxuu ka bilaabmaa tiro ay ku xigto boos , booskaas waa la hayaa, kaas oo soo saara mushkilad hogaaminta boosaska (sida B2). , ku duub caanaha qaabka shaqada TRIM sida tan:
=TRIM(TEXTJOIN("", TRUE, IF(ISERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1), MID(A2, SEQUENCE(LEN(A2)), 1), "")))
Nuxur ahaan, qaacidadu waxay u shaqaysaa si la mid ah sidii lagu sharaxay tusaalihii hore. Farqiga u dhexeeya ayaa ah in, laga bilaabo soo diyaarintii ugu dambeysay ee loo adeego shaqada TEXTJOIN, waxaad u baahan tahay inaad tirtirto nambarada, ma aha qoraal. Si loo sameeyo, waxaanu isticmaalnaa isku-dhafka IF iyo ISERROR.
Sida aad xasuusato,MID(...)+0 waxay abuurtaa tirooyin kala duwan iyo #QIIMAHA! Khaladaadka matalaya jilayaasha qoraalka ee isla boosas:
> {2;1;0;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
>Shaqada ISERROR waxay qabataa khaladaadka oo waxay u gudbisaa natiijada ka soo baxda qiyamka Boolean haddii:> {FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
0>Marka shaqada IF ay aragto TRUE (khalad), waxay gelisaa xarfaha qoraalka u dhigma ee habraaca habaysan iyadoo la kaashanayo hawl kale oo MID ah. Marka shaqada IF ay aragto BEEN (lambar), waxay ku beddeshaa xadhig faaruq ah: {"";"";"";" ";"S";"u";"n";"s";"e";"t";" ";"R";"o";"a";"d"}
Shaqadda gaarka ah si looga saaro tirooyinka qoraalka
> Xalku wuxuu u shaqeeyaa dhammaan noocyada ExcelFudud, waxaan wadaagi doonaa koodka shaqada isticmaal-ku qeexan (UDF) si aan meesha uga saaro xaraf kasta oo nambaro ah sRes As String sRes = "" For i = 1 To Len (str) Haddii Been Abuur = Isnumer (Mid (str, i, 1)) Ka dibna sRes = sRes & dhexe ) .Global = Run weynwaraaqaha shaqada si kor loogu qaado waxqabadka.Marka koodka lagu daro buuggaaga shaqada, waxaad ka saari kartaa dhammaan xarfaha nambarada unugga adiga oo isticmaalaya shaqadan gaarka ah:
Remove Numbers(string)Xaalkeena, formula ku jira B2 waa:
> =RemoveNumbers(A2)
>Si loo gooyo meelaha hogaaminta haddi ay jiraan, buul ku dhex samee qaabka caadiga ah ee TRIM sida adiga oo ah qaacidada waddaniga ah:> =TRIM(RemoveNumbers(A2))
>>>U kala qaybi nambarada iyo qoraalka tiirar kala duwanMarkaad rabto inaad qoraalka iyo nambarada u kala saarto laba tiir, way fiicnaan lahayd in shaqada lagu qabto hal qaacido. , ku raacsan tahay? Taas awgeed, waxaan kaliya ku milmay koodka Ka saar Qoraalka iyo Ka saar nambarada hal shaqo, oo lagu magacaabo SplitTextNumbers , ama si fudud Kala saar , ama wax alla wixii aad jeceshahay = "" For i = 1 To Len (str) sCurChar = Mid (str, i, 1) Hadday Run tahay = Isnumeric(sCurChar) Kadib sNum = sNum & sCurChar Else sText = sText & sCurChar Dhamaadka Hadii Ku Xigato i Hadii Runta = is_remove_text Kadib SpliTextNumbers = sNum Else SplitTextNumbers = sText End If End Function
VBA code 2:
Function SplitTextNumbers Iyada oo leh CreateObject ( "VBScript.RegExp") .Global = Run haddii ay run tahay = waa_remove_text Markaa .Qaabka = "[^ 0-9]" Kale.Qaabka = "[0-9]" Dhammaadka haddii SplitTextNumbers = .Beddel(str, "" ) Ku dhammaato Dhamaadka ShaqadaShaqadeena cusub ee caadada waxay u baahan tahay laba doodood:
SpliTextNumbers (string, is_remove_text)Meesha is_remove_text waa qiime Boolean ah oo tilmaamaya xarfaha laga jarayo:
- >
- RUN ama 1 - ka saar qoraalka oo hay nambarada
- BEEN ama 0 - ka saar tirooyinka oo xafid qoraalka >
=SplitTextNumbers(A2, TRUE)
>Si loo tirtiro xarfaha tirada : =SplitTextNumbers(A2, FALSE)
> Talo. Si looga fogaado dhibaatada iman karta ee hogaanka boosaska, waxaan ku talinayaa had iyo jeer in la duubo qaacidada ka saaraysa tirooyinka shaqada TRIM:>
=TRIM(SplitTextNumbers(A2, FALSE))
Qalabka gaarka ah ee meesha looga saaro nambarada ama qoraalka
Kuwa sameeya Ma jecli inaan wax u adkeeyo si aan loo baahnayn, waxaan tusi doonaa habkayaga aan uga saarno qoraalka ama nambarada Excel.
Marka loo eego in Ultimate Suite lagu daro xargahaaga Excel, tani waa waxa aad sameyso:
> 20>
> Talo. Haddii natiijadu ka kooban tahay qaar ka mid ah boosas hogaamineed, Trim SpacesQalabku wuxuu baabi'in doonaa waqti yar.
Taasi waa sida qoraalka ama xarfaha nambarada looga saaro xargaha Excel. Waan kaaga mahadcelinayaa inaad akhriday waxaanan rajeynayaa inaan kugu arko blog-keena toddobaadka soo socda!
la soo dajin karo
Ka saar qoraalka ama nambarada ku jira Excel - tusaaleyaal (.xlsm file)
Ultimate Suite - nooca tijaabada ah (.exe faylka)
>>