Vlookup Metni
Standart Vlookup İşlevi, bir tablo içinde bir değer bulmak için kullanılabilir:
Ve DÜŞEYARA'yı şöyle kullanırdık:
=DÜŞEYARA(A1:10,"Köpek",2,YANLIŞ)
30 değerini vermek için
Ancak bu listede Dog'un 3 kez gerçekleştiğini görüyoruz. Standart DÜŞEYARA işlevi yalnızca bu listedeki ilk öğeyle ilişkili değeri döndürür. Bu listedeki 2. veya 3. "köpek" örneğiyle 125 veya 9.250'yi döndürmez.
Vlookup Birden Çok Sonuç
Aşağıdaki işlev, bir aralık, aranacak bir ifade ve örnek (sonuç numarası) belirtmemize ve ardından karşılık gelen değeri döndürmemize izin verir:
İşlev Find_nth_Occurrence(Column_Range As Range, Expression As String, Occ As Integer) As Double Dim Cell Dim Occurrences_to_date As Integer Find_nth_Occurrence = 1000000 Occurrences_to_date = 0 Her Hücre İçin Column_Range If Cell. Sonra Find_nth_Occurrence = Cell.Offset(0, 1).Value End If End If Next Cell End Function
Bu ve standart DÜŞEYARA işlevi arasındaki temel fark, bu durumda aralığın, tüm veri aralığı değil, yalnızca etiket aralığı olmasıdır.
Aşağıdaki, bir komut düğmesinden tıklama olayına dayalı olarak bu işlevi çağıran bir alt programdır. Köpek kelimesinin 3. örneği için Sayfa2'de A1:A8 aralığında görünüyor:
Private Sub CommandButton1_Click() Dim Answer As Double Answer = Find_nth_Occurrence(Sheets("Sheet2").Range("A1:A8"), "Köpek", 3) MsgBox AnswerEnd Sub
"Yanıt" değişkeni, daha sonra ekranda bir Msgbox'ta görüntülenen işlevin sonucunu saklar:
>Ancak, kelime listede bulunamıyorsa veya sıklık oluşmuyorsa, örneğin “Köpek” kelimesinin 5. örneği yoksa, 1.000.000 değeri döndürülür:-
Cevap = Find_nth_Occurrence(Sayfalar(“Sayfa2”).Range(“A1:A8”), “Köpek”, 5)
Veya
Cevap = Find_nth_Occurrence(Sayfalar(“Sayfa2”).Range(“A1:A8”), “At”, 2)