• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Soru Excel VBA ile Farklı Yazılmış Cari İsimleri Eşleştirme (Bulanık Mantık / Fuzzy Logic Mutabakatı)

Aydın Efeler

Yeni Üye
Katılım
28 Ara 2023
Mesajlar
2
Aldığı beğeni
0
Katkı
%0.00
Excel V
Office 2016 TR
Konu Sahibi
İyi forumlar herkese. Elimde iki farklı sistemden alınmış cari hesap listesi var ve mutabakat yapmam gerekiyor. Ancak firmaların isimleri iki tarafta da farklı yazılmış. Örneğin banka listesinde 'Ahmet Yılmaz İnş. San. Tic. Ltd. Şti.' yazarken, bizim muhasebe sisteminde 'Ahmet Yılmaz İnşaat' veya 'A.Yılmaz İnş.' yazıyor. Haliyle DÜŞEYARA veya ÇAPRAZARA ile bunları eşleştirmek imkansız.Microsoft'un harici Fuzzy Lookup eklentisi var ama şirketteki bilgisayarlara güvenlik nedeniyle kuramıyoruz. Ekte iki örnek listeyi paylaştım. Tamamen makro (VBA) kullanarak, iki listedeki metinleri karakter ve kelime benzerliğine göre (Levenshtein algoritması gibi bir mantıkla) tarayacak ve yanlarına '%85 benzer, %90 benzer' diyerek en yakın adayları eşleştirecek bir mutabakat kodu yazabilir miyiz? Elle yapmaktan gözlerimiz bozuldu valla, şimdiden sağ olun.
 

Ekli dosyalar

Çok sayıda örnek olan dosya eklerseniz. Bir firmanın yazımı iki listede de hep aynı mı?
 
Konu Sahibi
Alicimri hocam selamlar, ilginiz için teşekkür ederim. Hayır hocam, maalesef iki listede de yazımlar tamamen farklı ve değişken. Örneğin bir listede sadece 'Ahmet Yılmaz' yazarken, diğer listede 'A. Yılmaz İnşaat Ticaret Anonim Şirketi' gibi ucu açık şekilde uzayabiliyor.
Yani kelime sayısı ve karakterler tamamen düzensiz. Tam da bu yüzden DÜŞEYARA gibi formüller uyuşmuyor hocam. Ekteki dosyaya birkaç farklı varyasyonda örnek satırlar eklemiştim ama algoritmayı denemek için gerekirse daha fazla hayali veri de üretebilirim. Karakter veya kelime benzerlik oranını (Levenshtein mantığıyla) karşılaştıracak bir makro kodu kurabilir miyiz?
 
İşinize yararsa Word de bir özellik var, deneyin
İki adet word dosyası oluşturun.
Birine Excelde A sütynundaki verileri seçip, 1. word dosyasına yapıştırın,
Aynı şekilde B sütunundaki verileri 2. word dosyasına yapıştırın.
İki word dosyasıda açık olsun.
Word dosyaların birinde iken Gözden Geçir>Karşılaştır a tıklayın
Açılan iletişim Kutusunda
Özgün Belge de ilk Word dosyasını seçin.
Düzeltilmiş Belge 2. Word dosyasını seçin.
Tamam a tıklayın
 
Geri
Üst