VBA इंडेक्स मैच - VBA (उदाहरण) में सूचकांक मिलान फ़ंक्शन का उपयोग कैसे करें

VBA में इंडेक्स मैच

VEX संयोजन में INDEX & MATCH फ़ंक्शन एक्सेल में VLOOKUP फ़ंक्शन का विकल्प है। VBA में, हमारे पास सीधे INDEX & MATCH फ़ंक्शन का उपयोग करने की विलासिता नहीं है क्योंकि ये दोनों फ़ंक्शन VBA निर्मित कार्यों का हिस्सा नहीं हैं। हालाँकि, हम अभी भी वर्कशीट फ़ंक्शन क्लास के हिस्से के रूप में उनका उपयोग कर सकते हैं।

VBA में इंडेक्स मैच का उपयोग कैसे करें? (क्रमशः)

उदाहरण के लिए, नीचे दिए गए डेटा को देखें।

उपरोक्त डेटा में, लुकअप मान विभाग का नाम है, और इस विभाग के नाम के आधार पर, हमें वेतन राशि निकालने की आवश्यकता है।

लेकिन यहाँ समस्या यह है कि परिणाम कॉलम पहले में है, और परिणाम स्तंभ के बाद लुकअप मान स्तंभ है। इस मामले में, VLOOKUP वेतन राशि नहीं ला सकता क्योंकि VLOOKUP केवल दाएं से बाएं, बाएं से दाएं काम करता है।

इन मामलों में, हमें VBA INDEX & MATCH फ़ंक्शन के संयोजन सूत्र का उपयोग करने की आवश्यकता है। आइए VBA कोड में प्रत्येक विभाग की वेतन राशि खोजने का कार्य करते हैं।

चरण 1: सूर्य की दिनचर्या शुरू करें।

चरण 2: VBA पूर्णांक चर घोषित करें।

कोड:

उप INDEX_MATCH_Example1 () Dim k As Integer End Sub

चरण 3: अब VBA में नेक्स्ट लूप के लिए खोलें।

कोड:

उप INDEX_MATCH_Example1 () Dim k As Integer For k = 2 To 5 Next k End उप

चरण 4: VBA लूप के अंदर, सूत्र निष्पादित करें। 5 वें कॉलम में, हमें सूत्र लागू करने की आवश्यकता है, इसलिए कोड CELLS (k, 5) है ।Value

कोड:

उप INDEX_MATCH_Example1 () Dim k As Integer For k = 2 To 5 Cells (K, 5) .Value = अगला k End उप।

चरण 5: उस सेल में, हमें VBA INDEX & MATCH फॉर्मूला लागू करना होगा। जैसा कि मैंने बताया, हमें इन कार्यों को VBA वर्ग में वर्कशीट फ़ंक्शन के रूप में उपयोग करने की आवश्यकता है, इसलिए वर्कशीट फ़ंक्शन क्लास खोलें।

कोड:

उप INDEX_MATCH_Example1 () Dim k As Integer For k = 2 To 5 Cells (K, 5) .Value = WorksheetFunction। अगला k अंत उप

चरण 6: वर्कशीट फ़ंक्शन क्लास में प्रवेश करने के बाद, हम सभी उपलब्ध वर्कशीट फ़ंक्शन देख सकते हैं, इसलिए INDEX फ़ंक्शन का चयन करें।

कोड:

उप INDEX_MATCH_Example1 () Dim k As Integer For k = 2 To 5 Cells (K, 5) .Value = WorksheetFunction.Index (अगला k End End)

चरण 7: VBA में वर्कशीट फ़ंक्शन का उपयोग करते समय, आपको सूत्र के तर्कों के बारे में पूरी तरह सुनिश्चित होना चाहिए। पहला तर्क है अरै अर्थात, किस कॉलम से हमें परिणाम की आवश्यकता है। इस मामले में, हमें ए 2 से ए 5 तक परिणाम की आवश्यकता है।

कोड:

उप INDEX_MATCH_Example1 () Dim k As Integer For k = 2 To 5 Cells (K, 5) .Value = WorksheetFunction.Index (रेंज ("A2: A5"), नेक्स्ट एंड सब उप

चरण 8: अगला ऊपर उस पंक्ति संख्या से है जिसे हमें परिणाम की आवश्यकता है। जैसा कि हमने पहले के उदाहरण में देखा है, हम हर बार पंक्ति संख्या को मैन्युअल रूप से आपूर्ति नहीं कर सकते हैं। इसलिए MATCH फ़ंक्शन का उपयोग करें।

एक बार फिर MATCH फ़ंक्शन का उपयोग करने के लिए, हमें वर्कशीट फ़ंक्शन क्लास खोलने की आवश्यकता है।

कोड:

उप INDEX_MATCH_Example1 () Dim k As Integer For k = 2 To 5 Cells (K, 5) .Value = WorksheetFunction.Index (रेंज ("A2: A5"), WorksheetCunction.Match (Next k End Sub)

चरण 9: MATCH फ़ंक्शंस पहला तर्क LOOKUP मान है; यहाँ, हमारे लुकअप मूल्य विभाग के नाम हैं; यह वहाँ कोशिकाओं (2, 4) में है।

चूंकि हर बार पंक्ति संख्या को बदलना होता है, इसलिए हम मैन्युअल पंक्ति संख्या 2. कक्ष (k, 4) के स्थान पर चर "k" की आपूर्ति कर सकते हैं।

कोड:

उप INDEX_MATCH_Example1 () Dim k As Integer For k = 2 To 5 Cells (K, 5) .Value = WorksheetFunction.Index (रेंज ("A2: A5"), WorksheetCunction.Match (कक्ष, (k, 5) .Value, अगला। k एंड सब

चरण 10: अगला, हमें विभाग मूल्य सीमा यानी रेंज ("बी 2: बी 5") का उल्लेख करना होगा।

कोड:

उप INDEX_MATCH_Example1 () Dim k As Integer For k = 2 To 5 Cells (K, 5) .Value = WorksheetFunction.Index (रेंज ("A2: A5"), WorksheetCunction.Match (ks, 5) .Value, रेंज। ("बी 2: बी 5"),

अगला के

अंत उप

चरण 11: अगला, तर्क को 0 के रूप में रखें क्योंकि हमें एक सटीक मिलान की आवश्यकता है और कोष्ठक को बंद करें।

कोड:

उप INDEX_MATCH_Example1 () Dim k As Integer For k = 2 To 5 Cells (K, 5) .Value = WorksheetFunction.Index (रेंज ("A2: A5"), WorksheetCunction.Match (कक्ष, (k, 4) .Value, रेंज। ("बी 2: बी 5"), 0))

अगला के

अंत उप

ठीक है, हम कोडिंग भाग के साथ किया जाता है। कॉलम 5 में परिणाम के लिए कोड को रन करते हैं।

तो, हमें इसका परिणाम मिला।

हम इस सूत्र का उपयोग VLOOKUP फ़ंक्शन के विकल्प के रूप में कर सकते हैं।

दिलचस्प लेख...