विषयसूची
जब हमारे पास बड़ी मात्रा में डेटा होता है तो कभी-कभी डेटासेट से कोई विशिष्ट डेटा निकालना कठिन होता है। एक्सेल के INDEX और MATCH फंक्शंस के साथ मिलकर किसी भी तरह के डेटा को विशाल डेटासेट में भी पुनर्प्राप्त कर सकते हैं। एक्सेल में किसी भी ऑपरेशन को चलाने के लिए VBA को लागू करना सबसे प्रभावी, तेज और सबसे सुरक्षित तरीका है। इस लेख में, हम आपको एक्सेल में VBA मैक्रो के साथ कई मानदंडों के आधार पर INDEX MATCH प्रदर्शन करने के तरीके पर 3 अलग-अलग तरीके दिखाएंगे।
डाउनलोड करें कार्यपुस्तिका
आप यहां से निःशुल्क अभ्यास एक्सेल कार्यपुस्तिका डाउनलोड कर सकते हैं।
VBA INDEX MATCH Based on Multiple Criteria.xlsm<4 एक्सेल में कई मानदंडों के आधार पर वीबीए इंडेक्स मैच के साथ 3 तरीके
निम्नलिखित अनुभागों में, हम आपको दिखाएंगे कि एक श्रेणी के लिए कई मानदंडों के आधार पर इंडेक्स मैच कैसे करें , किसी विशिष्ट चयन के लिए और किसी तालिका के लिए एक्सेल में VBA के साथ।
ऊपर हमारे पास डेटासेट है जिसका यह लेख अनुसरण करेगा। हमारे पास डेटासेट में प्रत्येक छात्र का छात्र का नाम , छात्र आईडी, और परीक्षा के अंक हैं। हम अन्य दो कॉलमों की शर्तों के आधार पर एक कॉलम में रहने वाले एक निश्चित परिणाम को निकालेंगे।
मानदंड - 1: एक्सेल में मल्टीपल (दो) डायमेंशनल लुकअप के लिए इंडेक्स मैच के साथ वीबीए एम्बेड करें
निम्न छवि पर विचार करें। हमने एक विशिष्ट छात्र का नाम " Edge" सेल में संग्रहीत किया हैजी4 ; और वह कॉलम जिसे हम परिणाम में खोज रहे होंगे, परीक्षा के अंक , सेल G5 में संग्रहीत है। हम परीक्षा के अंक कॉलम में खोजेंगे और अंक संग्रहीत करेंगे जो " Edge" सेल G6 में मिला था।
<0एक्सेल में VBA के साथ INDEX और MATCH के साथ द्वि-आयामी सरणी में परिणाम देखने के चरण नीचे दिए गए हैं।
स्टेप्स:
- शुरुआत में अपने कीबोर्ड पर Alt + F11 दबाएं या टैब डेवलपर -> विजुअल बेसिक विजुअल बेसिक एडिटर खोलने के लिए।
- अगला, पॉप-अप कोड विंडो में, से मेनू बार, डालें -> मॉड्यूल ।
7395
आपका कोड अब चलने के लिए तैयार है।
- अब, अपने पर F5 दबाएं कीबोर्ड या मेनू बार से Run -> Sub/UserForm चलाएँ। आप मैक्रो को रन करने के लिए सब-मेन्यू बार में छोटे रन आइकन पर भी क्लिक कर सकते हैं।
कोड निष्पादन के बाद, परिणाम देखने के लिए नीचे दिए गए GIF को देखें।
परिणामस्वरूप, मार्क्स कि " एज" को मिला परीक्षा, 67 , सेल G7 में पुनर्प्राप्त किया गया है।
VBA कोड स्पष्टीकरण
9352
वर्कशीट के वेरिएबल को परिभाषित करना।
9971
वर्कशीट नाम को स्टोर करें। हमारी शीट का नाम "दो आयाम" है, आपको प्रदान करना चाहिएआपकी स्प्रैडशीट के अनुसार नाम।
8064
कोड का यह भाग C5:D14 श्रेणी को लुकअप श्रेणी के रूप में चुनता है। फिर वह मिलान खोजें जो सेल G4 श्रेणी B5:B14 में संग्रहीत है और वह मिलान खोजें जो सेल G5 श्रेणी में संग्रहीत है C4:D4 और सेल G6 को परिणाम पास करें।
और पढ़ें: तिथि सीमा के लिए एकाधिक मानदंड के साथ INDEX MATCH का उपयोग कैसे करें
मानदंड - 2: उपयोगकर्ता-परिभाषित फ़ंक्शन (UDF) के साथ INDEX द्वारा मिलान मूल्य खोजने के लिए मैक्रो लागू करें
आप किसी डेटासेट से मिलान किए गए मान निकाल सकते हैं यूज़र-डिफ़ाइंड फ़ंक्शन (यूडीएफ) । निम्नलिखित छवि से, हम क्या करने जा रहे हैं, हम एक निश्चित छात्र के छात्र आईडी और परीक्षा के अंक पास करेंगे और समारोह हमें नाम उस विशिष्ट छात्र का।
आइए देखें कि छात्र का नाम "फिन" VBA के साथ इसे कैसे प्राप्त किया जाए।
चरण:
- जैसा कि पहले दिखाया गया है, डेवलपर टैब से विजुअल बेसिक संपादक खोलें और कोड विंडो में एक मॉड्यूल डालें।
- फिर, कोड विंडो में, कॉपी करें निम्न कोड और पेस्ट करें ।
2626
- इस कोड को न चलाएं, इसे सेव करें इसे।
- अब, रुचि के वर्कशीट पर वापस जाएं। कोई भी सेल चुनें जिसे आप परिणाम संग्रहित करना चाहते हैं। हमारे मामले में, यह सेल F5 है।
- उस सेल में, लिखें यूडीएफ आपकोड में अभी बनाया है ( MatchByIndex ) और छात्र आईडी और परीक्षा के अंक पास करें फ़ंक्शन के कोष्ठकों के अंदर विशिष्ट छात्र।
जैसा हम उनकी ID (105) और Marks (84) से नाम “ Finn” निकालने की कोशिश कर रहे हैं, इसलिए हमारे मामले के लिए सूत्र बन जाता है,<3 =MatchByIndex(105,84)
- फिर, एंटर दबाएं।
निम्न छवि को देखें।
सेल F5 में, हमने " फिन"<2 नाम को सफलतापूर्वक प्राप्त कर लिया है> बस उसकी ID और मार्क्स को फ़ंक्शन के अंदर पास करके जिसे हमने VBA कोड में बनाया था।
VBA कोड स्पष्टीकरण
6479
एक नया फ़ंक्शन बनाना और उसके अंदर वेरिएबल पास करना। आप फ़ंक्शन को कोई भी नाम परिभाषित कर सकते हैं।
8423
हमारी पंक्ति पंक्ति संख्या 4 से शुरू होती है। आपको वह पंक्ति संख्या प्रदान करनी होगी जिससे आपका डेटासेट शुरू होता है।
6068
चरों को परिभाषित करना।
8738
सबसे पहले, कार्यपत्रक को परिभाषित करें जिसके साथ काम करना है। हमारी शीट का नाम "यूडीएफ" है, आपको अपनी स्प्रेडशीट के अनुसार नाम प्रदान करना चाहिए। फिर पहली पंक्ति से C:D श्रेणी में खोजना शुरू करें जिसे हमने अंतिम पंक्ति में परिभाषित किया था।
4696
पहली पंक्ति से अंतिम पंक्ति तक पुनरावृति शुरू करें। यदि पहला मान जिसे हम फ़ंक्शन के अंदर पास करेंगे, C कॉलम के अंदर आता है और यदि दूसरा मान जिसे हम फ़ंक्शन के अंदर पास करेंगे, वह D कॉलम के अंदर आता है, तो यह वापस आ जाएगा B कॉलम से मिलान करें। अन्यथा, फ़ंक्शन से बाहर निकलें, सभी कथनों को समाप्त करें, और अगली पंक्ति पर जाएं।
2223
यदि निष्पादित करते समय पिछली शर्त पूरी नहीं होती है, तो "डेटा नहीं मिला" संदेश लौटाया जाएगा और कोड फ़ंक्शन को छोड़ देगा।
और पढ़ें: एक्सेल में आंशिक पाठ के लिए एकाधिक मानदंड के साथ INDEX-MATCH (2 तरीके)
मानदंड - 3: एक्सेल में एकाधिक डेटा वाली तालिका से मिलान मूल्य वापस करने के लिए VBA लागू करें
इस अनुभाग में, हम सीखेंगे कि कैसे किसी तालिका से अनुक्रमणिका द्वारा मिलान किए गए मान को वापस करना है MsgBox में VBA एक्सेल में।
आइए देखें कि हमारी तालिका में दिखाई गई तालिका से मार्क्स कैसे निकालें। डेटासेट ( T सक्षम नाम: TableMatch ) कोड के अंदर नाम और ID प्रदान करके एक निश्चित छात्र का। हमारे मामले के लिए, नाम और आईडी क्रमशः फिन और 105 होगा।
चरण :
- सबसे पहले, डेवलपर टैब से विज़ुअल बेसिक एडिटर खोलें और मॉड्यूल डालें > कोड विंडो में।
- फिर, निम्नलिखित कोड को कॉपी करें और पेस्ट करें इसे कोड विंडो में।
1893
आपका कोड अब चलाने के लिए तैयार है।
- बाद में, इस कोड को चलाएं और परिणाम के रूप में क्या हुआ यह देखने के लिए निम्न चित्र देखें।
जैसा कि आप उपरोक्त छवि से देख सकते हैं, एक माइक्रोसॉफ्ट एक्सेल पॉप है-अप संदेश बॉक्स आपको मार्क्स: 84 आईडी: 105 और नाम: फिन दिखा रहा है जो हमने कोड के अंदर प्रदान किया था।
<7VBA कोड स्पष्टीकरण
4743
चरों को परिभाषित करना।
4975
चर के अंदर शीट का नाम और टेबल का नाम सेट करना।
7171
स्टोर करना लुकअप मान और खोजने के लिए लुकअप कॉलम।
1945
कोड का यह भाग सबस्क्रिप्ट के प्रारंभ से अंत तक स्कैन करता है और यदि यह खोज कॉलम में परिभाषित आईडी और नाम का मिलान पाता है तो परिणाम को स्टोर करें और सभी कथनों को बंद करें। इसके अलावा, पुनरावृति से बाहर निकलें और कोड के अगले भाग पर जाएं।
1863
परिणाम को MsgBox में फेंकता है।
और पढ़ें: लुकअप और रिटर्न एक्सेल में एक सेल में कई मान जुड़े हुए
निष्कर्ष
निष्कर्ष निकालने के लिए, इस लेख ने आपको इंडेक्स मैच आधारित प्रदर्शन करने के तरीके पर 3 अलग-अलग तरीके दिखाए एकाधिक मानदंडों पर एक्सेल में VBA मैक्रो के साथ। मुझे उम्मीद है कि यह लेख आपके लिए बहुत फायदेमंद रहा होगा। विषय से संबंधित कोई भी प्रश्न बेझिझक पूछें।