ايڪسل سيل مان ٽيڪسٽ يا نمبر ڪيئن ختم ڪجي

  • هن کي شيئر ڪريو
Michael Brown

هي ٽيوٽوريل توهان کي سيکاريندو ته ايڪسل ۾ ٽيڪسٽ کي انگن کان ڪيئن الڳ ڪجي ڏيتي ليتي فارمولين ۽ ڪسٽم فنڪشنز استعمال ڪندي. توهان اهو به سکندا ته ٽيڪسٽ ۽ انگن کي ٻن الڳ ڪالمن ۾ ڪيئن ورهايو وڃي.

هن جو تصور ڪريو: توهان تجزيو لاءِ خام ڊيٽا حاصل ڪيو ۽ معلوم ڪريو ته انگن کي هڪ ڪالمن ۾ متن سان ملايو ويو آهي. اڪثر حالتن ۾، اهو يقيني طور تي وڌيڪ آسان هوندو ته انهن کي ويجهي امتحان لاءِ الڳ ڪالمن ۾.

جيڪڏهن توهان هڪجهڙائي واري ڊيٽا سان ڪم ڪري رهيا آهيو، ته توهان شايد کاٻي، ساڄي ۽ وچ واري ڪم کي استعمال ڪري سگهو ٿا. ساڳئي پوزيشن کان اکرن جو ساڳيو تعداد. پر اهو ليبارٽري ٽيسٽ لاءِ هڪ مثالي منظر آهي. حقيقي زندگي ۾، توهان گهڻو ڪري مختلف ڊيٽا سان معاملو ڪرڻ جو امڪان آهي جتي انگن اکرن کان اڳ، متن کان پوء يا متن جي وچ ۾. هيٺ ڏنل مثال هن ڪيس لاءِ بلڪل حل فراهم ڪن ٿا.

    ٽيڪسٽ کي ڪيئن هٽايو وڃي ۽ ايڪسل سيلز ۾ نمبر ڪيئن رکو

    حل ڪم ڪري ٿو Excel 365، Excel 2021 ۾ , and Excel 2019

    Microsoft Excel 2019 ڪجھ نوان فنڪشن متعارف ڪرايا جيڪي اڳئين ورزن ۾ موجود نه آھن، ۽ اسين استعمال ڪرڻ وارا آھيون ھڪڙو انھن فنڪشنن مان، يعني TEXTJOIN، ھڪڙي سيل مان ٽيڪسٽ اکر ڪڍڻ لاءِ. انگن تي مشتمل.

    عام فارمولا آهي:

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

    Excel 365 ۽ 2021 ۾، هي هڪ به ڪم ڪندو:

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

    پهرين نظر ۾، فارمولا ٿورڙو خوفناڪ نظر اچن ٿا، پر اهي ڪم ڪن ٿا :)

    مثال طور، A2 ۾ نمبرن مان ٽيڪسٽ هٽائڻ لاءِ، B2 ۾ هيٺ ڏنل فارمولين مان هڪ داخل ڪريو، ۽ پوءِ ان کي نقل ڪريو جيئن ضرورت هجي جيترا سيلز تائين.

    Excel 365 - 2019 ۾:

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

    Excel 2019 ۾، ان کي Ctrl + Shift + Enter سان گڏ هڪ صف فارمولا طور داخل ڪيو وڃي. متحرڪ صف ۾ Excel، اهو ڪم ڪري ٿو هڪ عام فارمولا جي طور تي مڪمل ڪيو Enter Key سان.

    Excel 365 ۽ 2021 ۾:

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

    نتيجي طور، سڀئي متن جا اکر آهن. سيل مان هٽايو ويو آهي ۽ انگ رکيا ويندا آهن:

    هي فارمولا ڪيئن ڪم ڪندو آهي:

    > منطق کي بهتر سمجهڻ لاءِ، اچو ته تحقيق شروع ڪريون فارمولا اندر کان:

    توهان استعمال ڪريو يا ته ROW(INDIRECT("1:"&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 سان ضرب ڪيو ويو آهي. عددي قدر بغير ڪنهن تبديليءَ جي زندهه رهن ٿا، جڏهن ته غير عددي اکر کي ضرب ڪرڻ سان #VALUE! غلطي:

    {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;"";"";"";"";"";"";"";"";"";"";"";""})

    ٽپ. ايڪسل 2016 - 2007 لاء، هڪ حل پڻ موجود آهي، پر فارمولا تمام گهڻو پيچيده آهي. توھان ان کي ڳولي سگھوٿا ھن سبق ۾: ايڪسل ۾ نمبر ڪيئن ڪڍجن. 11 ياد رکڻ ڏکيو، ڪجھ به توهان کي آسان نحو ۽ استعمال ڪندڙ-دوست نالو سان پنهنجو فنڪشن ٺاهڻ کان روڪي نٿو سگهي جهڙوڪ RemoveText . استعمال ڪندڙ جي مقرر ڪيل فنڪشن (UDF) کي ٻن طريقن سان لکي سگھجي ٿو:

    VBA ڪوڊ 1:

    هتي، اسان سرچ اسٽرنگ ۾ هر هڪ ڪردار کي ڏسون ٿا. هڪ ۽ چيڪ ڪريو ته اهو عددي آهي يا نه. جيڪڏهن هڪ انگ، اکر کي نتيجو واري اسٽرنگ ۾ شامل ڪيو ويندو.

    فنڪشن RemoveText(str As String ) Dim sRes As String sRes = "" For i = 1 To Len(str) If True = IsNumeric(Mid(str, i) , 1)) پوءِ sRes = sRes & Mid(str, i, 1) End If Next i RemoveText = sRes End Function

    VBA ڪوڊ 2:

    ڪوڊ هڪ اعتراض ٺاهي ٿو هڪ باقاعده اظهار کي پروسيس ڪرڻ لاءِ. RegExp استعمال ڪندي، اسان سڀني اکرن کي هٽائي ڇڏيون ٿا انگن 0-9 کان سواءِ ماخذ اسٽرنگ مان.

    CreateObject ("VBScript.RegExp") سان اسٽرنگ جي طور تي فنڪشن RemoveText(str as String) .Global = True .Pattern = "[^0-9]" RemoveText = .Replace(str, "") آخر فنڪشن سان ختم ڪريو

    ننڍي ورڪ شيٽ تي، ٻئي ڪوڊ هڪجهڙائي سان ڪم ڪندا. وڏن ورڪ شيٽس تي جتي فنڪشن کي سوين يا هزارين ڀيرا سڏيو ويندو آهي، ڪوڊ 2 جيڪو VBScript.RegExp استعمال ڪندو آهي تيز ڪم ڪندو.

    توهان جي ورڪ بڪ ۾ ڪوڊ داخل ڪرڻ جا تفصيلي مرحلا هتي ملي سگهن ٿا: VBA ڪيئن داخل ڪجي ايڪسل ۾ ڪوڊ.

    توهان جيڪو به طريقو چونڊيو، آخري استعمال ڪندڙ جي نقطه نظر کان، متن کي حذف ڪرڻ ۽ انگن کي ڇڏڻ جو ڪم هن طرح آسان آهي:

    RemoveText(string)

    مثال طور، ڏانهن سيل A2 مان غير عددي اکرن کي هٽايو، B2 ۾ فارمولا هي آهي:

    =RemoveText(A2)

    بس ان کي ڪالم ۾ نقل ڪريو، ۽ توھان ھي نتيجو حاصل ڪندا:

    نوٽ. ٻئي ڏيتي ليتي فارمولا ۽ ڪسٽم فنڪشن آئوٽ هڪ عددي اسٽرنگ . ان کي عدد ۾ تبديل ڪرڻ لاءِ، نتيجو کي 1 سان ضرب ڪريو، يا صفر شامل ڪريو، يا فارمولا کي VALUE فنڪشن ۾ لپايو. مثال طور:

    =RemoveText(A2) + 0

    =VALUE(RemoveText(A2))

    ايڪسل ۾ ٽيڪسٽ اسٽرنگ مان نمبر ڪيئن ختم ڪجي

    1>حل ڪم ڪري ٿو Excel 365، Excel 2021، ۽ Excel ۾ 2019

    حرف انگن اکرن مان انگن کي هٽائڻ لاءِ فارمولي تمام گهڻو ساڳيا آهن جيڪي اڳئين مثال ۾ بحث ٿيل آهن.

    Excel 365 - 2019 لاءِ:

    TEXTJOIN(" "، TRUE، IF(ISERR(MID( cell ، ROW(Indirect)"1:"&LEN( cell )))، 1) *1)، MID( cell ، ROW(Indirect("1:"&LEN( سيل ))))، 1)، ""))

    Excel 2019 ۾، Ctrl + Shift + Enter ڪيئي گڏ ڪري دٻائي ان کي array فارمولا ٺاهڻ ياد رکو.

    Excel 365 ۽ 2021 لاءِ:

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

    مثال طور، A2 ۾ اسٽرنگ مان انگ اکر ڪڍڻ لاءِ، فارمولا ھي آھي:

    =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), ""))

    نتيجي طور، سڀئي نمبر سيل مان هٽايا ويندا آهن ۽ ٽيڪسٽ اکر رکيا ويندا آهن:

    14>

    جيئن مٿي ڏنل اسڪرين شاٽ ۾ ڏيکاريو ويو آهي، فارمولا انگن اکرن کي سٽ ڪري ٿو انگن اکرن کي سٽرنگ ۾ ڪنهن به پوزيشن کان: شروعات ۾، آخر ۾ ۽ وچ ۾. جڏهن ته، اتي هڪ احتياط آهي: جيڪڏهن هڪ اسٽرنگ هڪ نمبر سان شروع ٿئي ٿو جنهن جي پٺيان هڪ اسپيس ، اها جاءِ برقرار رهي ٿي، جيڪا اڳواٽ اسپيس جو مسئلو پيدا ڪري ٿي (جهڙوڪ B2 ۾).

    ٽيڪسٽ کان اڳ اضافي خالي هنڌن کان نجات حاصل ڪرڻ لاءِ. ، فارمولا کي TRIM فنڪشن ۾ هن طرح لپايو:

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

    هاڻي، توهان جا نتيجا بلڪل ڀرپور آهن!

    15>

    هي فارمولا ڪيئن ڪم ڪندو آهي:

    اصل ۾، فارمولا ساڳيو ڪم ڪري ٿو جيئن اڳئين مثال ۾ بيان ڪيو ويو آهي. فرق اهو آهي ته، TEXTJOIN فنڪشن تائين پيش ڪيل فائنل صف کان، توهان کي نمبر هٽائڻ جي ضرورت آهي، متن نه. ان کي مڪمل ڪرڻ لاءِ، اسان استعمال ڪريون ٿا IF ۽ ISERROR افعال جو ميلاپ.

    جيئن توهان کي ياد آهي،MID(…)+0 انگن جو هڪ صف ٺاهي ٿو ۽ #VALUE! غلطيون متن جي اکرن جي نمائندگي ڪن ٿيون ساڳين پوزيشن ۾:

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

    ISERROR فنڪشن غلطين کي پڪڙي ٿو ۽ IF:

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

    <ڏانهن Boolean قدرن جي نتيجي واري صف کي پاس ڪري ٿو. 0>جڏهن IF فنڪشن TRUE (غلطي) ڏسي ٿو، اهو هڪ ٻئي MID فنڪشن جي مدد سان لاڳاپيل متن جي ڪردار کي پروسيس ٿيل صف ۾ داخل ڪري ٿو. جڏهن IF فنڪشن FALSE (هڪ نمبر) ڏسي ٿو، اهو ان کي خالي اسٽرنگ سان بدلائي ٿو:

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

    هي فائنل ايري TEXTJOIN ڏانهن منتقل ڪيو ويو آهي، تنهنڪري اهو متن جي اکرن کي گڏ ڪري ٿو ۽ ان کي آئوٽ ڪري ٿو. نتيجو.

    ٽيڪسٽ مان انگن کي هٽائڻ لاءِ ڪسٽم فنڪشن

    حل سڀني Excel ورزن لاءِ ڪم ڪري ٿو

    ذهن ۾ رکڻ گهرجي ته هڪ مضبوط فارمولا رکيو وڃي سادو، مان ڪنهن به عددي اکر کي ختم ڪرڻ لاءِ استعمال ڪندڙ جي بيان ڪيل فنڪشن (UDF) جو ڪوڊ شيئر ڪندس.

    VBA ڪوڊ 1:

    فنڪشن RemoveNumbers(str As String) Dim sRes جيئن اسٽرنگ sRes = "" I = 1 لاءِ لين (str) جيڪڏھن غلط = IsNumeric (Mid(str, i, 1)) پوءِ sRes = sRes ۽ amp; Mid(str, i, 1) End If Next i RemoveNumbers = sRes End Function

    VBA code 2:

    Function RemoveNumbers(str As String) As String with CreateObject ("VBScript.RegExp") ) .Global = True .Pattern = "[0-9]" RemoveNumbers2 = .Replace(str, "" ) End with End Function

    جيئن ته RemoveText فنڪشن جو معاملو آهي، ٻيو ڪوڊ بهتر آهي ته ان ۾ استعمال ڪيو وڃي. وڏوڪارڪردگي کي بهتر ڪرڻ لاءِ ورڪ شيٽ.

    جڏهن توهان جي ورڪ بڪ ۾ ڪوڊ شامل ڪيو ويندو، توهان هن ڪسٽم فنڪشن کي استعمال ڪندي سيل مان سڀئي عددي اکر ڪڍي سگهو ٿا:

    RemoveNumbers(string)

    اسان جي صورت ۾، B2 ۾ فارمولا هي آهي:

    =RemoveNumbers(A2)

    اڳوڻي اسپيس کي ٽرم ڪرڻ لاءِ جيڪڏهن ڪو به هجي، TRIM جي اندر ڪسٽم فنڪشن کي نيسٽ ڪريو جيئن توهان هڪ اصلي فارمولا:

    =TRIM(RemoveNumbers(A2))

    <0> ورهايو انگن ۽ متن کي الڳ ڪالمن ۾

    جڏهن توهان متن ۽ انگن کي ٻن ڪالمن ۾ الڳ ڪرڻ چاهيو ٿا، اهو سٺو ٿيندو ته اهو ڪم هڪ واحد فارمولي سان ڪيو وڃي ، متفق آهيو؟ ان لاءِ، اسان صرف RemoveText ۽ RemoveNumbers فنڪشن جي ڪوڊ کي هڪ فنڪشن ۾ ضم ڪريون ٿا، جنهن جو نالو SplitTextNumbers ، يا صرف Split ، يا جيڪو توهان چاهيو ٿا :)

    VBA ڪوڊ 1:

    فنڪشن SplitTextNumbers(str As String , is_remove_text As Boolean ) As String Dim sNum, sText, sChar As String sCurChar = sNum = sText = "" لاءِ i = 1 کان Len(str) sCurChar = Mid(str, i, 1) If True = IsNumeric(sCurChar) پوءِ sNum = sNum & sCurChar Else sText = sText & sCurChar End If Next i If True = is_remove_text پوءِ SplitTextNumbers = sNum Else SplitTextNumbers = sText End If End Function

    VBA ڪوڊ 2:

    Function SplitTextNumbers(str As String , as_remove_text) is_remove_text CreateObject سان ( "VBScript.RegExp" ) .گلوبل = صحيح جيڪڏھن سچو = is_remove_text پوءِ .Pattern = "[^0-9]" ٻيو.Pattern = "[0-9]" End If SplitTextNumbers = .Replace(str, "" ) End with End Function

    اسان جي نئين ڪسٽم فنڪشن کي ٻن دليلن جي ضرورت آهي:

    SplitTextNumbers(string, is_remove_text)

    جتي is_remove_text هڪ بوليان قدر آهي جنهن ۾ اشارو ڪيو ويو آهي ته ڪهڙن اکرن کي ڪٽيو وڃي:

    • TRUE يا 1 - ٽيڪسٽ هٽايو ۽ نمبر رکو
    • FALSE يا 0 - انگن کي هٽايو ۽ ٽيڪسٽ رکو

    اسان جي نموني ڊيٽا سيٽ لاءِ، فارمولا هي فارم وٺندا آهن:

    غير عددي اکرن کي ختم ڪرڻ لاءِ:

    =SplitTextNumbers(A2, TRUE)

    عددي اکرن کي ختم ڪرڻ لاءِ :

    =SplitTextNumbers(A2, FALSE)

    ٽپ. اڳواٽ جڳهن جي امڪاني مسئلي کان بچڻ لاءِ، مان سفارش ڪريان ٿو ته هميشه فارمولا لفافو ڪريو جيڪو نمبرن کي هٽائي ٿو TRIM فنڪشن:

    =TRIM(SplitTextNumbers(A2, FALSE))

    نمبرن يا ٽيڪسٽ کي هٽائڻ لاءِ خاص اوزار

    انهن لاءِ جيڪي ڪندا آهن غير ضروري شين کي پيچيده ڪرڻ پسند نه ڪريو، مان ايڪسل ۾ ٽيڪسٽ يا انگن کي هٽائڻ جو پنهنجو طريقو ڏيکاريندس.

    فرض ڪيو اسان جو الٽيميٽ سوٽ توهان جي ايڪسل ربن ۾ شامل ڪيو ويو آهي، توهان اهو ڪندا آهيو:

    1. تي Ablebits Data ٽئب تي، ٽيڪسٽ گروپ ۾، ڪلڪ ڪريو هٽايو > ڪردار هٽايو .

    22>

  • ايڊ-ان جي پين تي، ماخذ جي حد کي چونڊيو، چونڊيو ڪرڪٽر سيٽ هٽايو اختيار، ۽ يا ته چونڊيو ٽيڪسٽ ڪردار يا عددي ڪردار ڊراپ-ڊائون لسٽ ۾.
  • دٻايو هٽايو ۽ نتيجو مزو ڪريو :)
  • 0>23>

    ٽپ. جيڪڏهن نتيجن ۾ ڪجهه اڳواٽ اسپيس شامل آهن، ٽرم اسپيساوزار ان کي ڪنهن به وقت ۾ ختم ڪندو.

    اهڙيءَ طرح ايڪسل ۾ اسٽرنگ مان ٽيڪسٽ يا انگن اکرن کي هٽائڻو آهي. پڙهڻ لاءِ مان توهان جي مهرباني ۽ توهان کي ايندڙ هفتي اسان جي بلاگ تي ڏسڻ لاءِ منتظر آهيان!

    دستياب ڊائون لوڊ

    Excel ۾ ٽيڪسٽ يا نمبر هٽايو - مثال (.xlsm فائل)

    الٽيميٽ سوٽ - آزمائشي ورزن (.exe فائل)

    مائيڪل براون هڪ سرشار ٽيڪنالاجي جوش آهي جيڪو سافٽ ويئر اوزار استعمال ڪندي پيچيده عملن کي آسان ڪرڻ جي جذبي سان. ٽيڪنيڪي صنعت ۾ ڏهاڪن کان وڌيڪ تجربي سان، هن پنهنجي صلاحيتن کي Microsoft Excel ۽ Outlook، گڏوگڏ Google Sheets ۽ Docs ۾ ساراهيو آهي. مائيڪل جو بلاگ وقف ڪيو ويو آهي پنهنجي علم ۽ مهارت کي ٻين سان شيئر ڪرڻ لاءِ، پيداوار ۽ ڪارڪردگي کي بهتر ڪرڻ لاءِ آسان پيروي ڪرڻ واريون صلاحون ۽ سبق مهيا ڪرڻ لاءِ. چاهي توهان هڪ تجربيڪار پيشه ور آهيو يا شروعاتي، مائيڪل جو بلاگ انهن ضروري سافٽ ويئر اوزارن مان وڌ کان وڌ فائدو حاصل ڪرڻ لاءِ قيمتي بصيرتون ۽ عملي صلاحون پيش ڪري ٿو.