Bu dosya, DÜŞEYARA mantığının birden fazla eşleşme olduğunda nasıl genişletilebileceğini gösterir. Standart DÜŞEYARA yalnızca ilk eşleşen değeri getirir; dosyadaki Kullanıcı Tanımlı Fonksiyonlar ise aranan değerin tüm eşleşmelerini birleştirir, istenen sıradaki eşleşmeyi getirir veya eşleşme sayısını verir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Örnekte B16 değeri 9'dur ve D16 sonucu 102 olarak döner. F sütununda ise sıra numarası verilerek tek tek eşleşme alınır:
B17 değeri 8 olduğundan D17 hücresinde 101-109 gibi birden fazla sonuç birleşik görünür, F17 ve F18 ise 8 değerinin sırasıyla 2. ve 3. eşleşmesini getirir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sayfa1: B2:G18 aralığında örnek veri ve formül tablosu bulunur. D2 hücresi "İyilik" başlığını taşır, D3:D13 aralığında aranacak sayılar (2, 8, 9, 3, 4, 8, 1, 2, 4, 8, 4) yer alır. Sonuç satırları 16-18. satırlardadır.
- Module1: Dört Kullanıcı Tanımlı Fonksiyonun bulunduğu VBA modülüdür.
Kullanılan formüller
- LARGE: D3:D13 aralığındaki en büyük ve ikinci en büyük değeri aranan değer olarak üretir (B16 ve B17).
- Gel_Duseyara: Aranan değerle eşleşen tüm satırların ilgili sütunundaki değerleri, tekrarları eleyerek "-" işaretiyle birleştirir.
- Gel_Duseyara2: Eşleşmeler arasından belirtilen sıradakini getirir.
=Gel_Duseyara(B16,$D$3:$E$13,2)
=Gel_Duseyara2(B16,$D$3:$E$13,2,1)
Makrolar
- Gel_Duseyara: Aralıktaki her hücreyi aranan değerle karşılaştırır, eşleşen satırın belirtilen sütunundaki değeri daha önce eklenmediyse "-" ile birleştirip tek metin olarak döndürür.
- Gel_Duseyara1: Aynı işlemi tekrar eden değerleri elemeden yapar.
- Gel_Duseyara2: Aranan değerin "Kacinci" parametresiyle belirtilen sıradaki eşleşmesinin karşılığını getirir.
- Gel_DuseyaraSay: Aranan değerin aralıkta kaç kez geçtiğini sayar.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayfa1'de D3:E13 aralığına kendi verilerinizi girin; aranan değerler D sütununda, getirilecek değerler E sütunundadır.
- Aranan değeri bir hücreye yazın veya LARGE ile üretin.
- Tüm eşleşmeler için Gel_Duseyara, belirli sıradaki eşleşme için Gel_Duseyara2 formülünü kullanın; 16-18. satırlardaki formülleri aşağı kopyalayabilirsiniz.