فہرست کا خانہ
وائلڈ کارڈ ٹیکسٹ کے ساتھ IF اسٹیٹمنٹ بنانے کی کوشش کر رہے ہیں، لیکن یہ ہر بار ناکام ہو جاتا ہے؟ مسئلہ آپ کے فارمولے میں نہیں بلکہ فنکشن میں ہے - Excel IF وائلڈ کارڈ کیریکٹر کو سپورٹ نہیں کرتا ہے۔ تاہم، جزوی متن کی مماثلت کے لیے اسے کام کرنے کا ایک طریقہ ہے، اور یہ ٹیوٹوریل آپ کو سکھائے گا کہ کیسے۔
جب بھی آپ Excel میں جزوی یا مبہم مماثلت انجام دینا چاہتے ہیں، سب سے واضح حل یہ ہے وائلڈ کارڈ استعمال کرنے کے لیے۔ لیکن کیا ہوگا اگر ایک مخصوص فنکشن جس کو آپ کو استعمال کرنے کی ضرورت ہے وہ وائلڈ کارڈ کے حروف کو سپورٹ نہیں کرتا ہے؟ افسوس کی بات یہ ہے کہ Excel IF ایسے فنکشنز میں سے ایک ہے۔ یہ خاص طور پر مایوس کن ہے کہ دیگر "مشروط" فنکشنز جیسے کہ COUNTIF، SUMIF، اور AVERAGEIFS وائلڈ کارڈز کے ساتھ بالکل ٹھیک کام کرتے ہیں۔
خوش قسمتی سے، یہ کوئی رکاوٹ نہیں ہے جو ایک تخلیقی Excel صارف کو روک سکتی ہے :) IF کو ملا کر دوسرے فنکشنز کے ساتھ، آپ اسے جزوی میچ کا جائزہ لینے پر مجبور کر سکتے ہیں اور ایکسل IF وائلڈ کارڈ فارمولے کا ایک اچھا متبادل حاصل کر سکتے ہیں۔
وائلڈ کارڈ کے ساتھ Excel IF فنکشن کیوں کام نہیں کر رہا ہے
نیچے دیے گئے نمونے کے جدول میں، فرض کریں کہ آپ یہ چیک کرنا چاہتے ہیں کہ آیا پہلے کالم میں آئی ڈیز میں حرف "A" ہے۔ اگر پایا جاتا ہے - کالم B میں "ہاں" دکھائیں، اگر نہیں تو - "نہیں" دکھائیں
لیکن افسوس کہ یہ کام نہیں کرتا۔ فارمولہ تمام سیلز کے لیے "نہیں" لوٹاتا ہے، یہاں تک کہ وہ بھی جن میں "A" ہے:
کیوںایک وائلڈ کارڈ IF بیان ناکام؟ تمام نمائشوں سے، ایکسل مساوی نشان یا دوسرے منطقی آپریٹرز کے ساتھ استعمال ہونے والے وائلڈ کارڈز کو نہیں پہچانتا ہے۔ وائلڈ کارڈز کو سپورٹ کرنے والے فنکشنز کی فہرست پر گہری نظر ڈالتے ہوئے، آپ دیکھیں گے کہ ان کا نحو ایک وائلڈ کارڈ ٹیکسٹ فرض کرتا ہے جو براہ راست کسی دلیل میں اس طرح ظاہر ہوتا ہے:
=COUNTIF(A2:A10, "*a*")
Excel IF جزوی متن پر مشتمل ہے
اب جب کہ آپ وائلڈ کارڈ کے IF فارمولے کے ناکام ہونے کی وجہ جانتے ہیں، آئیے یہ جاننے کی کوشش کریں کہ اسے کیسے کام کرنا ہے۔ اس کے لیے، ہم صرف ایک فنکشن کو ایمبیڈ کریں گے جو IF کے منطقی امتحان میں وائلڈ کارڈز کو قبول کرتا ہے، یعنی COUNTIF فنکشن:
IF(COUNTIF( cell , "* text * "), value_if_true, value_if_false)اس نقطہ نظر کے ساتھ، IF کو وائلڈ کارڈز کو سمجھنے میں کوئی دشواری نہیں ہے اور بے عیب طریقے سے ان خلیوں کی شناخت کرتا ہے جن میں یا تو "A" یا "a" ہوتا ہے (چونکہ COUNTIF کیس کے لحاظ سے حساس نہیں ہے):
=IF(COUNTIF(A2, "*a*"),"Yes", "No")
یہ فارمولہ B2، یا قطار 2 کے کسی دوسرے سیل پر جاتا ہے، اور پھر آپ اسے ضرورت کے مطابق زیادہ سے زیادہ سیلوں تک نیچے گھسیٹ سکتے ہیں:
اس حل کو کسی مخصوص پیٹرن کے تاروں کو تلاش کرنے کے لیے بھی استعمال کیا جا سکتا ہے ۔ یہ فرض کرتے ہوئے کہ صرف 2 حروف کے 2 گروپوں پر مشتمل IDs درست ہیں جو ایک ہائفن کے ساتھ الگ ہیں، آپ "???-??" استعمال کر سکتے ہیں۔ ان کی شناخت کے لیے وائلڈ کارڈ سٹرنگ:
=IF(COUNTIF(A2, "??-??"), "Valid", "")
یہ فارمولہ کیسے کام کرتا ہے:
کے منطقی امتحان کے لیے IF، ہم COUNTIF فنکشن استعمال کرتے ہیں جو مخصوص وائلڈ کارڈ سے مماثل خلیوں کی تعداد کو شمار کرتا ہے۔تار چونکہ معیار کی حد ایک واحد سیل (A2) ہے، نتیجہ ہمیشہ 1 ہوتا ہے (مماثل پایا جاتا ہے) یا 0 (مماثل نہیں ملا)۔ یہ دیکھتے ہوئے کہ 1 درست اور 0 کے غلط کے برابر ہے، فارمولہ "درست" (value_if_true) لوٹاتا ہے جب گنتی 1 ہو اور جب گنتی 0 ہو تو ایک خالی سٹرنگ (value_if_false) لوٹاتا ہے۔
اگر جزوی کے لیے ISNUMBER SEARCH فارمولا میچز
ایکسل IF کو جزوی ٹیکسٹ میچ کے لیے کام کرنے پر مجبور کرنے کا دوسرا طریقہ یہ ہے کہ یا تو FIND یا SEARCH فنکشن کو منطقی ٹیسٹ میں شامل کیا جائے۔ فرق یہ ہے کہ FIND کیس حساس ہے جبکہ SEARCH نہیں ہے۔
لہذا، اس بات پر منحصر ہے کہ آیا آپ چھوٹے اور بڑے کو ایک جیسے یا مختلف حروف کے طور پر استعمال کرنا چاہتے ہیں، ان فارمولوں میں سے کوئی ایک علاج کا کام کرے گا:
کیس غیر حساس جزوی مماثلت کے لیے فارمولہ:
IF(ISNUMBER(SEARCH(" text ", cell )), value_if_true, value_if_false )کیس حساس جزوی مماثلت کے لیے فارمولہ:
IF(ISNUMBER(FIND(" text ", cell )), value_if_true, value_if_false )چونکہ دونوں فنکشنز "سیل پر مشتمل" قسم کی مماثلت کو انجام دینے کے لیے ڈیزائن کیے گئے ہیں، اس لیے اس معاملے میں وائلڈ کارڈز کی واقعی ضرورت نہیں ہے۔
مثال کے طور پر، "A" یا "a" پر مشتمل IDs کا پتہ لگانے کے لیے ، فارمولا یہ ہے:
=IF(ISNUMBER(SEARCH("A", A2)), "Yes", "No")
صرف کیپیٹل "A" کو تلاش کرنے اور "a" کو نظر انداز کرنے کے لیے، فارمولا ہے:
=IF(ISNUMBER(FIND("A", A2)), "Yes", "No")
ذیل میں اسکرین شاٹ میں B6 میں، آپ نتیجہ میں فرق دیکھ سکتے ہیں:
یہ فارمولہ کیسے کام کرتا ہے:
کے دلفارمولہ میں، ISNUMBER اور SEARCH (یا FIND):
ISNUMBER(SEARCH("A", A2))
SEARCH فنکشن مخصوص متن ("A" اس مثال میں) کو تلاش کرتا ہے اور اس کے اندر اپنی پوزیشن واپس کرتا ہے۔ A2 میں ایک تار۔ اگر متن نہیں ملتا ہے تو، ایک #VALUE غلطی لوٹائی جاتی ہے۔ جیسا کہ SEARCH اور FIND دونوں کو "سیل پر مشتمل" قسم کی مماثلت انجام دینے کے لیے ڈیزائن کیا گیا ہے، اس لیے اس معاملے میں وائلڈ کارڈز کی واقعی ضرورت نہیں ہے۔
ISNUMBER فنکشن ایک نمبر کو TRUE میں تبدیل کرتا ہے اور غلطی سمیت کسی بھی دوسری قدر کو FALSE میں تبدیل کرتا ہے۔ . منطقی قدر براہ راست IF کے منطقی امتحان پر جاتی ہے۔ ہمارے معاملے میں، A2 میں "A" ہوتا ہے، لہذا ISNUMBER TRUE لوٹاتا ہے:
IF(TRUE, "Yes", "No")
نتیجتاً، IF value_if_true دلیل کے لیے سیٹ ویلیو واپس کرتا ہے، جو کہ "ہاں"۔
وائلڈ کارڈز کے ساتھ ایکسل IF یا اسٹیٹمنٹ
ایسے سیلز کی شناخت کرنے کی ضرورت ہے جن میں وائلڈ کارڈ ٹیکسٹ سٹرنگز میں سے ایک ہو؟ اس صورت میں، آپ کلاسک IF OR سٹیٹمنٹ کو اوپر بتائے گئے COUNTIF یا ISNUMBER SEARCH فارمولے کے ساتھ جوڑ سکتے ہیں۔
مثال کے طور پر، A2 میں "aa" یا "bb" تلاش کرنے کے لیے لیٹر کیس کو نظر انداز کرتے ہوئے اور واپس " ہاں" اگر دونوں میں سے کوئی ایک مل جاتا ہے، تو ان میں سے ایک فارمولہ استعمال کریں:
=IF(OR(ISNUMBER(SEARCH("aa", A2)), ISNUMBER(SEARCH("bb", A2))), "Yes", "")
یا
=IF(OR(COUNTIF(A2, "*aa*"), COUNTIF(A2, "*bb*")), "Yes", "")
دو COUNTIF فنکشنز کو شامل کرنا بھی کام کرے گا۔ اس صورت میں، جمع کا نشان OR آپریٹر کی طرح کام کرتا ہے:
=IF(COUNTIF(A3, "*aa*") + COUNTIF(A3, "*bb*"), "Yes", "")
فارمولے میں وائلڈ کارڈ کے تاروں کو ہارڈ کوڈنگ کرنے کے بجائے، آپ انہیں الگ سیلز میں ڈال سکتے ہیں، جیسا کہ دکھایا گیا ہے، D2 اور F2 کہیں۔ ذیل میں اسکرین شاٹ میں۔ براہ کرم نوٹ کریں کہ یہسیل کے حوالہ جات کو $ کے نشان کے ساتھ بند کر دیا گیا ہے تاکہ فارمولہ درج ذیل سیلز میں صحیح طریقے سے کاپی ہو جائے:
=IF(OR(COUNTIF(A2, "*"&$D$2&"*"), COUNTIF(A2, "*"&$F$2&"*")), "Yes", "")
اوپر والے فارمولے 2 جزوی میچوں کے لیے اچھی طرح کام کرتے ہیں۔ لیکن اگر آپ 3 یا اس سے زیادہ تلاش کر رہے ہیں، تو وہ بہت لمبے ہو جائیں گے۔ اس صورت میں، یہ کام کو مختلف طریقے سے رجوع کرنے کی وجہ سے کھڑا ہے:
سرنی مستقل میں SEARCH فنکشن میں متعدد ذیلی اسٹرنگس فراہم کریں، واپس کیے گئے نمبروں کو شمار کریں، اور چیک کریں کہ آیا نتیجہ صفر سے زیادہ ہے (جس کا مطلب ہوگا کہ اگر کم از کم ایک ذیلی سٹرنگ مل جائے تو:
=IF(COUNT(SEARCH({"aa","bb"}, A2))>0, "Yes", "")
اس طرح، آپ کو زیادہ کمپیکٹ فارمولے کے ساتھ بالکل وہی نتیجہ ملے گا:
وائلڈ کارڈز کے ساتھ ایکسل IF اور فارمولہ
جب آپ یہ چیک کرنا چاہتے ہیں کہ آیا سیل میں دو یا زیادہ مختلف ذیلی اسٹرنگز ہیں، تو سب سے آسان طریقہ یہ ہے کہ منطقی جانچ کے لیے وائلڈ کارڈز کے ساتھ COUNTIFS فنکشن کا استعمال کریں۔<3
فرض کریں کہ آپ کالم A میں سیلز تلاش کرنا چاہتے ہیں جس میں "b" اور "2" دونوں شامل ہوں۔ اسے مکمل کرنے کے لیے، COUNTIFS کے معیار کے لیے "*b*" اور "*2*" اور معیار کی حد کے لیے A2 استعمال کریں:
=IF(COUNTIFS(A2, "*b*", A2, "*2*"), "Yes", "")
دوسرا طریقہ یہ ہے کہ IF اور فارمولے کو ایک ساتھ استعمال کریں۔ ISNUMBER تلاش کے ساتھ:
=IF(AND(ISNUMBER(SEARCH("b", A2)), ISNUMBER(SEARCH("2", A2))), "Yes", "")
اگرچہ ہم اس فارمولے میں کوئی وائلڈ کارڈ کریکٹر شامل نہیں کرتے ہیں، لیکن یہ دو وائلڈ کارڈ سٹرنگز ("*b*" اور "*2*" تلاش کرنے کی طرح کام کرتا ہے۔ ) ایک ہی سیل میں۔
یقیناً، کچھ بھی آپ کو پہلے سے طے شدہ سیلز میں تلاش کی قدریں داخل کرنے سے نہیں روکتا، ہمارے معاملے میں D2 اور F2، اور سپلائیسیل اس فارمولے کا حوالہ دیتا ہے:
=IF(AND(ISNUMBER(SEARCH($D$2, A2)), ISNUMBER(SEARCH($F$2, A2))), "Yes", "")
اگر آپ جہاں بھی ممکن ہو زیادہ کمپیکٹ فارمولے استعمال کرنے کو ترجیح دیتے ہیں، تو آپ کو سرنی مستقل نقطہ نظر کو بہتر پسند ہوسکتا ہے۔ IF COUNT SEARCH فارمولہ بالکل پچھلی مثال کی طرح ہے، لیکن چونکہ اس بار دونوں ذیلی اسٹرنگز A2 میں ظاہر ہونے چاہئیں، ہم چیک کرتے ہیں کہ آیا شمار 2 کے برابر ہے:
=IF(COUNT(SEARCH({"b","2"}, A2))=2, "Yes", "")
<17
یہ ایکسل میں IF اسٹیٹمنٹ میں وائلڈ کارڈ استعمال کرنے کے اہم طریقے ہیں۔ اگر آپ کوئی اور حل جانتے ہیں، تو دوسرے صارفین یقینی طور پر تعریف کریں گے اگر آپ تبصروں میں اپنا تجربہ شیئر کریں۔ میں پڑھنے کے لیے آپ کا شکریہ ادا کرتا ہوں اور امید کرتا ہوں کہ آپ کو اگلے ہفتے ہمارے بلاگ پر ملوں گا!
ڈاؤن لوڈ کے لیے پریکٹس ورک بک
Excel IF وائلڈ کارڈ فارمولے کی مثالیں (.xlsx فائل)