TOP

बेहतर फ़ंक्शन VLOOKUP (VLOOKUP2)

विवरण

अंतर्निहित फ़ंक्शन VLOOKUP Excel में सबसे शक्तिशाली फ़ंक्शन में से एक है। लेकिन इसमें एक महत्वपूर्ण खामी है - यह तालिका में वांछित मान की केवल पहली घटना पाता है और केवल सबसे दाएँ कॉलम में। लेकिन अगर आपको दूसरे, तीसरे और आखिरी की नहीं चाहिए तो?


किसी समस्या का एक उदाहरण

मान लीजिए कि हमारे पास संसाधित ऋणों की एक तालिका इस प्रकार है:

उदाहरण के लिए, हमें यह जानने की जरूरत है कि माइक को जारी किए गए तीसरे ऋण की राशि क्या थी या जॉन ने अपना दूसरा समझौता कब निष्पादित किया था। अंतर्निहित फ़ंक्शन VLOOKUP तालिका में किसी नाम की केवल पहली घटना को खोजना जानता है और हमारी सहायता नहीं करेगा।

आइए अपना फ़ंक्शन लिखें, जो न केवल पहली, बल्कि किसी भी बाद की (Nth) प्रविष्टि को भी खोजेगा। आइए इसे कॉल करें, उदाहरण के लिए, VLOOKUP2।

VBA फ़ंक्शन के लिए कोड 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 )

विषय पर लेख: