hücredeki metinin son kelimesi

Katılım
4 Kasım 2004
Mesajlar
87
Excel Vers. ve Dili
2003
tr
selam
database içindeki kayıtlarda hücre içindeki metnin son kelimesini bularak veritabanındaki adreslerin semtlerini listelemek ve o kayıt ile ilgili forma sadece semtinin ismin vermek istiyorum.
fonksiyon ve makro kullanarak soldan tarama yapıldığı için, sağdan yaklaştığımda da kelimenin uzunluğunu bilmediğim için kararsız kaldım bunu yapmak mümkün mü
örnek dosya ilişiktir.
misal a2 hücresindeki metni b2 hücresinde sadece büyükçekmece yazar hale getirebilir miyim ?
 
Katılım
3 Mayıs 2005
Mesajlar
453
Excel Vers. ve Dili
2010 - Eng
A1 hücresindeki son kelime için (dizi formulu ctrl + shift + enter)
=RIGHT(A1;LEN(A1)-MAX(ROW(INDIRECT("1:"&LEN(A1)))*(MID(A1;ROW(INDIRECT("1:"&LEN(A1)));1)=" ")))
=SAÐDAN(A1;UZUNLUK(A1)-MAK(SATIR(DOLAYLI("1:"&UZUNLUK(A1)))*(PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1)=" ")))

http://www.cpearson.com/excel/excelF.htm#Words
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Küçük bir not Sarıyer / İstanbul değilde Sarıyer/İstanbul yani arada boşluk bırakmadan düzenleyin.

Sayın bezl, verdiğinide aşağıdaki gibi ekleyip aşağı doğru çekin.
{=SAÐDAN(A2;UZUNLUK(A2)-MAK(SATIR(DOLAYLI("1:"&UZUNLUK(A2)))*(PARÇAAL(A2;SATIR(DOLAYLI("1:"&UZUNLUK(A2)));1)=" ")))}
 
Katılım
3 Mayıs 2005
Mesajlar
453
Excel Vers. ve Dili
2010 - Eng
benim verdiğim formul son boşluktan sonraki karakterleri verir.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Ã?yle olduğu için uyarayım dedim çünkü Snhayalbert, bazılarını bitiştirmiş bazılarını ayırmış
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bende makrolu bir çözüm öneriyorum.

[vb:1:beb3981afa]Sub kirp()
For a = 2 To [a65536].End(3).Row
For b = Len(Cells(a, 1)) To 1 Step -1
deg = Mid(Cells(a, 1), b, 1)
If deg = " " Then GoTo 10
birlestir = deg & birlestir
Next
10 Cells(a, 2) = birlestir
birlestir = ""
Next
End Sub[/vb:1:beb3981afa]
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
Sm Leventm Bir ek birşeyde bende sorabilirmiyim.
Alınan Sok Kelimenin Durumunda bu kelimeyi ilk hucreden nasıl silebiliriz
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu durumda kodu aşağıdaki ile değiştirin.

[vb:1:03e6679e85]Sub kirp()
For a = 2 To [a65536].End(3).Row
For b = Len(Cells(a, 1)) To 1 Step -1
deg = Mid(Cells(a, 1), b, 1)
If deg = " " Then GoTo 10
birlestir = deg & birlestir
Next
10 Cells(a, 2) = birlestir
birlestir = ""
Cells(a, 1) = Left(Cells(a, 1), Len(Cells(a, 1)) - Len(Cells(a, 2)))
Next
End Sub[/vb:1:03e6679e85]
 
Katılım
4 Kasım 2004
Mesajlar
87
Excel Vers. ve Dili
2003
tr
excellent :)

arkadaşlar ben yalovada inip bursada işimi görüp gelene kadar olayı çözmüşsünüz :)
çok çok teşekkür ederim
bütün çözümler de işime yarayacak !

program çok güzel çalıştı bütün adresleri hatasız ayırdı
ama formüllerde adresin tamamı geliyor ben mi yanlış yapıyorum yoksa gözden kaçırdığınız bir şey mi var acaba
:D
 
Katılım
24 Haziran 2005
Mesajlar
142
Excel Vers. ve Dili
excel 2003 ing
Bu makro gerçekten çok güzel ancak benim sorunumda biraz farklı.

Ben baştan iki kelimenin buldurulup yandaki hücreye altılmasını istiyorum.

Yani bir isimde (Mehmet Ali Akbaş gibi) sadece Mehmet Ali yi almak istiyorum. Yada ABC SİGORTA LTD. ÞTİ. firmasında ABC SİGORTAYI aldırmak istiyorum.

Yaklaşık 50.000 kayıt var ve bunlara ait bilgileri başka bir sheette buldrumam gerekiyor. Ancak o sheetteki firma ünvanlarının sadece iki kelimesinin birbirine uyduğunu tespit ettim.

Bu nedenle böyle bir formül veya makro çok işimi görecek.

Yardımlarınızı rica ederim.
 
Katılım
4 Kasım 2004
Mesajlar
87
Excel Vers. ve Dili
2003
tr
ilk iki kelime

tabi ki leventm in kodunu uyarlayarak yaptım eline sağlık leventm :dua:


Sub ikinci_kelime()
For a = 1 To [a65536].End(3).Row
c = 0
For i = 1 To Len(Cells(a, 1))
deg = Mid(Cells(a, 1), i, 1)
If deg = " " Then c = c + 1
If c = 2 Then GoTo 10
Next
10 Cells(a, 2) = Left(Cells(a, 1), i)
Next
End Sub
 
Katılım
4 Kasım 2004
Mesajlar
87
Excel Vers. ve Dili
2003
tr
bu daha doğru heralde

Sub ikinci_kelime()
For a = 1 To [a65536].End(3).Row
c = 0
For i = 1 To Len(Cells(a, 1))
deg = Mid(Cells(a, 1), i, 1)
If deg = " " Then c = c + 1
If c = 2 Then GoTo 10
Next
10 Cells(a, 2) = Left(Cells(a, 1), i - 1)
Next
End Sub

:hey:
 
Üst