شرطن جي لحاظ کان متن

مون اڳ ۾ ئي لکيو آهي ته توهان ڪيئن جلدي ٽيڪسٽ کي ڪيترن ئي سيلن مان هڪ ۾ ڳنڍي سگهو ٿا ۽ ان جي برعڪس، هڪ ڊگهي ٽيڪسٽ اسٽرنگ کي اجزاء ۾ پارس ڪريو. ھاڻي اچو ته ھڪ ويجھو، پر ٿورڙو وڌيڪ پيچيده ڪم تي نظر رکون- ڪيترن ئي سيلن مان ٽيڪسٽ کي ڪيئن گلويو ڪجي جڏھن ھڪ خاص شرط پوري ٿئي. 

اچو ته چوندا آهيون ته اسان وٽ گراهڪن جو هڪ ڊيٽابيس آهي، جتي هڪ ڪمپني جو نالو پنهنجي ملازمن جي ڪيترن ئي مختلف اي ميلن سان ملندو آهي. اسان جو ڪم آهي ڪمپني جي نالن سان سڀني ايڊريس گڏ ڪرڻ ۽ انهن کي گڏ ڪرڻ (ڪاما يا سيميڪولن سان الڳ ٿيل) ٺاهڻ لاءِ، مثال طور، گراهڪن لاءِ ميلنگ لسٽ، يعني آئوٽ پُٽ حاصل ڪريو ڪجھه جھڙوڪ:

شرطن جي لحاظ کان متن

ٻين لفظن ۾، اسان کي هڪ اوزار جي ضرورت آهي جيڪو شرط جي مطابق متن کي گلو (لنڪ) ڪندو - فنڪشن جو هڪ اينالاگ. SUMMESLI (SUMIF)، پر متن لاءِ.

طريقو 0. فارمولا

تمام خوبصورت نه، پر آسان رستو. توھان لکي سگھوٿا ھڪڙو سادو فارمولا جيڪو چيڪ ڪندو ته ڇا ايندڙ قطار ۾ ڪمپني پوئين ھڪڙي کان مختلف آھي. جيڪڏهن اهو فرق نٿو ڪري، ته پوء ڪاما سان الڳ ڪيل ايندڙ پتي کي گلو ڪريو. جيڪڏهن اهو مختلف آهي، ته اسان جمع ٿيل "ري سيٽ" ڪريون ٿا، ٻيهر شروع ڪندي:

شرطن جي لحاظ کان متن

هن طريقي جا نقصان واضح آهن: حاصل ڪيل اضافي ڪالمن جي سڀني سيلن مان، اسان کي هر ڪمپني لاء صرف آخري (پيلو) جي ضرورت آهي. جيڪڏهن فهرست وڏي آهي، پوء جلدي انهن کي چونڊڻ لاء، توهان کي فنڪشن استعمال ڪندي ٻيو ڪالم شامل ڪرڻو پوندو ڊي ايل ايس ٽي آر (لين), جمع ٿيل تارن جي ڊيگهه کي جانچڻ:

شرطن جي لحاظ کان متن

ھاڻي توھان انھن کي فلٽر ڪري سگھو ٿا ۽ وڌيڪ استعمال لاءِ ضروري ايڊريس گلونگ کي نقل ڪري سگھو ٿا.

طريقو 1. هڪ شرط سان gluing جي macrofunction

جيڪڏهن اصل لسٽ ڪمپني طرفان ترتيب نه ڏني وئي آهي، پوء مٿي ڏنل سادي فارمولا ڪم نه ڪندو آهي، پر توهان آساني سان وي بي اي ۾ هڪ ننڍڙي ڪسٽم فنڪشن سان گڏ حاصل ڪري سگهو ٿا. ڪيبورڊ شارٽ ڪٽ کي دٻائڻ سان Visual Basic Editor کوليو Alt + F11 يا بٽڻ کي استعمال ڪندي ڏسڻ جي بنيادي ٽئب ڊولپر (ڊولپر). ونڊو ۾ جيڪو کلي ٿو، مينيو ذريعي نئون خالي ماڊل داخل ڪريو داخل ڪريو - ماڊل ۽ اتي اسان جي فنڪشن جو متن نقل ڪريو:

