مەزمۇن جەدۋىلى
بۇ دەرسلىك سىزگە يەرلىك فورمۇلا ۋە خاس ئىقتىدارلارنى ئىشلىتىپ Excel دىكى تېكىستلەردىن سانلارنى قانداق ئايرىشنى ئۆگىتىدۇ. سىز يەنە تېكىست ۋە ساننى قانداق قىلىپ ئايرىم ئىككى ئىستونغا بۆلۈشنى ئۆگىنىسىز. كۆپىنچە ئەھۋاللاردا ، ئۇلارنى ئايرىم ئىستونغا قويۇپ ، تېخىمۇ يېقىنراق تەكشۈرۈش تېخىمۇ قۇلايلىق بولىدۇ. ئوخشاش ئورۇندىكى ھەرپلەرنىڭ سانى. ئەمما بۇ تەجرىبىخانا سىنىقىدىكى كۆڭۈلدىكىدەك ئەھۋال. رېئال تۇرمۇشتا ، سانلار تېكىستتىن بۇرۇن ، تېكىستتىن كېيىن ياكى تېكىست ئوتتۇرىسىدا كەلگەن ئوخشىمىغان سانلىق مەلۇماتلارنى بىر تەرەپ قىلىشىڭىز مۇمكىن. تۆۋەندىكى مىساللار بۇ ئەھۋالنى ئېنىق ھەل قىلىش چارىسى بىلەن تەمىنلەيدۇ. ، ۋە Excel 2019
Microsoft Excel 2019 ئىلگىرىكى نەشرىدە ئىشلەتكىلى بولمايدىغان بىر قانچە يېڭى ئىقتىدارلارنى ئوتتۇرىغا قويدى ، بىز TEXTJOIN دىن ئىبارەت بۇ ئىقتىدارلارنىڭ بىرىنى ئىشلىتىپ ، تېكست ھەرپلىرىنى كاتەكچىدىن چىقىرىپ تاشلايمىز. سانلارنى ئۆز ئىچىگە ئالغان.
ئومۇمىي فورمۇلا:
تېكىست> كاتەكچە))) ، 1) * 1 ، ""))Excel 365 ۋە 2021 دە ، بۇمۇ ئىشلەيدۇ:
TEXTJOIN ("", TRUE,IFERROR (MID ( ھۈجەيرە، SEQUENCE (LEN ( ھۈجەيرە)) ، 1) * 1, "")) ئەمما ئۇلار ئىشلەيدۇ) Excel 365 - 2019: =TEXTJOIN("", TRUE, IFERROR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2))), 1) *1, ""))
Excel 2019 دا چوقۇم Ctrl + Shift + Enter بىلەن سانلار گۇرپىسى سۈپىتىدە كىرگۈزۈلۈشى كېرەك. ھەرىكەتچان سانلار گۇرپىسى Excel دا Enter كۇنۇپكىسى بىلەن تاماملانغان نورمال فورمۇلا سۈپىتىدە ئىشلەيدۇ.
Excel 365 ۋە 2021:
=TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, ""))
نەتىجىدە ، بارلىق تېكىست ھەرپلىرى كاتەكچىدىن چىقىرىۋېتىلدى ۋە سانلار ساقلىنىدۇ:
بۇ فورمۇلانىڭ قانداق ئىشلەيدىغانلىقى:
لوگىكىنى تېخىمۇ ياخشى چۈشىنىش ئۈچۈن ، تەكشۈرۈشنى باشلايلى ئىچىدىن فورمۇلا:
سىز ROW (INDIRECT ("1:" & amp; LEN (string))) ياكى SEQUENCE (LEN (string)) نى ئىشلىتىپ ، ئومۇمىي سانغا ماس كېلىدىغان تەرتىپلەرنى ھاسىل قىلىسىز. ئەسلى ھەرپ-بەلگىلەردىكى ھەرپ-بەلگىلەرنىڭ ، ئاندىن بۇ تەرتىپلىك سانلارنى MID فۇنكىسىيەسىگە باشلىنىش نومۇرى سۈپىتىدە بېقىڭ. B2 دە ، فورمۇلانىڭ بۇ قىسمى تۆۋەندىكىدەك كۆرۈنىدۇ:
MID(A2, {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15}, 1)
MID ئىقتىدارى ھەر بىر ھەرپنى A2 دىن باشلاپ بىرىنچى ھەرپتىن تارتىپ چىقىرىپ ، ئۇلارنى سانلار گۇرپىسى قىلىپ قايتۇرىدۇ:
{"2";"1";"0";" ";"S";"u";"n";"s";"e";"t";" ";"R";"o";"a";"d"}
بۇ سانلار گۇرپىسى 1 گە كۆپەيتىلىدۇ. خاتالىق:
{2;1;0;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
IFERROR ئىقتىدارى بىر تەرەپ قىلىدۇبۇ خاتالىقلار ۋە ئۇلارنى قۇرۇق قۇرلار بىلەن ئالماشتۇرىدۇ:
{2;1;0;"";"";"";"";"";"";"";"";"";"";"";""}
بۇ ئاخىرقى سانلار گۇرپىسى TEXTJOIN ئىقتىدارىغا يەتكۈزۈلىدۇ ، بۇ سانلار گۇرپىسىدىكى بوش بولمىغان قىممەتلەرنى بىرلەشتۈرىدۇ ( ignore_empty تالاش-تارتىش ئۈچۈن TRUE غا تەڭشەلگەن قۇرۇق بەلگە ("") ئارقىلىق:
TEXTJOIN("", TRUE, {2;1;0;"";"";"";"";"";"";"";"";"";"";"";""})
كۆرسەتمە. Excel 2016 - 2007 ئۈچۈن بىر ھەل قىلىش چارىسىمۇ بار ، ئەمما فورمۇلا تېخىمۇ مۇرەككەپ. ئۇنى بۇ دەرسلىكتىن تاپالايسىز: Excel دىكى سانلارنى قانداق چىقىرىش.
ئىختىيارى ئىقتىدار
بارلىق Excel نەشرىگە ماس كېلىدۇ
ئەگەر سىز Excel نىڭ كونا نەشرىنى ئىشلىتىۋاتقان بولسىڭىز ياكى يۇقىرىدىكى فورمۇلانى تاپسىڭىز ئەستە تۇتۇش تەس ، ھېچقانداق نەرسە تېخىمۇ ئاددىي گرامماتىكىلىق ۋە RemoveText غا ئوخشاش ئابونتلارغا قۇلايلىق ئىسىم بىلەن ئۆزىڭىزنىڭ ئىقتىدارىنى يارىتىشىڭىزغا توسالغۇ بولمايدۇ. ئىشلەتكۈچى بەلگىلىگەن ئىقتىدار (UDF) نى ئىككى خىل ئۇسۇلدا يېزىشقا بولىدۇ:
VBA كودى 1:
بۇ يەردە ، بىز ئەسلى ھەرپتىكى ھەر بىر ھەرپنى بىر-بىرلەپ كۆرىمىز. بىرى ۋە ئۇنىڭ سان ياكى ئەمەسلىكىنى تەكشۈرۈڭ. ئەگەر بىر سان بولسا ، بۇ ھەرپ-بەلگە تىزىلغان ھەرپ-بەلگىلەرگە قوشۇلىدۇ. , 1)) ئاندىن sRes = sRes & amp; Mid (str, i, 1) ئاخىرلاشسا كېيىنكى i RemoveText = sRes ئاخىرلىشىش ئىقتىدارى
VBA كودى 2:
كود دائىملىق ئىپادىلەشنى بىر تەرەپ قىلىدىغان ئوبيېكت ھاسىل قىلىدۇ. RegExp نى ئىشلىتىپ ، 0-9 رەقەمدىن باشقا بارلىق ھەرپلەرنى مەنبە تىزمىسىدىن چىقىرىۋېتىمىز.
فۇنكسىيە RemoveText (str As String) CreateObject ("VBScript.RegExp") بىلەن ئوخشاش .Global = True .Pattern = " كىچىك خىزمەت جەدۋىلىدە ، ھەر ئىككى كود ئوخشاشلا ياخشى ئىشلەيدۇ. بۇ ئىقتىدار نەچچە يۈز ياكى نەچچە مىڭ قېتىم دەپ ئاتىلىدىغان چوڭ خىزمەت جەدۋىلىدە ، VBScript.RegExp ئىشلىتىدىغان 2 كود تېخىمۇ تېز ئىشلەيدۇ.خىزمەت دەپتىرىڭىزگە كود قىستۇرۇشنىڭ تەپسىلىي قەدەم باسقۇچلىرىنى بۇ يەردىن تاپقىلى بولىدۇ: VBA نى قانداق قىستۇرۇش كېرەك Excel دىكى كود. A2 كاتەكچىدىكى سان بولمىغان ھەرپلەرنى ئۆچۈرۈڭ ، B2 دىكى فورمۇلا:
=RemoveText(A2)
ئۇنى ئىستونغا كۆچۈرۈپ قويسىڭىز ، بۇ نەتىجىگە ئېرىشىسىز:
ئەسكەرتىش. يەرلىك فورمۇلا ۋە خاس ئىقتىدار ھەر ئىككىسى رەقەملىك تىزما نى چىقىرىدۇ. ئۇنى سانغا ئايلاندۇرۇش ئۈچۈن ، نەتىجىنى 1 گە كۆپەيتىڭ ياكى نۆل قوشۇڭ ياكى فورمۇلانى VALUE ئىقتىدارىغا ئوراپ بېرىڭ. مەسىلەن:
=RemoveText(A2) + 0
=VALUE(RemoveText(A2))
Excel
دىكى تېكىست تىزمىسىدىكى سانلارنى قانداق چىقىرىۋېتىش چارىسى Excel 365 ، Excel 2021 ۋە Excel دا ئىشلەيدۇ. 2019
ھەرپ تىزمىسىدىكى سانلارنى چىقىرىۋېتىش فورمۇلالىرى ئالدىنقى مىسالدا سۆزلەنگەنگە ئاساسەن ئوخشايدۇ.
Excel 365 - 2019:
TEXTJOIN (" ", TRUE, IF (ISERR (MID ( كاتەكچە ) ، قۇر (INDIRECT ("1:" & amp; LEN ( ھۈجەيرە ))) ، 1) * 1) ، MID ( ھۈجەيرە ، ROW (INDIRECT ("1:" & amp; LEN ( ) كاتەكچە ))) ، 1) ، ""))Excel 2019 دە ، Ctrl + Shift + Enter كۇنۇپكىسىنى بىللە بېسىپ ئۇنى سانلار گۇرپىسى قىلىشنى ئۇنتۇپ قالماڭ.
Excel 365 ۋە 2021 ئۈچۈن:
TEXTJOIN ("", TRUE, IF (ISERROR (MID . 3> =TEXTJOIN("", TRUE, IF(ISERR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2) )), 1) *1), MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), ""))
ياكى
=TEXTJOIN("", TRUE, IF(ISERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1), MID(A2, SEQUENCE(LEN(A2)), 1), ""))
نەتىجىدە ، بارلىق سانلار كاتەكچىدىن چىقىرىۋېتىلدى ۋە تېكىست ھەرپلىرى ساقلىنىدۇ:
يۇقارقى رەسىمدە كۆرسىتىلگەندەك ، فورمۇلا رەقەملىك ھەرپلەرنى ھەرپ تىزمىسىدىكى ھەر قانداق ئورۇندىن چىقىرىپ تاشلايدۇ: باشتا ، ئاخىرىدا ۋە ئوتتۇرىدا. ئەمما ، بىر ئۆڭكۈر بار: ئەگەر بىر قۇر بولسا بوشلۇق دىن كېيىن سان بىلەن باشلىنىدۇ ، ئۇ بوشلۇق ساقلاپ قېلىنىدۇ ، بۇ بوشلۇق بوشلۇقىنى كەلتۈرۈپ چىقىرىدۇ (B2 دىكىگە ئوخشاش).
تېكىستتىن بۇرۇن ئارتۇق بوشلۇقتىن قۇتۇلۇش ، فورمۇلانى TRIM ئىقتىدارىغا ئوراپ قويۇڭ:
=TRIM(TEXTJOIN("", TRUE, IF(ISERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1), MID(A2, SEQUENCE(LEN(A2)), 1), "")))
ھازىر ، سىزنىڭ نەتىجىلىرىڭىز تامامەن مۇكەممەل!
بۇ فورمۇلا قانداق ئىشلەيدۇ:
ماھىيەتتە ، فورمۇلا ئالدىنقى مىسالدا چۈشەندۈرۈلگەندەك ئىشلەيدۇ. ئوخشىمايدىغان يېرى شۇكى ، ئەڭ ئاخىرقى سانلار گۇرپىسىدىن TEXTJOIN ئىقتىدارىغىچە ، سىز تېكىستنى ئەمەس ، بەلكى سانلارنى ئۆچۈرۈشىڭىز كېرەك. ئۇنى ئەمەلگە ئاشۇرۇش ئۈچۈن ، بىز IF ۋە ISERROR ئىقتىدارلىرىنىڭ بىرىكمىسىنى ئىشلىتىمىز.
ئېسىڭىزدە بار ،MID (…) +0 بىر تۈركۈم سانلارنى ھاسىل قىلىدۇ ۋە # قىممەت! ئوخشاش ئورۇندىكى تېكىست ھەرپ-بەلگىلەرنى ئىپادىلەيدىغان خاتالىق:
{2;1;0;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
ISERROR ئىقتىدارى خاتالىقلارنى تۇتىۋالىدۇ ھەمدە Boolean قىممىتىدىكى سانلار گۇرپىسىنى IF:
{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}
IF ئىقتىدارى TRUE (خاتالىق) نى كۆرگەندە ، باشقا MID ئىقتىدارىنىڭ ياردىمىدە ماس بولغان تېكىست ھەرپنى بىر تەرەپ قىلىنغان سانلار گۇرپىسىغا قىستايدۇ. IF فۇنكسىيەسى يالغان (سان) نى كۆرگەندە ، ئۇنىڭ ئورنىنى قۇرۇق تىزما بىلەن ئالماشتۇرىدۇ:
{"";"";"";" ";"S";"u";"n";"s";"e";"t";" ";"R";"o";"a";"d"}
بۇ ئاخىرقى سانلار گۇرپىسى TEXTJOIN غا ئۆتىدۇ ، شۇڭا ئۇ تېكىست ھەرپلىرىنى بىرلەشتۈرۈپ ، نەتىجىنى چىقىرىدۇ. نەتىجە.
ئىختىيارى ئىقتىدار تېكىستتىن سانلارنى ئۆچۈرۈڭ ئاددىي ، مەن ئىشلەتكۈچى بەلگىلىگەن ئىقتىدار (UDF) نىڭ كودىنى ھەمبەھىرلەپ ، ھەر قانداق رەقەملىك ھەرپنى ئۆچۈرۈۋېتىمەن.
VBA كودى 1: sRes String As sRes = "" i = 1 ئۈچۈن Len (str) ئەگەر False = IsNumeric (Mid (str, i, 1)) ئۇنداقتا sRes = sRes & amp; ئوتتۇرا (str, i, 1) ئاخىرلاشسا كېيىنكى i RemoveNumbers = sRes ئاخىرلىشىش ئىقتىدارى
VBA كودى 2: ) .Global = True .Pattern = " چوڭخىزمەت جەدۋىلىنى ئىقتىدارنى ئەلالاشتۇرۇش ئۈچۈن خىزمەت جەدۋىلى. B2 دىكى فورمۇلا تۆۋەندىكىچە:>
سان ۋە تېكىستنى ئايرىم ئىستونغا بۆلۈڭ ماقۇلمۇ؟ بۇنىڭ ئۈچۈن بىز پەقەت RemoveText ۋە RemoveNumbers فۇنكىسىيەسىنى بىر فۇنكىسىيەگە بىرلەشتۈرىمىز ، يەنى SplitTextNumbers ياكى ئاددىيلا Split ياكى ياقتۇرغانلىرىڭىز :)
VBA كودى 1: = "" For i = 1 Len (str) sCurChar = Mid (str, i, 1) ئەگەر True = IsNumeric (sCurChar) ئۇنداقتا sNum = sNum & amp; sCurChar Else sText = sText & amp; sCurChar ئاخىرلاشسا كېيىنكىسى i ئەگەر True = is_remove_text ئۇنداقتا SplitTextNumbers = sNum Else SplitTextNumbers = sText End ئەگەر ئاخىرلىشىش فۇنكسىيەسى
VBA كودى 2: CreateObject ("VBScript.RegExp") .Global = True If True = is_remove_text ئۇنداقتا .Pattern = "[^ 0-9]" Else.Pattern = " is_remove_text قايسى ھەرپلەرنىڭ تارتىلىدىغانلىقىنى كۆرسىتىپ بېرىدىغان Boolean قىممىتى:
- TRUE ياكى 1 - تېكىستنى ئۆچۈرۈۋېتىڭ ۋە سانلارنى ساقلاڭ
ئەۋرىشكە سانلىق مەلۇمات جەدۋىلىمىز ئۈچۈن فورمۇلا بۇ جەدۋەلنى قوللىنىدۇ:
سان بولمىغان ھەرپلەرنى ئۆچۈرۈش:
=SplitTextNumbers(A2, TRUE)
رەقەملىك ھەرپلەرنى ئۆچۈرۈش :
=SplitTextNumbers(A2, FALSE)
تەكلىپ. باشلامچى ئورۇنلارنىڭ يوشۇرۇن مەسىلىسىدىن ساقلىنىش ئۈچۈن ، TRIM ئىقتىدارىدىكى سانلارنى ئۆچۈرۈۋېتىدىغان فورمۇلانى ھەر ۋاقىت ئوراپ بېقىشنى تەۋسىيە قىلىمەن:
=TRIM(SplitTextNumbers(A2, FALSE))
سان ياكى تېكىستنى ئۆچۈرۈۋېتىدىغان ئالاھىدە قورال
قىلىدىغانلار ئۈچۈن زۆرۈر بولمىغان ئىشلارنى مۇرەككەپلەشتۈرۈشنى ياقتۇرمايمەن ، مەن Excel دىكى تېكىست ياكى سانلارنى ئۆچۈرۈۋېتىشنىڭ ئۇسۇلىنى كۆرسىتىپ ئۆتىمەن.
تەكلىپ. ئەگەر نەتىجىدە بىر قىسىم ئالدىنقى قاتاردىكى بوشلۇقلار بولسا ، بېزەك بوشلۇقىقورال ئۇلارنى قىسقا ۋاقىت ئىچىدە يوقىتىدۇ.
Excel دىكى بىر قۇردىن تېكىست ياكى رەقەملىك ھەرپلەرنى قانداق ئۆچۈرۈۋېتىمىز. ئوقۇغانلىقىڭىزغا رەھمەت ، كېلەر ھەپتە بىلوگىمىزدا كۆرۈشنى ئۈمىد قىلىمەن!
ئىشلەتكىلى بولىدىغان چۈشۈرۈش
Excel دىكى تېكىست ياكى سانلارنى ئۆچۈرۈڭ - مىساللار (.xlsm ھۆججىتى) Ultimate Suite - سىناق نۇسخىسى (.exe ھۆججىتى)