Bu dosya, E1 hücresine yazılan bir tarihin hangi başlama ve bitiş tarihi aralıklarının içinde kaldığını listeler. Aynı sonuç iki yöntemle elde edilir: dinamik dizi formülü ile ve ADO sorgusu kullanan bir makro ile.
Aralıktaki iki koşul çarpılarak birlikte sağlanması istenir. FILTER fonksiyonu Microsoft 365 ve Excel 2021 ile sonrasında bulunur; eski sürümlerde bu formül çalışmaz, makro yöntemi kullanılabilir.
Dosyanın içeriği
- Sayfa1: A1:N31 aralığında çalışan ana sayfadır. A sütununda Baslama, B sütununda bitiş tarihleri bulunur (A2:B31). Tarihler 25.06.2020 ile 2021 sonbaharı arasında değişir. D sütununda Tarih başlığı ile sonuç alanı yer alır; aranan tarih E1 hücresine girilir.
- Sayfa2 (Sheet2): A1:A6 hücrelerinde IMAGE fonksiyonuyla çağrılan görseller için dış bağlantı içerir.
Kullanılan formüller
D4 hücresindeki formül, başlama tarihi E1 tarihine eşit ya da küçük, bitiş tarihi E1 tarihine eşit ya da büyük olan satırları döndürür:=FILTER(A2:B31,(A2:A31<=E1)*(B2:B31>=E1))
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Baglanti modülündeki asd prosedürü, çalışma kitabının kendisine ADODB bağlantısı kurar ve Sayfa1 içindeki Baslama ve Bitis sütunlarından, E1 tarihini kapsayan satırları SQL sorgusuyla seçer. Kayıt bulunursa G4:H65536 aralığı temizlenir ve sonuçlar G4 hücresinden itibaren yazılır. Kayıt bulunmazsa önceki sonuçlar silinmez. Office sürümüne göre ACE veya Jet sağlayıcısı seçilir. Makro dosya silme ya da dış sunucuya bağlantı işlemi yapmaz; yalnızca dosyanın kendi verisini okur.Nasıl kullanılır
- Dosyayı açıp makroları etkinleştirin.
- Sayfa1 içindeki A ve B sütunlarına başlama ve bitiş tarihlerini girin.
- E1 hücresine aranan tarihi yazın.
- Formül sonucu D4 hücresinden itibaren otomatik listelenir.
- Makro sonucu için Alt+F8 ile asd makrosunu çalıştırın; liste G4:H sütunlarında görünür.