Data Karşılaştırma

Katılım
26 Ocak 2006
Mesajlar
756
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Arkadaşlar selam,

2 farklı listem var. Birinci listemde kod ve isimleri olup satış yapılan bayiler var. Aynı bayiye birden fazla farklı rakamlarda satış yapılabiliyor. Yani listede aynı bayinin birden fazla kaydı bulunuyor.

İkinci listemde ise bu bayilerin aldıkları ürünler karşılığında bankaya yatırdıkları havaleler mevcut. Bu listede de aynı bayinin birden fazla havalesi bulunuyor. Hiç gönderilmemiş havaleler de olabilir tabii.

Ben bu havaleleri satış listesine getirmeye çalışıyorum ki havalelerin doğru yatıp yatmadığını kontrol edebileyim. Listeler binlerce satırdan oluştuğu için Scripting.Dictionary yöntemiyle yapılabilirse hız bakımından çok faydalı olacak benim için.

Not: Benzersiz liste oluşturup toplamlar alınarak kontrol işimi görmüyor. Her 2 listenin bire bir eşleştirilmesi gerekiyor. Belki satış rakamına en yakın havaleler seçilerek yanlarına getirilebilir diye düşünüyorum. Ben ciddi kafa yordum ama yapamadım.

Yardımlarınız için şimdiden teşekkürler.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Dosyanızı inceledim. Bazı rakamlar yakın gibi görünüyor. Ama bazıları çok farklı. Yakın rakamlar için bir tolerans değeri belirlenip işlem yapılabilir ama uzak değerler için bende eşleştirme mantığı oluşmadı.
 
Katılım
26 Ocak 2006
Mesajlar
756
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Korhan hocam öncelikle ilginiz için çok teşekkürler. Şöyle yapablir miyiz?
1. adım olarak bire bir eşleşenleri yanlarına yazdırabiliriz.
2. adım olarak da eşleşmeyenleri söyle yapabilir miyiz.
Örneğin aynı kodlu bayiye 3 adet satış yapılmış ancak bankaya 2 adet havale gelmiş. Yazacağımız kod ile önce hem satış tablosunu hem de havale tablosu satış rakamlarını büyükten küçüğe veya küçükten büyüğe doğru sıralayıp sonra da onları bu sıraya göre satış rakamlarının yanlarına yazdırsak sanki daha doğru olur diye düşünüyorum. O zaman en yakın rakamlar birbirinin karşısına gelecektir.

Örneğin ;

Satış tablosunda bir cari için eşleşmeyen 3 satır olsun ve bunları sortladığımızda
Kod Bayi Satış
00001 A 3152.28
00001 A 2152.25
00001 A 500.80

Gelen havaleleri sortladığımızda da (1 havale gelmemiş)
Kod Bayi Havale
00001 A 4152.28
00001 A 2112.25

Sonuç şu şekilde benim için doğru olacaktır.
Kod Bayi Satış Gelen havale
00001 A 3152.28 4152.28
00001 A 2152.25 2112.25
00001 A 500.80 eksik havale
Eğer gelmeyen bir havale varsa da o boş gelsin veya eksik havale yazsın vb.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sıralayıp aktarmak yeterliyse yapılabilir. Ama eşleştirsin derseniz işin içinden çıkılmaz.
 
Katılım
26 Ocak 2006
Mesajlar
756
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Biliyorum, yukarıda belirttiğim gibi birebir eşleşenlerden sonra kalanları sıralayıp eşleştirebilirsek benim için yeterli olacak. Bende bu datadan alacak verecek farklarını çıkartacağım. Yardımcı olabilirseniz çok sevinirim.
 
Katılım
26 Ocak 2006
Mesajlar
756
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Korhan hocam muhteşemsin çok teşekkür ediyorum. 5000 er satırlık 2 listeyi 1.86 saniyede 20000 e 20000 satırlık listeleri de 7.6 saniye gibi müthiş bir hızda yaptı. Emeğinize sağlık.

Denemelerimde sadece şöyle bir şey dikkatimi çekti. Eğer bir bayi aynı miktarda 2 alım yapıp bunlar için aynı miktarda havale gönderdiyse bunların sadece 1 tanesini listeye taşıyor. Bana göre böyle bir şeyin olma olasılığı çok düşük ama yine de bilin istedim. Bu durum halledilebilir mi bilmiyorum.

Satış Listesi
Kod Bayi Satış
00001 A 3152.28
00001 A 3152.28

Havale Listesi
Kod Bayi Satış
00001 A 3152.28
00001 A 3152.28

Sonuç
Kod Bayi Satış Gelen havale
00001 A 3152.28 3152.28
00001 A 3152.28
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
#6 nolu mesajımda ki dosyayı güncelledim.

Deneyiniz.
 
Katılım
26 Ocak 2006
Mesajlar
756
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Korhan hocam verdiğiniz emekler için çok sağ olun. Süper oldu. İyi ki varsınız.
 
Üst