فهرست
په دې مقاله کې، تاسو به زده کړئ چې څنګه د متن تار څخه ځانګړي حروف حذف کړئ او په یوځل کې له څو حجرو څخه ناغوښتل شوي حروف لرې کړئ.
کله چې له بل ځای څخه Excel ته ډیټا وارد کړئ، ډیری ځانګړي کرکټرونه ممکن ستاسو کاري پاڼو ته سفر وکړي. هغه څه چې حتی ډیر خفه کوي دا دي چې ځینې کرکټرونه نه لیدل کیږي، کوم چې د متن تارونو څخه مخکې، وروسته یا دننه اضافي سپین ځای تولیدوي. دا ټیوټوریل د دې ټولو ستونزو لپاره حلونه وړاندې کوي، تاسو ته د ډیټا سیل په واسطه د حجرو له لارې د تګ او د لاس په واسطه ناغوښتل شوي حروف پاکولو کې د ستونزو څخه ساتي.
د Excel سیل څخه ځانګړی کرکټر لرې کړئ
د یوې حجرې څخه د یو مشخص کرکټر د حذف کولو لپاره، دا په ساده بڼه کې د SUBSTITUTE فعالیت په کارولو سره د خالي تار سره بدل کړئ:
SUBSTITUTE( cell, char، "")د مثال په توګه، د A2 څخه د پوښتنې نښه له منځه وړلو لپاره، په B2 کې فورمول دا دی:
=SUBSTITUTE(A2, "?", "")
د لرې کولو لپاره هغه کرکټر چې ستاسو په کیبورډ کې شتون نلري، تاسو کولی شئ هغه د اصلي حجرې څخه فارمول ته کاپي/پیسټ کړئ.
د مثال په توګه، دلته دی چې تاسو څنګه کولی شئ د پوښتنې نښه بدله کړئ:
=SUBSTITUTE(A2, "¿", "")
مګر که یو ناغوښتل شوی کرکټر نه لیدل کیدونکی یا په سمه توګه کاپي نشي، تاسو څنګه په فورمول کې واچوئ؟ په ساده ډول، د کوډ فنکشن په کارولو سره د دې کوډ شمیره ومومئ.
زموږ په قضیه کې، ناغوښتل شوي کرکټر ("¿") په A2 حجره کې وروستی راځي، نو موږ یو ترکیب کاروو.د کوډ او RIGHT دندو څخه د خپل ځانګړي کوډ ارزښت بیرته ترلاسه کولو لپاره، کوم چې 191 دی:
=CODE(RIGHT(A2))
یوځل چې تاسو د کرکټر کوډ ترلاسه کړئ، اړونده CHAR ته خدمت وکړئ د پورته عمومي فورمول سره فعالیت. زموږ د ډیټا سیټ لپاره، فورمول په لاندې ډول ځي:
=SUBSTITUTE(A2, CHAR(191),"")
13>
یادونه. د SUBSTITUTE فعالیت کیس حساس دی، پدې معنی چې دا د کوچنیو او لویو حروفو سره د مختلف حروفونو په توګه چلند کوي. مهرباني وکړئ دا په ذهن کې وساتئ که ستاسو ناغوښتل کرکټر یو لیک وي.
د سټرینګ څخه ډیری حروف حذف کړئ
په تیرو مقالو کې، موږ وګورو چې څنګه په Excel کې د تارونو څخه ځانګړي حروفونه د یو بل سره د څو SUBSTITUTE فنکشنونو په ځای کولو سره لرې کړو. ورته طریقه په یوه وخت کې د دوه یا ډیرو ناغوښتل شویو حروفونو د له منځه وړلو لپاره کارول کیدی شي:
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( cell , char1 , ""), char2 , ""), char3 , "")د مثال په توګه، په A2 کې د متن تار څخه د عادي عجز او پوښتنې نښانو او همدارنګه د بدل شوي ټکي له منځه وړلو لپاره، دا فورمول وکاروئ:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "!", ""), "¡", ""), "?", ""), "¿", "")
دا کار د CHAR فنکشن په مرسته ترسره کیدی شي ، چیرې چې 161 د "¡" لپاره د کرکټر کوډ دی او 191 د "¿" لپاره د کرکټر کوډ دی:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3, "!", ""), "?", ""), CHAR(161), ""), CHAR(191), "")
Nested SUBSTITUTE افعال د مناسب شمیر حروفونو لپاره ښه کار کوي، مګر که تاسو د لرې کولو لپاره لسګونه حروف ولرئ، فورمول خورا اوږد او اداره کول ستونزمن کیږي. بله بیلګه ښیي چې aډیر کمپیکٹ او په زړه پوری حل.
ټول ناغوښتل شوي حروف په یوځل لیرې کړئ
1>حل یوازې د مایکروسافټ 365 لپاره په Excel کې کار کوي
لکه څنګه چې تاسو شاید پوهیږئ ، ایکسل 365 یو ځانګړی فعالیت لري چې تاسو ته وړتیا درکوي خپل فعالیتونه رامینځته کړئ ، پشمول هغه چې په تکراري ډول محاسبه کوي. دا نوی فنکشن د LAMBDA نومول شوی، او تاسو کولی شئ د دې په اړه بشپړ معلومات په پورته تړل شوي ټیوټوریل کې ومومئ. لاندې، زه به دا مفکوره د یو څو عملي مثالونو سره روښانه کړم.
د LAMBDA یو دودیز فعالیت د ناغوښتل شوي حروف لرې کولو لپاره په لاندې ډول دی:
=LAMBDA(string, chars, IF(chars"", RemoveChars(SUBSTITUTE(string, LEFT(chars, 1), ""), RIGHT(chars, LEN(chars) -1)), string))
په خپلو کاري پاڼو کې د دې فنکشن کارولو وړتیا لپاره، تاسو اړتیا لرئ چې لومړی یې نوم کړئ. د دې لپاره، د نوم مدیر د خلاصولو لپاره Ctrl + F3 فشار ورکړئ، او بیا یو نوی نوم په دې ډول تعریف کړئ:
- په نوم کې. بکس، د فنکشن نوم ولیکئ: RemoveChars .
- Speet to workbook .
- په Reference< بکس، پورته فورمول پیسټ کړئ.
- په اختیاري توګه، د تبصرې بکس کې د پیرامیټونو توضیحات دننه کړئ. پیرامیټونه به هغه وخت ښکاره شي کله چې تاسو په یوه حجره کې فورمول ټایپ کړئ.
- د خپل نوي فعالیت د خوندي کولو لپاره ښه کلیک وکړئ.
د تفصيلي لارښوونو لپاره، مهرباني وکړئ وګورئ د دودیز LAMBDA فنکشن نوم څنګه ولیکئ.
کله چې فنکشن نوم ترلاسه کړي، تاسو کولی شئ ورته د هر اصلي فارمول په څیر مراجعه وکړئ.
د کارونکي له نظره ، زموږ د دودیز فعالیت ترکیب دومره ساده دی لکه څنګه چېدا:
RemoveChars(string, chars)چیرته:
- String - اصلي تار دی، یا د حجرو/حلقو ته یوه حواله چې تار لري( s).
- حروف - د حذف کولو لپاره حروف. د متن تار یا د حجرې حوالې لخوا نمایش کیدی شي.
د اسانتیا لپاره، موږ په ځینو حجرو کې ناغوښتل شوي حروف داخل کوو، D2 وايي. د A2 څخه د دغو حروفونو د لرې کولو لپاره، فورمول دا دی:
=RemoveChars(A2, $D$2)
د دې لپاره چې فورمول په سمه توګه کار وکړي، مهرباني وکړئ لاندې شیانو ته پام وکړئ:
- په D2 کې , حروف پرته له ځای څخه لیست شوي، پرته لدې چې تاسو غواړئ ځایونه هم له منځه یوسي.
- د حجرې پته چې ځانګړي حروف لري د $ نښه ($D$2) سره تړل شوي ترڅو د نقل کولو په وخت کې د حوالې د بدلون مخه ونیسي. لاندې حجرو ته فورمول.
او بیا، موږ په ساده ډول فورمول ښکته راښکته کوو او په D2 کې لیست شوي ټول حروف له A2 څخه A6 حجرو څخه حذف شوي دي:
د یو واحد فورمول سره د څو حجرو پاکولو لپاره، د لومړي دلیل لپاره د A2:A6 سلسله وړاندې کړئ:
=RemoveChars(A2:A6, D2)
ځکه چې فورمول یوازې په ترټولو لوړ حجره کې داخل شوی، تاسو اړتیا نلرئ د حجرو همغږي بندولو په اړه اندیښنه ولرئ - یو اړونده حواله (D2) پدې قضیه کې ښه کار کوي. او د متحرک صفونو لپاره د ملاتړ له امله، فورمول په اتوماتيک ډول ټولو راجع شوي حجرو ته خپریږي:
د مخکیني تعریف شوي کریکټ سیټ لرې کول
د ډیری حجرو څخه حروف، تاسو کولی شئ جوړ کړئبل LAMBDA چې اصلي RemoveChars فنکشن ته زنګ ووهي او په دوهم پیرامیټر کې ناغوښتل شوي حروف مشخص کړي. د مثال په توګه:د ځانګړي توري حذف کولو لپاره، موږ د RemoveSpecialChars :
=LAMBDA(string, RemoveChars(string, "?¿!¡*%#@^"))
په نوم یو دودیز فنکشن جوړ کړی دی شمیرې لرې کړئ د متن تارونو څخه، موږ یو بل فنکشن جوړ کړی دی چې نوم یې RemoveNumbers :
=LAMBDA(string, RemoveChars(string, "0123456789"))
پورتنۍ دواړه فنکشنونه خورا اسانه دي. د کارولو لپاره چې دوی یوازې یو دلیل ته اړتیا لري - اصلي تار.
د A2 څخه ځانګړي توري له مینځه وړلو لپاره، فورمول دا دی:
=RemoveSpecialChars(A2)
یوازې شمیري حروف حذف کولو لپاره:
=RemoveNumbers(A2)
دا فنکشن څنګه کار کوي:
په اصل کې، د RemoveChars فنکشن د chars د لیست له لارې لوپ کوي او په یو وخت کې یو کرکټر لرې کوي. د هر تکراري زنګ څخه دمخه، د IF فنکشن پاتې تورونه چک کوي. که د حرفونو تار خالي نه وي (حرف"")، فنکشن پخپله غږ کوي. هرڅومره ژر چې وروستی کرکټر پروسس شي، فورمول بیرته راګرځي سټرینګ دا اوسنۍ بڼه لري او وځي.
د تفصیلي فورمول ماتولو لپاره، مهرباني وکړئ د ناغوښتل شوي حروفونو د لرې کولو لپاره تکراري LAMBDA وګورئ.
د VBA سره ځانګړي حروف لرې کړئ
فکشنونه د Excel په ټولو نسخو کې کار کوي
که د LAMBDA فنکشن ستاسو په Excel کې شتون ونلري، هیڅ شی ستاسو مخه نه نیسي. د VBA سره ورته فنکشن رامینځته کولو څخه. د کارونکي لخوا تعریف شویفنکشن (UDF) په دوه لارو لیکل کیدی شي.
د ځانګړو حروفونو د حذف کولو لپاره دودیز فعالیت تکراري :
دا کوډ د پورته بحث شوي LAMBDA فنکشن منطق تقلید کوي.
فنکشن لرې کړئUnwantedChars(str په حیث، د توری په توګه حروف) که ("" حروف) نو بیا str = ځای په ځای کړئ(str، Left(chars، 1)، "" ) chars = right(hars, Len(chars) - 1) UnwantedChars لرې کړئ = RemoveUnwantedChars(str, chars) نور RemoveUnwantedChars = str End که پای فنکشند ځانګړو حروفونو لرې کولو لپاره دودیز فنکشن غیر تکراري :
دلته، موږ د ناغوښتل شوي حروف له لارې له 1 څخه تر لین (حرفونه) او په اصلي تار کې موندل شوي د هیڅ شی سره ځای په ځای کړئ. د MID فنکشن ناغوښتل شوي حروف یو په یو راوباسي او د بدلولو فنکشن ته یې لیږدوي.
فنکشن لرې کړئUnwantedChars(str As String , chars as String) for index = 1 to Len(chars) str = Replace(str, Mid(chars, index, 1), "" ) Next RemoveUnwantedChars = str End Functionپه خپل کاري کتاب کې د پورته کوډونو څخه یو دننه کړئ لکه څنګه چې تشریح شوي چې څنګه په Excel کې د VBA کوډ داخل کړئ، او ستاسو دودیز فعالیت د کارولو لپاره چمتو دی.
د دې لپاره چې زموږ د نوي کارونکي لخوا تعریف شوي فنکشن د لامبډا تعریف شوي سره ګډوډ نه کړي، موږ ورته په بل ډول نوم ورکړ:
غیر مطلوب چارس لرې کړئ (string، chars)فرض کړئ چې اصلي تار په A2 کې دی او په D2 کې ناخوښه حروف، موږ کولی شو د دې فورمول په کارولو سره له دوی څخه خلاصون ترلاسه کړو:
= RemoveUnwantedChars(A2, $D$2)
26>
د هارډ کوډ سره دودیز فعالیتحروف
که تاسو نه غواړئ چې د هر فارمول لپاره د ځانګړو حروفونو د وړاندې کولو په اړه فکر وکړئ، تاسو کولی شئ دوی په مستقیم ډول په کوډ کې مشخص کړئ:
فنکشن RemoveSpecialChars(str As String) د String Dim chars په توګه د String Dim index As اوږده حروف = "?¿!¡*%#$(){}[]^&/\~+-" index = 1 ته Len(chars) str = بدلول(str, Mid(chars, index, 1) "" د عملي کارونې لپاره، ډاډ ترلاسه کړئ چې ټول هغه کرکټرونه چې تاسو یې غواړئ په لاندې کرښه کې حذف کړئ شامل کړئ: chars = "?¿!¡*%#$(){}[]^&/\~+-"
دا دودیز فعالیت نوم دی RemoveSpecialChars او دا یوازې یو ته اړتیا لري دلیل - اصلي تار:
RemoveSpecialChars(string)زموږ د ډیټا سیټ څخه د ځانګړي حروفونو لرې کولو لپاره، فورمول دا دی:
=RemoveSpecialChars(A2)
27>
په Excel کې د نه چاپ وړ حرفونه لرې کړئ
د مایکروسافټ ایکسل د غیر چاپ شوي حروف حذف کولو لپاره ځانګړی فعالیت لري - د کلین فنکشن. په تخنیکي توګه، دا د 7-bit ASCII سیټ کې لومړني 32 حروف لرې کوي (کوډونه 0 څخه تر 31 پورې).
د مثال په توګه، د A2 څخه د د نه چاپ کیدو وړ حروف حذف کولو لپاره، دلته د کارولو فورمول دی. :
=CLEAN(A2)
دا به غیر چاپ شوي حروف له منځه یوسي، مګر د متن څخه مخکې/وروسته او د کلمو ترمنځ ځایونه به پاتې وي.
28>
تر له اضافي ځایونو څخه خلاص شئ، د TRIM فنکشن کې د کلین فارمول لپاسه کړئ:
=TRIM(CLEAN(A2))
اوس، ټول مخکښ اوشاته ځایونه لیرې شوي، په داسې حال کې چې په منځ کې ځایونه یو واحد ځای ته راټیټ شوي دي:
29>
که تاسو غواړئ په بشپړ ډول حذف کړئ ټول ځایونه دننه یو تار، بیا د خلا کریکټ (کوډ نمبر 32) د خالي تار سره ځای په ځای کړئ:
=TRIM(CLEAN((SUBSTITUTE(A2, CHAR(32), ""))))
ځینې ځایونه یا نور نه لیدل کیدونکي حروف لاهم پاتې دي ستاسو کاري پاڼه؟ د دې معنی دا ده چې دا حروف د یونیکوډ کرکټر سیټ کې مختلف ارزښتونه لري.
د مثال په توګه، د نه ماتیدونکي ځای () 160 دی او تاسو کولی شئ د دې فارمول په کارولو سره پاک کړئ:
=SUBSTITUTE(A2, CHAR(160)," ")
د ځانګړي غیر چاپي کرکټر له مینځه وړلو لپاره، تاسو باید لومړی د دې کوډ ارزښت ومومئ. تفصيلي لارښوونې او د فورمول مثالونه دلته دي: د ځانګړي غیر چاپ شوي کرکټر لرې کولو څرنګوالی.
د الټیمیټ سویټ سره ځانګړي کرکټرونه حذف کړئ
د مایکروسافټ 365 ، ایکسل 2019 - 2010 لپاره د ایکسل ملاتړ کوي
په دې وروستي مثال کې، اجازه راکړئ تاسو ته په Excel کې د ځانګړو حروفونو د لرې کولو ترټولو اسانه لار وښیم. د الټیمیټ سویټ نصبولو سره، دا هغه څه دي چې تاسو یې کولو ته اړتیا لرئ:
- 16> په د قابلیت ډیټا ټب کې، په متن ګروپ کې، کلیک وکړئ لرې کړئ > کرکټرونه لرې کړئ .
په یوه شیبه کې، تاسو به یوه سمه پایله ترلاسه کړئ:
0>که یو څه غلط شي، اندیښنه مه کوئ - ستاسو د کاري پاڼې یو بیک اپ کاپي به په اتوماتيک ډول رامینځته شي ځکه چې د دې کاري پاڼې بیک اپ بکس په ډیفالټ غوره شوی.
زموږ د لرې کولو وسیله هڅه کولو لیواله یاست؟ د ارزونې نسخې ته لینک په لاندې ډول دی. زه ستاسو د لوستلو لپاره مننه کوم او هیله لرم چې تاسو راتلونکې اونۍ زموږ په بلاګ کې وګورم!
د موجود ډاونلوډونه
ځانګړي توري ړنګ کړئ - مثالونه (.xlsm فایل)
حتمي سویټ - آزموینه نسخه (.exe فایل)