• DİKKAT

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

Adres içerisinden sadece mahalleleri ayırma

Katılım
27 Nisan 2021
Mesajlar
14
Excel Vers. ve Dili
Office Plus 2016 Tr-En - 64bit
Merhaba üstadlar,

Ben takdir edersiniz ki forumda hem yeni hem de excel de ileri seviye olmayan (ama fena da sayılmam ufak tefek kod yazabiliyorum) bir arkadaşım. Sizden adres içerisinden sadece mahalleleri çekebilmek için yardım ve öneriler istiyorum. Bu 10k lık verinin sadece bir kısmıdır. Göründüğü üzere çok farklı "mahalle" varyasyonları var. Neredeyse 300-500 farklı mahalle varyasyonu var. Bir avantaj olarak mahalle adres satırının ilk kelimesi olarak geçiyor fakat ne yazık ki her zaman da mahalle bilgisi yer almıyor. bana fikir sunabileceğinize inanıyorum. İlginize şimdiden teşekkür ederim.
 

Ekli dosyalar

Ekli dosyaya bakın, işinize yarayabilir...

.
 

Ekli dosyalar

Ekli dosyaya bakın, işinize yarayabilir...

.
hocam gerçekten üstadsınız 5 dakika içerisinde cevap verip işimi neredeyse %95 kolaylaştırdınız. Şimdi ben formülü aradım ama extractstring çıkıyor. Sanırım bu excel içerisinde text ile yapıldı ya da bir eklenti ile mi gerçekleştirildi. Çünkü ben formülü göremiyorum. Bu konuda cahillimi maruz görün bana işlemi kısaca anlatabilir misin yoksa başka bir sayfaya alıp sürükle bırakla işlemi devam ettirebiliyorum. Ama aynı zamanda balık tutmayı da öğrenmek istiyorum. Çok teşekkürler tekrardan...
 
Merhaba,
Alternatif olsun.
C++:
=EĞERHATA(PARÇAAL(A1;1;MBUL(" M";A1));"")
 
hocam gerçekten üstadsınız 5 dakika içerisinde cevap verip işimi neredeyse %95 kolaylaştırdınız. Şimdi ben formülü aradım ama extractstring çıkıyor. Sanırım bu excel içerisinde text ile yapıldı ya da bir eklenti ile mi gerçekleştirildi. Çünkü ben formülü göremiyorum. Bu konuda cahillimi maruz görün bana işlemi kısaca anlatabilir misin yoksa başka bir sayfaya alıp sürükle bırakla işlemi devam ettirebiliyorum. Ama aynı zamanda balık tutmayı da öğrenmek istiyorum. Çok teşekkürler tekrardan...


Kod yazdığınızdan bahsetmiştiniz, VBA editörü açtığınızda Module1 içinde kodları görebilirsiniz...

.
 
Kod yazdığınızdan bahsetmiştiniz, VBA editörü açtığınızda Module1 içinde kodları görebilirsiniz...

.
Evet hocam aslında ben excel de hazır fonksiyon kullanıyormuşum özür :/ Ama biraz python biliyorum. orada birşeyler yapıyordum ama burada hiç vb kullanmamıştım. Sayenizde adım atıyorum. Tek tek inceleyeceğim. Çok büyük faydanız oldu. Teşekkürler
 
teşekkürler hocam bunu da denedim. Bu da güzel yöntem.
Yalnız bu formül örneğin Hüseyin Okan Merzeci için Hüseyin Okan sonucunu veriyor ve ikinci ya da sonraki kelimeleri "M" ile başlayan satırlarda da içinde Mahalle/Mah/Mh ifadesi geçmediği halde sonuç veriyor. Bir de bulduğu mahallenin sonunda boşluk karakteri oluyor.

Formülü aşağıdaki gibi kullanınca daha doğru sonuç veriyor:

=EĞERHATA(PARÇAAL(A1;1;MBUL(" Mahallesi";A1)-1);EĞERHATA(PARÇAAL(A1;1;MBUL(" Mah";A1)-1);EĞERHATA(PARÇAAL(A1;1;MBUL(" Mh";A1)-1);"")))

Bu halinde @Haluk 'un verdiği mükemmel çözümle arasında sadece bir satırda farklı sonuç çıkıyor. O da 240. satırda aynı hücrede iki defa mahalle ifadesi geçtiği daha doğrusu adres iki kere yazıldığı için Haluk Bey'in çözümü ikinci mahalle ifadesinden önceki tüm adresi sonuç olarak gösteriyor.
 
Haluk üstadın yazdığı koddaki pattern'i aşağıdaki gibi de deneyebilirsiniz.

Rich (BB code):
(.+)(?=\s*mahalles(?:İ|i)|mah\.?|mh\.?|m\.?\s)
 
Haluk üstadın yazdığı koddaki pattern'i aşağıdaki gibi de deneyebilirsiniz.

Rich (BB code):
(.+)(?=\s*mahalles(?:İ|i)|mah\.?|mh\.?|m\.?\s)
Bu şekilde kullanınca da sonucun sonunda boşluk karakteri oluyor. KIRP ile birlikte kullanınca bu sorun düzeliyor ama her halükarda birden fazla " m" olunca farklı sonuç veriyor. İlginçtir, 36 ve 37. satırdaki veriler aynı yapıda olduğu halde (ikisinin de sonunda Mersin var) 36. satırda hatalı sonuç verirken 37. satırda doğru sonuç veriyor.

Bir de verilen her çözüm mahalle bilgisi eğer hücrenin başında değilse hatalı sonuç veriyor. Örneğin 73, 74, 77 ve 78 inci satırlar.
 
tüm yorumlarınız için çok teşekkür ederim. İşimi oldukça hafiflettiniz. Bende sizin yazdıklarınıza "köy" ekleyerek köy geçenleri de ayrıştırmış oldum.
çalıştığım dosyada adres bilgileri düzenli olmadığı için manüel düzenlemede gerekiyor. bir kısmını düzenledim ancak belli bir aşamadan sonra sanki yeniden bir formül yazarak işin gerisi daha kolay halledilebilir diye düşündüm ancak işin içinden çıkamadım. yeniden sizlere danışmak istedim.
Ekli dosyada A sütununda düzenlenecek B sütununda ise düzenlenmiş mahalle isimleri var. örneğin 2 inci sütunda "gaziantep şehitkamil batıkent" yazıyor. ben bunu elle düzenlerken "gaziantep şehitkamil" yazılı yeri siliyorum. B sütununda ise bu isimler düzenlendi. çeşitli yazım varyasyonlarıda mevcut. acaba a sütununda geçen batıkent kelimesini veya 7incisatırda geçen isiklar veya 10uncuda geçen yeşilyurt gibi öncesinde şehir yada cadde bilgisi geçenleri soldaki gibi temizlenmiş mahalle adlarını taratarak temizleyebilirmiyim.
yada başka bir yöntem önerebilirmisinz?
 

Ekli dosyalar

Geri
Üst