İki koşul eşleştiğinde bize değerleri değiştirme fırsatı veren VLOOKUP - VLOOKUP3 fonksiyonunun geliştirilmiş bir versiyonunu düşünelim. Kombinasyon yapmamız gereken alanda benzersiz değerlerimizin olmadığı durumlarda bu fonksiyon faydalı olabilir.
İki tabloyu birleştirmemiz gerektiğini, ancak benzersiz değerlerimizin olmadığını varsayalım:
Gördüğünüz gibi aynı soyadlara sahip borçlularımız ve aynı numaralarla kredi anlaşmalarımız var. Normal bir fonksiyonla birleştirin VLOOKUP aynı anda yalnızca bir koşulla ve yalnızca bulunan ilk değerle eşleştiğinden sorunlu olacaktır.
Değerleri iki koşula göre değiştirmek için her zamanki VLOOKUP işlemimizi yeniden yapalım.
Menüyü aç Servis - Makro - Düzenleyici Visual Basic , yeni modülü takın (Menü Insert - Module ) ve bunun metnini oraya kopyalayın işlevler:
Function VLOOKUP3(Table1 As Range, _ SearchValue1 As Variant, _ Table2 As Range, _ SearchValue2 As Variant,_ ResultColumn As Range) 'moonexcel.com.ua Dim i As Integer For i = 1 To Table1.Rows.Count If Table1.Cells(i, 1) = SearchValue1 Then If Table2.Cells(i, 1) = SearchValue2 Then VLOOKUP3 = ResultColumn.Cells(i, 1) Exit For End If End If Next i End Function
Düzenleyiciyi kapat Visual Basic ve Excel'ye dönün.
Şimdi İşlev Sihirbazları kategoride Kullanıcı tanımlı VLOOKUP3 fonksiyonumuzu bulup kullanabilirsiniz. Fonksiyonun sözdizimi aşağıdaki gibidir:
=VLOOKUP3( aralık1 ; aranan_değer1 ; aralık2 ; aranan_değer2 ; değerleri değiştirdiğimiz aralık )
Yani, kredi tutarını hücredeki soyadı ve sözleşme numarasına göre doğru bir şekilde değiştirmek için E15 girmeniz gerekecek:
=VLOOKUP3($A$2:$A$11; A15; $B$2:$B$11; B15; $C$2:$C$11)
Ayrıca aralıkları dolar işaretiyle sabitlemeyi unutmayın ($) formülü kopyalarken aralıkları kaçırmamamız için (hızlı düzeltme için F4 tuşunu da kullanabilirsiniz).