अंतर्निहित फ़ंक्शन 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)
'moonexcel.com.ua
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(A2:A19; 1; "Mike"; 3; 4)