Excell Açık Adresteki İlçeyi Yan hücreye yazdırma

Katılım
18 Eylül 2012
Mesajlar
26
Excel Vers. ve Dili
exel 2007 türkçe
merhaba
Hoşnudiye Mahallesi, Doktorlar Cadddesi, No:39/A ESKİŞEHİR TEPEBAŞI
örneğinde olduğu gibi yukaarıdaki açık adreste ili yan hücreye ilçeyide onun yanına nasıl yazdırabilirim?amacım adresteki il ve ilçeleri ayırmak
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,745
Excel Vers. ve Dili
2010-2016
Kod:
Sub askm()
Dim say
Dim ilce As String, il As String
Application.ScreenUpdating = False
For i = 1 To Range("A" & Rows.Count).End(3).Row
    say = Split(Cells(i, 1), " ")
    
    ilce = Split(Cells(i, 1), " ")(UBound(say))
    il = Split(Cells(i, 1), " ")(UBound(say) - 1)
    Cells(i, 2) = ilce
    Cells(i, 3) = il
Next i
Application.ScreenUpdating = True
MsgBox "İşlem tamam...", vbInformation, "ASKM"
End Sub
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Soru Fonksiyonlar bölümünde sorulduğuna göre formül ile çözüm önerisinde bulunayım dedim.
Adres metninin A1 hücresinde yazılı olduğu, İL ve İLÇE adlarının birer kelime olduğu varsayıldı.

