فہرست کا خانہ
جب ہمارے پاس ڈیٹا کی بڑی مقدار ہوتی ہے تو بعض اوقات ڈیٹاسیٹ سے کوئی مخصوص ڈیٹا نکالنا مشکل ہوتا ہے۔ Excel کے INDEX اور MATCH فنکشنز کے ساتھ مل کر کسی بھی قسم کا ڈیٹا حاصل کر سکتے ہیں یہاں تک کہ بڑے ڈیٹا سیٹ میں بھی۔ ایکسل میں کسی بھی آپریشن کو چلانے کے لیے VBA کو نافذ کرنا سب سے مؤثر، تیز ترین اور محفوظ ترین طریقہ ہے۔ اس آرٹیکل میں، ہم آپ کو 3 مختلف طریقے دکھائیں گے کہ کس طرح ایکسل میں VBA میکرو کے ساتھ INDEX MATCH متعدد معیاروں کی بنیاد پر انجام دیا جائے۔
ڈاؤن لوڈ کریں۔ ورک بک
آپ یہاں سے مفت پریکٹس Excel ورک بک ڈاؤن لوڈ کر سکتے ہیں۔
VBA INDEX MATCH ایک سے زیادہ Criteria.xlsm پر مبنی<4 1 2>، کسی مخصوص انتخاب کے لیے اور ٹیبل کے لیے ایکسل میں VBA کے ساتھ۔
اوپر ہمارے پاس ڈیٹاسیٹ ہے جس کی پیروی یہ مضمون کرے گا۔ ہمارے پاس ڈیٹا سیٹ میں ہر طالب علم کے طالب علم کا نام ، طالب علم کی ID، اور امتحانی نمبرز ہیں۔ ہم دوسرے دو کالموں کی شرائط کی بنیاد پر ایک کالم میں موجود ایک مخصوص نتیجہ نکالیں گے۔
معیار – 1: ایکسل میں ایک سے زیادہ (دو) جہتی تلاش کے لیے INDEX MATCH کے ساتھ VBA ایمبیڈ کریں
مندرجہ ذیل تصویر پر غور کریں۔ ہم نے ایک مخصوص طالب علم کا نام " Edge" سیل میں محفوظ کیا ہے۔G4 ; اور جس کالم کو ہم نتیجہ میں تلاش کریں گے، امتحانی نمبر ، وہ سیل G5 میں محفوظ ہے۔ ہم امتحانی مارکس کالم میں تلاش کریں گے اور مارکس کو اسٹور کریں گے جو " Edge" سیل G6 میں ملے ہیں۔
<0تلاش کرنے کے اقدامات کے نتیجے میں VBA کے ساتھ ایکسل میں INDEX اور MATCH کے ساتھ دو جہتی صف نیچے دیے گئے ہیں۔
اسٹیپس:
- شروع میں، اپنے کی بورڈ پر Alt + F11 دبائیں یا اس پر جائیں ٹیب ڈیولپر -> بصری بنیادی کھولنے کے لیے Visual Basic Editor .
- اس کے بعد، پاپ اپ کوڈ ونڈو میں، مینو بار، کلک کریں داخل کریں -> ماڈیول ۔
- پھر، درج ذیل کوڈ کو کاپی کریں اور اسے کوڈ میں پیسٹ کریں ونڈو۔
2979
آپ کا کوڈ اب چلنے کے لیے تیار ہے۔
- اب، دبائیں F5 کی بورڈ یا مینو بار سے منتخب کریں چلائیں -> ذیلی/یوزر فارم چلائیں۔ آپ میکرو کو چلانے کے لیے ذیلی مینو بار میں موجود چھوٹے رن آئیکن پر کلک بھی کر سکتے ہیں۔
کوڈ کے نفاذ کے بعد، نتیجہ دیکھنے کے لیے نیچے دیے گئے gif کو دیکھیں۔
نتیجے کے طور پر، مارکس جو کہ " Edge" کو حاصل ہوئے امتحان، 67 ، سیل G7 میں بازیافت کیا گیا ہے۔
VBA کوڈ کی وضاحت
3682
ورک شیٹ کے متغیر کی وضاحت۔
7393
ورک شیٹ کا نام اسٹور کریں۔ ہماری شیٹ کا نام "Two Dimension" ہے، آپ کو فراہم کرنا چاہیے۔آپ کی اسپریڈشیٹ کے مطابق نام۔
9313
کوڈ کا یہ ٹکڑا رینج C5:D14 کو تلاش کی حد کے طور پر منتخب کرتا ہے۔ پھر اس میچ کو تلاش کریں جو سیل G4 رینج B5:B14 میں محفوظ ہے اور اس میچ کو تلاش کریں جو سیل G5 رینج میں محفوظ ہے۔ C4:D4 اور نتیجہ سیل G6 کو بھیجیں۔
مزید پڑھیں: تاریخ کی حد کے لیے متعدد معیارات کے ساتھ INDEX MATCH کا استعمال کیسے کریں
معیار - 2: یوزر ڈیفائنڈ فنکشن (UDF) کے ساتھ INDEX کے ذریعے میچ ویلیو تلاش کرنے کے لیے میکرو کا اطلاق کریں
آپ ڈیٹاسیٹ سے مماثل اقدار کو ایک کے ساتھ نکال سکتے ہیں۔ صارف سے طے شدہ فنکشن (UDF) ۔ مندرجہ ذیل تصویر سے، ہم کیا کرنے جا رہے ہیں، ہم ایک مخصوص طالب علم کے طالب علم کی شناخت اور امتحانی نمبر پاس کریں گے اور فنکشن ہمیں نام<پھینک دے گا۔ اس مخصوص طالب علم کا 2 3>
مرحلہ:
- جیسا کہ پہلے دکھایا گیا ہے، Developer ٹیب اور سے Visual Basic Editor کھولیں۔ کوڈ ونڈو میں ایک ماڈیول داخل کریں۔
- پھر، کوڈ ونڈو میں، درج ذیل کوڈ کو کاپی اور پیسٹ کریں ۔
2160
- اس کوڈ کو نہ چلائیں، محفوظ کریں اسے۔
- اب، ورک شیٹ پر واپس جائیں دلچسپی والی۔ کسی بھی سیل کو منتخب کریں جسے آپ نتیجہ ذخیرہ کرنا چاہتے ہیں۔ ہمارے معاملے میں، یہ سیل F5 ہے۔
- اس سیل میں، لکھیں UDF آپنے ابھی کوڈ ( MatchByIndex ) میں بنایا ہے اور فنکشن کے قوسین کے اندر مخصوص طالب علم کی Student ID اور امتحان کے نمبرز پاس کریں ۔
بطور ہم اس کی ID (105) اور مارکس (84) سے " Finn" نام نکالنے کی کوشش کر رہے ہیں، لہذا ہمارے معاملے کے لیے فارمولا بن جاتا ہے،
=MatchByIndex(105,84)
- پھر، دبائیں Enter ۔
مندرجہ ذیل تصویر کو دیکھیں۔
24>
سیل F5 میں، ہم نے کامیابی کے ساتھ " Finn"<2 کا نام حاصل کر لیا ہے۔ VBA کوڈ میں بنائے گئے فنکشن کے اندر اس کی ID اور مارکس کو صرف پاس کرکے۔
VBA کوڈ کی وضاحت
5338
ایک نیا فنکشن بنانا اور اس کے اندر متغیرات کو پاس کرنا۔ آپ فنکشن کے لیے کسی بھی نام کی وضاحت کر سکتے ہیں۔
5673
ہماری قطار قطار نمبر 4 سے شروع ہوتی ہے۔ آپ کو وہ قطار نمبر فراہم کرنا چاہیے جس سے آپ کا ڈیٹا سیٹ شروع ہوتا ہے۔
6081
متغیرات کی وضاحت۔
2495
سب سے پہلے، ورک شیٹ کی وضاحت کریں جس کے ساتھ کام کرنا ہے۔ ہماری شیٹ کا نام "UDF" ہے، آپ کو اپنی اسپریڈشیٹ کے مطابق نام فراہم کرنا چاہیے۔ پھر اس رینج میں تلاش کرنا شروع کریں C:D پہلی قطار سے جس کی وضاحت ہم نے آخری قطار تک کی ہے۔
2497
پہلی قطار سے آخری قطار تک تکرار کرنا شروع کریں۔ اگر پہلی ویلیو جو ہم فنکشن کے اندر پاس کریں گے وہ C کالم کے اندر آتی ہے اور اگر دوسری ویلیو جو ہم فنکشن کے اندر پاس کریں گے وہ D کالم کے اندر آتی ہے تو یہ واپس آجائے گی۔ دی B کالم سے میچ کریں۔ بصورت دیگر، فنکشن سے باہر نکلیں، تمام اسٹیٹمنٹس کو ختم کریں، اور اگلی لائن پر جائیں۔
6728
اگر عمل کرتے وقت پچھلی شرط پوری نہیں ہوتی ہے، تو "ڈیٹا ناٹ فاؤنڈ" پیغام واپس آجائے گا اور کوڈ فنکشن کو چھوڑ دے گا۔
مزید پڑھیں: ایکسل میں جزوی متن کے لیے متعدد معیارات کے ساتھ INDEX-MATCH (2 طریقے)
معیار – 3: ایکسل میں ایک سے زیادہ ڈیٹا والے ٹیبل سے میچ ویلیو واپس کرنے کے لیے VBA لاگو کریں
اس سیکشن میں، ہم سیکھیں گے کہ ٹیبل سے انڈیکسز کے ذریعے مماثل قدر واپس کرنے کا طریقہ MsgBox میں VBA ایکسل میں۔ کوڈ کے اندر نام اور ID فراہم کرکے کسی خاص طالب علم کا ڈیٹا سیٹ ( T قابل نام: TableMatch )۔ ہمارے کیس کے لیے، نام اور ID بالترتیب Finn اور 105 ہوں گے۔
اقدامات :
- سب سے پہلے، Developer ٹیب سے Visual Basic Editor کھولیں اور Insert a Module کوڈ ونڈو میں۔
- پھر، درج ذیل کوڈ کو کاپی کریں اور چسپاں کریں کوڈ ونڈو میں۔
1958
آپ کا کوڈ اب چلانے کے لیے تیار ہے۔
- بعد میں، اس کوڈ کو چلائیں اور مندرجہ ذیل تصویر کو دیکھیں کہ اس کے نتیجے میں کیا ہوا۔
جیسا کہ آپ اوپر کی تصویر سے دیکھ سکتے ہیں، وہاں ایک Microsoft Excel پاپ ہے۔اپ میسج باکس آپ کو دکھا رہا ہے مارکس: 84 کا ID: 105 اور نام: Finn جو ہم نے کوڈ کے اندر فراہم کیا ہے۔
<7VBA کوڈ کی وضاحت
9600
متغیرات کی وضاحت۔
2007
شیٹ کا نام اور ٹیبل کا نام متغیر کے اندر سیٹ کرنا۔
8604
اسٹورنگ تلاش کرنے کے لیے تلاش کی قدریں اور تلاش کے کالم۔
3220
کوڈ کا یہ ٹکڑا سب اسکرپٹ کے شروع سے آخر تک اسکین کرتا ہے اور اگر اسے تلاش کے کالموں میں متعین ID اور نام کا مماثل ملتا ہے تو نتیجہ ذخیرہ کریں اور تمام بیانات کو بند کریں۔ اس کے علاوہ، تکرار سے باہر نکلیں اور کوڈ کے اگلے حصے پر جائیں۔
3547
نتیجہ کو MsgBox میں پھینکتا ہے۔
مزید پڑھیں: لوک اپ اور واپسی ایکسل میں متعدد قدریں ایک سیل میں مربوط ہیں
نتیجہ
اختتام کے لیے، اس مضمون نے آپ کو INDEX MATCH کی بنیاد پر انجام دینے کے 3 مختلف طریقے دکھائے ہیں۔ متعدد معیاروں پر ایکسل میں VBA میکرو کے ساتھ۔ مجھے امید ہے کہ یہ مضمون آپ کے لیے بہت فائدہ مند رہا ہے۔ موضوع سے متعلق کوئی بھی سوال پوچھیں۔