Function MergeIf(TextRange As Range، SearchRange As Reng، Condition As String) Dim Delimeter As String، i As Long Delimeter = ", " gluings هڪ ٻئي جي برابر نه هوندا آهن - اسان هڪ غلطي سان نڪرون ٿا جيڪڏهن SearchRange.Count <> TextRange.Count پوءِ MergeIf = CVErr(xlErrRef) Exit Function End If 'سڀني سيلز ذريعي وڃو، حالت چيڪ ڪريو ۽ متن کي گڏ ڪريو متغير OutText For i = 1 تائين SearchRange. Cells.Count جيڪڏھن SearchRange.Cells(i) حالت پسند ڪريو ته پوءِ OutText = OutText ۽ TextRange.Cells(i) ۽ Delimeter Next i 'آخري ڊيليميٽر کانسواءِ نتيجا ڏيکاريو MergeIf = Left(OutText, Len(OutText) - Len(Delimeter)) End فنڪشن  

جيڪڏهن توهان هاڻي Microsoft Excel ڏانهن واپس وڃو، پوء افعال جي فهرست ۾ (بٽڻ fx فارمولا بار يا ٽيب ۾ فارمولا - داخل ڪريو فنڪشن) اهو اسان جي فنڪشن کي ڳولڻ ممڪن ٿيندو ضم ڪريو جيڪڏهن درجي ۾ استعمال ڪندڙ جي تعريف (استعمال ڪندڙ جي وضاحت). فنڪشن جا دليل هن ريت آهن:

شرطن جي لحاظ کان متن

طريقو 2. متن کي غير درست حالت سان ڳنڍيو

جيڪڏهن اسان پنهنجي ميڪرو جي 13 هين لائين ۾ پهريون ڪردار تبديل ڪريون ٿا = تقريبن ميچ آپريٽر ڏانهن جهڙو، پوءِ اهو ممڪن ٿيندو ته چونڊ معيار سان ابتدائي ڊيٽا جي غير درست ميلاپ ذريعي گلونگ ڪرڻ. مثال طور، جيڪڏهن ڪمپني جو نالو مختلف قسمن ۾ لکي سگهجي ٿو، ته پوء اسين انهن سڀني کي هڪ فنڪشن سان چيڪ ۽ گڏ ڪري سگهون ٿا:

شرطن جي لحاظ کان متن

