अंतर्निहित फ़ंक्शन VLOOKUP Excel में सबसे शक्तिशाली फ़ंक्शन में से एक है। लेकिन इसमें एक महत्वपूर्ण खामी है - यह तालिका में वांछित मान की केवल पहली घटना पाता है और केवल सबसे दाएँ कॉलम में। लेकिन अगर आपको दूसरे, तीसरे और आखिरी की नहीं चाहिए तो?
मान लीजिए कि हमारे पास संसाधित ऋणों की एक तालिका इस प्रकार है:
उदाहरण के लिए, हमें यह जानने की जरूरत है कि माइक को जारी किए गए तीसरे ऋण की राशि क्या थी या जॉन ने अपना दूसरा समझौता कब निष्पादित किया था। अंतर्निहित फ़ंक्शन VLOOKUP तालिका में किसी नाम की केवल पहली घटना को खोजना जानता है और हमारी सहायता नहीं करेगा।
आइए अपना फ़ंक्शन लिखें, जो न केवल पहली, बल्कि किसी भी बाद की (Nth) प्रविष्टि को भी खोजेगा। आइए इसे कॉल करें, उदाहरण के लिए, VLOOKUP2।
मेनू खोलें सेवा - मैक्रो - संपादक Visual Basic , नया मॉड्यूल डालें (मेनू Insert - Module) और इस फ़ंक्शन के टेक्स्ट को वहां कॉपी करें:
Function VLOOKUP2(Table As Range, _ SearchColumnNum As Integer, _ SearchValue As Variant, _ N As Integer, _ ResultColumnNum As Integer) Dim i As Integer Dim iCount As Integer For i = 1 To Table.Rows.Count If Table.Cells(i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 End If If iCount = N Then VLOOKUP2 = Table.Cells(i, ResultColumnNum) Exit For End If Next i End Function
Visual Basic संपादक को बंद करें और Excel पर वापस लौटें।
अब फ़ंक्शन विज़ार्ड में, उपयोगकर्ता परिभाषित श्रेणी में, आप हमारे VLOOKUP2 फ़ंक्शन को ढूंढ और उपयोग कर सकते हैं। फ़ंक्शन का सिंटैक्स इस प्रकार है:
=VLOOKUP2(मेज़ ; कॉलम_नंबर_कहां_हम_खोजते हैं ; खोजा_मूल्य; प्रवेश संख्या ; कॉलम_नंबर_जिससे_हम_मान_लेते हैं )
अर्थात्, माइक को जारी किए गए तीसरे ऋण की राशि जानने के लिए, आपको यह दर्ज करना होगा:
=VLOOKUP2(ए2:ए19 ; 1 ; "Mike"; 3 ; 4 )