Die integrierte Funktion VLOOKUP ist eine der leistungsstärksten Funktionen in Excel. Es hat jedoch einen wesentlichen Nachteil: Es findet nur das erste Vorkommen des gewünschten Werts in der Tabelle und nur in der Spalte ganz rechts. Aber wenn Sie den 2., 3. und nicht den letzten brauchen?
Nehmen wir an, wir haben eine Tabelle mit bearbeiteten Krediten wie diese:
Wir müssen zum Beispiel wissen, wie hoch der Betrag des dritten Kredits war, der Mike gewährt wurde, oder wann John seinen zweiten Vertrag ausführte. Integrierte Funktion VLOOKUP weiß, wie man nur das erste Vorkommen eines Namens in der Tabelle durchsucht und wird uns nicht weiterhelfen.
Schreiben wir unsere Funktion, die nicht nur das erste, sondern auch jedes nachfolgende (N-te) Vorkommen durchsucht. Nennen wir es zum Beispiel VLOOKUP2.
Öffnen Sie das Menü Dienst – Makro – Editor Visual Basic , Setzen Sie das neue Modul ein (Speisekarte Insert - Module ) und kopieren Sie den Text dieser Funktion dorthin:
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
Schließen Sie den Editor Visual Basic und kehren Sie zu Excel zurück.
Jetzt in Funktionsassistenten in der Kategorie Benutzerdefinierte Sie können unsere Funktion VLOOKUP2 finden und verwenden. Die Syntax der Funktion ist wie folgt:
=VLOOKUP2( Tisch ; Column_number_where_we_search ; gesuchter_Wert; Eintrittsnummer ; Column_number_from_which_we_take_the_value )
Das heißt, um den Betrag des dritten an Mike vergebenen Darlehens zu ermitteln, müssen Sie Folgendes eingeben:
=VLOOKUP2(A2:A19; 1; "Mike"; 3; 4)