DÜŞEYARA işlevini iyileştirme

İçerik

Bir paraşüt nasıl düzgün şekilde paketlenir?

Fayda. 2. Baskı, revize edildi.

Diyelim ki aşağıdaki sipariş tablomuz var:

DÜŞEYARA işlevini iyileştirme

Örneğin, Ivanov'un üçüncü siparişinin ne kadar olduğunu veya Petrov'un ikinci anlaşmasını ne zaman yaptığını bilmemiz gerekiyor. Yerleşik DÜŞEYARA işlevi, tablodaki soyadının yalnızca ilk geçtiği yeri arayabilir ve bize yardımcı olmaz. “10256 numaralı siparişin yöneticisi kimdi?” gibi sorular ayrıca cevapsız kalacaktır, tk. yerleşik DÜŞEYARA, aramanın solundaki sütunlardan değerleri döndüremez.

Bu sorunların her ikisi de bir çırpıda çözülür – hadi sadece ilkini değil, genel durumda N'inci oluşumu da arayacak olan kendi fonksiyonumuzu yazalım. Ayrıca, herhangi bir sütunda arama yapabilecek ve sonuç üretebilecektir. DÜŞEYARA2 diyelim. 

ALT+F11 tuşlarına basarak veya menüden seçerek Visual Basic Düzenleyicisini açın. Servis – Makro – Visual Basic Düzenleyici (Araçlar — Makro — Visual Basic Düzenleyicisi), yeni bir modül yerleştirin (menü Ekle – Modül) ve bu işlevin metnini buraya kopyalayın:

İşlev DÜŞEYARA2(Varyant As Tablo, SearchColumnNum As Long, SearchValue As Variant, _ N As Long, ResultColumnNum As Long) Dim i As Long, iCount As Long Select Case TypeName(Tablo) Case "Range" For i = 1 To Table.Rows .Count If Table.Cells(i, SearchColumnNum) = SearchValue O zaman iCount = iCount + 1 Eğer iCount = N ise VLOOKUP2 = Table.Cells(i, ResultColumnNum) Exit For End If Next i Case "Variant()" For i = 1 UBound(Table)'a Tablo(i, SearchColumnNum) = SearchValue ise iCount = iCount + 1 iCount = N ise VLOOKUP2 = Table(i, ResultColumnNum) Son için Çıkış Sonraki i End ise Son İşlevi Seçin  

Visual Basic Düzenleyicisini kapatın ve Excel'e dönün.

Şimdi Ekle – İşlev (Ekle — İşlev) kategoride Kullanıcı Tanımlı (Kullanıcı tanımlı) DÜŞEYARA2 işlevimizi bulabilir ve kullanabilirsiniz. İşlev sözdizimi aşağıdaki gibidir:

=DÜŞEYARA2(tablo; aradığımız_sütun_yerinde_sayı; aranan_değer; N;_sütun_sayısı_from_to_get_value)

Şimdi standart işlevin sınırlamaları bizim için bir engel değil:

DÜŞEYARA işlevini iyileştirme

PS Kapalı kitaplarda arama yapabilmesi için işlevi iyileştirdiği için The_Prist'e özel teşekkürler.

  • DÜŞEYARA işlevini kullanarak verileri bir tablodan diğerine bulma ve değiştirme
  • İNDEKS ve KAÇINCI işlevlerini kullanarak “Sol DÜŞEYARA”

 

Yorum bırak