• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Data Karşılaştırma

Katılım
26 Ocak 2006
Mesajlar
757
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
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

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ı.
 
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.
 
Sıralayıp aktarmak yeterliyse yapılabilir. Ama eşleştirsin derseniz işin içinden çıkılmaz.
 
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.
 
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
 
#6 nolu mesajımda ki dosyayı güncelledim.

Deneyiniz.
 
Korhan hocam verdiğiniz emekler için çok sağ olun. Süper oldu. İyi ki varsınız.
 
Geri
Üst