Çoklu koşula göre veri eşleştirme

Kısa Açıklama

Çoklu koşula göre veri eşleştirme isimli başlıkta, ilgili işlemlere dair detaylar yer almaktadır.
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Sayın Uzman arkadaşlar,

Ekteki çalışma kitabı "PARAMETRE" ve "DATABASE" isimli sayfalardan oluşmaktadır.
"PARAMETRE" sayfasındaki satır ve sütunları ölçüt aralığı kullanarak, "DATABASE" sayfasının "M" sütununda veri eşleştireceğim.
Kısaca ifade edecek olursak, Kim?, Hangi tarihte?, Hangi odayı temizlemiş? sorusunun yanıtını bulmaya çalışıyorum.
"DATABASE" sayfasındaki veriler farklı bir kaynaktan alınırken, "PARAMETRE" sayfasındaki tablo verileri manuel oluşturulmaktadır.
DİZİ formülü ile istenileni sağlayabiliyorum. Ancak, Özellikle "Database" sayfasındaki veriler 50.000 satırın üzerine çıkabilmektedir. Bu sebep ile konuya henüz makrolu bir çözüm üretemedim.
Konuya hakim arkadaşların benim için çok değerli olan yardımlarınızı rica ediyorum.

Saygılarımla,
 

Ekli dosyalar

@Believing .

İsteğinizin belge üzerinden ve daha net anlaşılmasını temin etmek üzere,
istenileni sağladığınızı belirttiğiniz dizi formülünün de dosyada olması iyi olurdu.
Ayrıca 2'nci satırdaki tarihler için bir düzen/kural/sıra var mıdır, yoksa tarihler böyle karışık mıdır her zaman?

.
 
ADO yöntemi ile bir çözüm ekledim.
Bu yöntem tarihlerin sıralaması vs kısmını sorun etmez.
Ayrıca bahsettiğiniz 50.000 satırlık verilerde Excel'in hem formülleri ile hem de kendi yerel makroları ile sağlanan çözümlerden çok daha hızlı bir şekilde sonuca ulaşmanızı sağlar.

Burada kritik olan husus, 3 numaralı mesajımda belirttiğim aynı tarihin yazılması kısmı.

Eğer bahsettiğiniz yana doğru genişleyecek veri aralığında aynı tarih iki ayrı yerde yazılırsa, o zaman mantık devre dışına çıkar.
Muhtemelen ilk bulduğu (sola doğru) tarihte veri arar.

Sayfaların ve başlıkların değiştirilmesi halinde kodlara müdahale edilmesi gerekir.

Yorumlarınıza göre şekillendiririz.
 

Ekli dosyalar

Günaydın Formdaş arkadaşlarım,

Öncelikle konuya gösterdiğiniz ilgi ve çözüm önerileriniz için sizlere ayrı ayrı teşekkür ederim.
Veriler farklı bir işletim sisteminden alındığı için, tarih sütunu kişisel ayarlara göre değişiyor. Yani düzensizlik var diyebilirim.
"PARAMETRE" sayfasında tekrar eden tarih olmamalıdır. Var ise bu ciddi bir hatadır.
Eğer kodlama esnasında mükerre tarih kontrolü yaptırırsak olası hataların önüne geçilmiş olacaktır.
ALLAH sizlerden, sevdiklerinizden ve sebep olanlardan ilelebet razı olsun.
Kolay gelsin.

Saygılarımla,
 
Günaydın @Believing ,

Eklediğim dosyanın VB ekranındaki Module1 kod alanında bulunan aşağıdaki satırı bulun.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
Bu satırın altına aşağıdaki kodları ekleyin.
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(7 satır)
Kodlar PARAMETRE sayfasındaki 2. satırda bulunan ve otomatik genişleyecek şekilde tüm tarihleri kontrol edecek, eğer aynı tarihe ait birden fazla kayıt varsa size uyarı vererek yazdığım koddaki verilerin listelenmesi işlemini gerçekleştirmeyecektir.

Örnek dosyanızda J sütununa eklediğim bir aynı tarihe ait çıkan uyarıyı şu şekilde görebilirsiniz:

1622274134418.webp

Umarım işinizi görür.

İyi çalışmalar,
 
Moderatörün son düzenlenenleri:
Data sayfasında bir satır kaydırma yaptığınız için sistem hata veriyor.
Başlık satırlarının, sayfa adlarının vs değişikliklerinde kodlar hata verir.
Bu hususlara dikkat ederseniz sorun olmayacaktır.

Bir de dosyaları denerken "" yapmadan bir klasöre kaydedin ve o klasörden çalıştırın.

Ayrıca verilerinizde "olası boş kayıt olmayacağı" hususu değerlendirilerek kodları daha hızlı sonuç alacak şekilde revize ettim.


Kolaylıklar dilerim.
 

Ekli dosyalar

@Believing
Önce bundan önceki cevabıma bakınız.
Son önerim de dizi yöntemi üzerinden olsun. İşlem süresi çok fark edecektir.

Koddaki sayfa isimlerini ve baş taraftaki ilk = ... kısmının doğruluğundan emin olun.
ilk = ... kısmı, DATABASE sayfasındaki başlık hariç ilk veri satırını gösterecek.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(26 satır)
 
Sayın Admin ve Sayın Ömer bey,

Konuya gösterdiğiniz ilgi, yardım ve çözüm önerileriniz oldukça eğitici olduğunu belirterek, sizlere çok teşekkür ederim.
Hiç tanışmadığınız insanlara verdiğiniz destek için sizlere müteşekkir kalmamak mümkün değildir.
Bize, bu güzel insanları ve hizmetlerini ara sıra kahve ikram ederek desteklemek düşer.
Kahvelerinizi güzel günler için yudumlayınız. (Siparişiniz #146246484)
ALLAH sizlerden, sevdiklerinizden ve sebep olanlardan ilelebet razı olsun.
Haklarınızı helal ediniz lütfen.
Kolay gelsin.

Saygılarımla,
 
Sayın @Believing,

Bizim çay ve kahve beklentimiz yok, bu uygulamayı da sizler gibi değerli bir üyemizin talebi doğrultusunda kullanıma almıştık.
Biz elimizden geldiğince, bilgimiz dahilinde bir beklenti olmadan destek olurken, sizlerin gösterdiğiniz teveccüh bizleri mutlu ve motive etmektedir.

Fayda sağlamışsak, ExcelDestek ekibi olarak ne mutlu bize...

Sağlıcakla kalınız,
Saygı, sevgi ve selamlarımızla...
@Admin (Bahadır)
 
Keşke üçüncü göz olarak, çözüm önerilerini doğruluk/hız bakımından karşılaştırmasını yapıp sonucunu da yazsaydınız.
Neticede büyük veri yığınlarıyla çalışan biri olarak vereceğiniz bu bilgi önemli.
Diğer forum üyelerimiz de benzer sorunlarının çözümünü ararken karar vermelerinde katkısı olurdu.

.
 
Geri
Üst