معياري وائلڊ ڪارڊ سپورٽ آهن:

  • asterisk (*) - ڪنهن به اکرن جي ڪنهن به تعداد کي ظاهر ڪري ٿو (بشمول انهن جي غير موجودگي)
  • سوال جو نشان (؟) - ڪنهن به هڪ ڪردار لاء بيٺل آهي
  • پائونڊ نشاني (#) - ڪنهن به هڪ عدد لاءِ بيٺل آهي (0-9)

ڊفالٽ طور، لائيڪ آپريٽر ڪيس حساس آهي، يعني سمجهي ٿو، مثال طور، ”اورين“ ۽ ”اورين“ کي مختلف ڪمپنيون. صورت کي نظر انداز ڪرڻ لاء، توهان ماڊل جي شروعات ۾ لائن شامل ڪري سگهو ٿا Visual Basic ايڊيٽر ۾ آپشن Compare Text، جيڪو تبديل ڪندو Like to be case insensitive.

هن طريقي سان، توهان حالتون چيڪ ڪرڻ لاء تمام پيچيده ماسڪ ٺاهي سگهو ٿا، مثال طور:

  • 1##؟؟777RUS - 777 علائقي جي سڀني لائسنس پليٽن جو انتخاب، 1 سان شروع ٿئي ٿو
  • LLC* - سڀئي ڪمپنيون جن جو نالو LLC سان شروع ٿئي ٿو
  • ##7## - سڀئي پراڊڪٽس پنج عددي ڊجيٽل ڪوڊ سان، جتي ٽيون عدد 7 آهي
  • ؟؟؟؟؟؟ - پنجن اکرن جا سڀ نالا، وغيره.

طريقو 3. ميڪرو فنڪشن ٻن شرطن تحت ٽيڪسٽ گلونگ لاءِ

ڪم ۾ ڪو مسئلو ٿي سگهي ٿو جڏهن توهان متن کي هڪ کان وڌيڪ شرطن سان ڳنڍڻ جي ضرورت آهي. مثال طور، اچو ته تصور ڪريو ته اسان جي پوئين جدول ۾، شهر سان هڪ وڌيڪ ڪالمن شامل ڪيو ويو، ۽ گلونگ کي نه رڳو ڏنل ڪمپني لاء، پر هڪ ڏنل شهر لاء پڻ ڪيو وڃي. انهي حالت ۾، اسان جي فنڪشن کي ٿورو جديد ٿيڻو پوندو ان ۾ هڪ ٻيو رينج چيڪ شامل ڪندي:

Function MergeIfs (TextRange As Reng، SearchRange1 As Reng، Condition1 As String، SearchRange2 As range، Condition2 As String) Dim Delimeter As String، i As Long Delimeter = ", " 'delimiter characters (اسپيس سان تبديل ڪري سگھجي ٿو يا؛ وغيره) e.) 'جيڪڏهن تصديق ۽ گلونگ جون حدون هڪ ٻئي جي برابر نه آهن، غلطي سان ٻاهر نڪرو جيڪڏهن SearchRange1.Count <> TextRange.Count يا SearchRange2.Count <> TextRange.Count پوءِ MergeIfs = CVErr(xlErrRef) Exit Function End جيڪڏھن. 'سڀني سيلز ذريعي وڃو، سڀني شرطن کي چيڪ ڪريو ۽ متن کي گڏ ڪريو متغير OutText For i = 1 کان SearchRange1.Cells.Count If SearchRange1.Cells(i) = Condition1 ۽ SearchRange2.Cells(i) = حالت2 پوءِ OutText = OutText & TextRange.Cells(i) ۽ Delimeter End If Next i 'آخري ڊيليميٽر کان سواءِ نتيجا ڏيکاريو MergeIfs = کاٻي(OutText, Len(OutText) - Len(Delimeter)) End Function  

اهو بلڪل ساڳئي طريقي سان لاڳو ڪيو ويندو - صرف دليلن کي هاڻي وڌيڪ وضاحت ڪرڻ جي ضرورت آهي:

شرطن جي لحاظ کان متن

طريقو 4. پاور سوال ۾ گروپنگ ۽ گلونگ

توھان مسئلو حل ڪري سگھو ٿا بغير پروگرامنگ جي VBA ۾، جيڪڏھن توھان استعمال ڪريو مفت پاور سوال اضافو. ايڪسل 2010-2013 لاءِ اهو هتي ڊائون لوڊ ڪري سگهجي ٿو، ۽ ايڪسل 2016 ۾ اهو اڳ ۾ ئي ڊفالٽ ۾ ٺهيل آهي. عملن جو سلسلو هن ريت ٿيندو:

پاور سوال کي خبر ناهي ته باقاعده ٽيبل سان ڪيئن ڪم ڪجي، تنهنڪري پهريون قدم اسان جي ٽيبل کي ”سمارٽ“ ۾ تبديل ڪرڻ آهي. هن کي ڪرڻ لاء، ان کي چونڊيو ۽ ميلاپ کي دٻايو Ctrl+T يا ٽيب مان چونڊيو گھر - ھڪڙي ٽيبل جي شڪل ۾ (گهر - ٽيبل جي شڪل ۾). ٽيب تي جيڪو پوء ظاهر ٿئي ٿو تعمير ڪندڙ (خاڪو) توھان ٽيبل جو نالو سيٽ ڪري سگھو ٿا (مان ڇڏي ويو معيار ٽيبل 1):

شرطن جي لحاظ کان متن

ھاڻي اچو ته پنھنجي ٽيبل کي پاور سوالن جي اضافو ۾ لوڊ ڪريون. هن کي ڪرڻ لاء، ٽيب تي ڊيٽا (جيڪڏهن توهان وٽ آهي ايڪسل 2016) يا پاور سوال ٽيب تي (جيڪڏهن توهان وٽ آهي ايڪسل 2010-2013) ڪلڪ ڪريو ٽيبل تان (ڊيٽا - ٽيبل تان):

شرطن جي لحاظ کان متن

سوال ايڊيٽر ونڊو ۾ جيڪو کلي ٿو، ڪالمن کي منتخب ڪريو هيڊر تي ڪلڪ ڪندي ڪمپني ۽ مٿي ڏنل بٽڻ کي دٻايو گروپ (گروپ پاران). گروپ ۾ نئين ڪالمن جو نالو ۽ آپريشن جو قسم داخل ڪريو - سڀ لائينون (سڀ قطارون):

شرطن جي لحاظ کان متن

OK تي ڪلڪ ڪريو ۽ اسان هر ڪمپني لاء گروپ ڪيل قدرن جو هڪ مني ٽيبل حاصل ڪندا آهيون. جدولن جا مواد واضح طور تي نظر اچن ٿا جيڪڏھن توھان کاٻي ڪلڪ ڪريو سيلز جي اڇي پس منظر تي (متن تي نه!) نتيجي واري ڪالمن ۾:

شرطن جي لحاظ کان متن

ھاڻي اچو ھڪڙو وڌيڪ ڪالم شامل ڪريو، جتي، فنڪشن کي استعمال ڪندي، اسان ايڊريس ڪالمن جي مواد کي ھر ھڪڙي ميني ٽيبل ۾، ڪاما سان الڳ ڪري، چپ ڪريو. هن کي ڪرڻ لاء، ٽيب تي ڪالھ شامل ڪريو اسان پريس ڪريون ٿا ڪسٽم ڪالمن (ڪالم شامل ڪريو - ڪسٽم ڪالم) ۽ جيڪا ونڊو ظاهر ٿئي ٿي، ان ۾ نئين ڪالم جو نالو داخل ڪريو ۽ پاور ڪوئيري ۾ ٺهيل M ٻولي ۾ جوڙيل فارمولا:

شرطن جي لحاظ کان متن

نوٽ ڪريو ته سڀئي M-function ڪيس حساس آهن (ايڪسل جي برعڪس). تي ڪلڪ ڪرڻ کان پوء OK اسان هڪ نئون ڪالم حاصل ڪريون ٿا چپيل پتي سان:

شرطن جي لحاظ کان متن

اهو اڳ ۾ ئي غير ضروري ڪالمن کي ختم ڪرڻ لاء رهي ٿو ٽيبل ايڊريس (عنوان تي صحيح ڪلڪ ڪريو) ڪالمن کي ختم ڪريو) ۽ ٽيب تي ڪلڪ ڪري نتيجن کي شيٽ تي اپلوڊ ڪريو گھر - بند ڪريو ۽ ڊائون لوڊ ڪريو (گهر - بند ۽ لوڊ):

شرطن جي لحاظ کان متن

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

  • ڊگھي ٽيڪسٽ اسٽرنگ کي حصن ۾ ڪيئن ورهايو وڃي
  • متن کي مختلف سيلن مان هڪ ۾ ڳنڍڻ جا ڪيترائي طريقا
  • ماسڪ جي خلاف ٽيڪسٽ ٽيسٽ ڪرڻ لاءِ لائيڪ آپريٽر استعمال ڪندي

جواب ڇڏي وڃو