-- İL ADI için;
Rich (BB code):
=PARÇAAL(KIRP(A1);BUL("|";YERİNEKOY(KIRP(A1);" ";"|";UZUNLUK(KIRP(A1))-UZUNLUK(YERİNEKOY(KIRP(A1);" ";""))-1))+1;BUL("|";YERİNEKOY(KIRP(A1);" ";"|";UZUNLUK(KIRP(A1))-UZUNLUK(YERİNEKOY(KIRP(A1);" ";""))))-BUL("|";YERİNEKOY(KIRP(A1);" ";"|";UZUNLUK(KIRP(A1))-UZUNLUK(YERİNEKOY(KIRP(A1);" ";""))-1))-1)
-- İLÇE ADI için;
Rich (BB code):
=PARÇAAL(KIRP(A1);BUL("|";YERİNEKOY(KIRP(A1);" ";"|";UZUNLUK(KIRP(A1))-UZUNLUK(YERİNEKOY(KIRP(A1);" ";""))))+1;255)
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
merhaba
Hoşnudiye Mahallesi, Doktorlar Cadddesi, No:39/A ESKİŞEHİR TEPEBAŞI
örneğinde olduğu gibi yukaarıdaki açık adreste ili yan hücreye ilçeyide onun yanına nasıl yazdırabilirim?amacım adresteki il ve ilçeleri ayırmak
A1 Hücresine Örnek adresi girin.
B1 hücresine:
Kod:
=KIRP(PARÇAAL(YERİNEKOY(A1;" ";YİNELE(" ";UZUNLUK(A1))); (UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))-1)*UZUNLUK(A1)+1; UZUNLUK(A1)))
C1 hücresine:
Kod:
=KIRP(PARÇAAL(YERİNEKOY(A1;" ";YİNELE(" ";UZUNLUK(A1))); (UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";"")))*UZUNLUK(A1)+1; UZUNLUK(A1)))
formüllerini yazarak deneyin.
Adreste değişiklikler yaparak, sonuçları test edin.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,633
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Alternatif olarak B1 hücresine uygulayın ve sağa doğru kopyalayın.

Kod:
=İNDİS(KIRP(PARÇAAL(YERİNEKOY(" "&$A2;" ";YİNELE(" ";255));SATIR($1:$99)*255;255));UZUNLUK($A2)-UZUNLUK(YERİNEKOY($A2;" ";""))+SÜTUN(B2)-1)
 
Katılım
18 Eylül 2012
Mesajlar
26
Excel Vers. ve Dili
exel 2007 türkçe
Merhaba,
denediklerimin hiçbiri olmadı.
bazıları caddeyi aldı bazı formüller no: yazan yeri aldı.galiba son 10 kelimeyi alıyor formüller.
ayrıca askm üyenin yazdığı kodu nasıl yapıcam orasınıda bulamadım
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Adres formatlarının her zaman aynı olduğu garanti edilmeden çözüm önermek gerçekten zor olur.

Eğer adresler Mahalle Cadde Sokak İL İLÇE değil de; Mahalle Cadde Sokak İLÇE İL olursa, sonuçlar doğal olarak anlamsız olabilir.

.
 
Katılım
18 Eylül 2012
Mesajlar
26
Excel Vers. ve Dili
exel 2007 türkçe
aslında 1yıl önce bir konuda böyle bir ihtiyaç olmuştu.2 tane sheet var 1.sine türkiyedeki bütün ilçeleri yazmışlardı.diğer sheet ise küçük bi formlle o adreste geçen o ilçenin kelimesini arayıp yan hücreye yazıyordu.
konuyu bu yada başka bi forumda görmüştüm bulamadım.aslında öyle birşey yapılabilir mi nasıl olur?
 

netzone

Altın Üye
Katılım
10 Mayıs 2006
Mesajlar
791
Excel Vers. ve Dili
🅾🅵🅵🅸🅲🅴
⎝365 64 Bit 𝙏𝙍⎠
🆆🅸🅽🅳🅾🆆🆂
⎝11 64 Bit 𝙏𝙍⎠
Altın Üyelik Bitiş Tarihi
12-09-2027
Merhaba,
denediklerimin hiçbiri olmadı.
bazıları caddeyi aldı bazı formüller no: yazan yeri aldı.galiba son 10 kelimeyi alıyor formüller.
ayrıca askm üyenin yazdığı kodu nasıl yapıcam orasınıda bulamadım
Merhaba @blackjacker

@Haluk Bey'in de dediği gibi adres formatlarının hepsinin aynı olmaması halinde yukarıdaki çözümlerin hiçbiri işinizi görmeyecektir.
Söz konusu sorunuza karşılık olarak verilen çözümlerin hepsini ekteki dosyada doğru olarak işlevini yerine getirdiğiniz gözlemleyebilirsiniz.
@askm'ın paylaşımındaki kodları VBA kısmında yazmanız gerekir [ALT+F11 tuşları ile bu alanı açabilirsiniz.]

İyi çalışmalar.

Dosyayı buradan indirebilirsiniz.
 

Ekli dosyalar

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,633
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Konuda verilen çözümler ilk mesajdaki örneğe göre verildi.Sonra denediklerimin hiçbiri olmadı demek soru cevaplayanlara haksızlık ve saygısızlık.Bundan sonra sorularınızı doğru örneklerle sorarsanız doğru cevaplar alırsınız.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Oldukça hasta olmama rağmen bu konuya cevap yazmamak olmazdı.

Pes yani, nezaket/feraset kalmamış memlekette.
Böyle durumlar gerçekten çok üzücü, verilen emeğe, harcanan zamana yazık oluyor doğrusu.
Forumda nadiren kullandığım bir cümleyi yazacağım: SORU SORMAK ZOR ZANAAT VESSELAM.

Şu anki cevabımı da konuyu açan üye için değil, sayfayı ziyaret edecek ve bilgi edinme/paylaşma peşinde olan diğer üyeler için yazıyorum.

A1 hücresindeki adres metni için, aşağıdaki formül B1 hücresine kopyalanıp sağa doğru (boş sonuç elde edilinceye kadar) kopyalanırsa;
ilgili metin boşluk kriterine göre, FONKSİYON kullanarak kelime kelime sütunlara dağıtılmış hale gelir.
Rich (BB code):
=EĞERHATA(YERİNEKOY(PARÇAAL(" "&KIRP($A1)&" ";BUL("|";YERİNEKOY(" "&KIRP($A1)&" ";" ";"|";SÜTUN(A$1)))+1;BUL("@";YERİNEKOY(" "&KIRP($A1)&" ";" ";"@";SÜTUN(B$1)))-BUL("|";YERİNEKOY(" "&KIRP($A1)&" ";" ";"|";SÜTUN(A$1)))-1);"@";"");"")
 
Üst