वीबीए: एकाधिक मानदंडों के साथ इंडेक्स मैच का उपयोग कैसे करें
आप VBA में एकाधिक मानदंडों के साथ INDEX MATCH करने के लिए निम्नलिखित मूल सिंटैक्स का उपयोग कर सकते हैं:
SubIndexMatchMultiple ()
Range(" F3 ").Value = WorksheetFunction.Index(Range(" C2:C10 "), _
WorksheetFunction.Match(Range(" F1 "), Range(" A2:A10 "), 0) + _
WorksheetFunction.Match(Range(" F2 "), Range(" B2:B10 "), 0) - 1)
End Sub
यह विशेष उदाहरण श्रेणी A2:A10 में सेल F1 में मान और B2:B10 श्रेणी में सेल F2 में मान की तलाश करता है और सेल F3 में श्रेणी C2:C10 में संबंधित मान लौटाता है।
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।
उदाहरण: वीबीए का उपयोग करके कई मानदंडों के साथ एक इंडेक्स मैच निष्पादित करें
मान लीजिए कि हमारे पास एक्सेल में निम्नलिखित डेटासेट है जिसमें बास्केटबॉल खिलाड़ियों के बारे में जानकारी है:
मान लीजिए कि हम उस खिलाड़ी को ढूंढना चाहते हैं जो सेल F1 में टीम के नाम और सेल F2 में स्थिति से मेल खाता है और सेल F3 में नाम लौटाना चाहता है।
ऐसा करने के लिए हम निम्नलिखित मैक्रो बना सकते हैं:
SubIndexMatchMultiple ()
Range(" F3 ").Value = WorksheetFunction.Index(Range(" C2:C10 "), _
WorksheetFunction.Match(Range(" F1 "), Range(" A2:A10 "), 0) + _
WorksheetFunction.Match(Range(" F2 "), Range(" B2:B10 "), 0) - 1)
End Sub
जब हम इस मैक्रो को चलाते हैं, तो हमें निम्नलिखित आउटपुट प्राप्त होता है:
मैक्रो टीम कॉलम में “स्पर्स” और स्थिति कॉलम में “फॉरवर्ड” की खोज करता है और सेल F3 में “एरिक” नाम सही ढंग से लौटाता है।
यदि हम सेल F1 और F2 में मान बदलते हैं और मैक्रो को फिर से चलाते हैं, तो यह नए मानों के आधार पर प्लेयर का नाम ढूंढने में सक्षम होगा।
उदाहरण के लिए, मान लें कि हम टीम का नाम “Mavs” और स्थिति को “केंद्र” में बदलते हैं और मैक्रो को फिर से चलाते हैं:
मैक्रो टीम कॉलम में “Mavs” और स्थिति कॉलम में “सेंटर” की खोज करता है और सेल F3 में “Chad” नाम सही ढंग से लौटाता है।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि वीबीए में अन्य सामान्य कार्य कैसे करें:
वीबीए: सूचकांक मिलान का उपयोग कैसे करें
वीबीए: कैसे जांचें कि एक स्ट्रिंग में दूसरी स्ट्रिंग है या नहीं
वीबीए: श्रेणी में पंक्तियों की संख्या कैसे गिनें