Sağdan Boşluğa kadar Al

Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
Merhaba,

Normalde fonksiyonu şu şekilde yazdığımda Soldan boşluğa kadar alıyor.
=LEFT(D5;((SEARCH(" ";D5;1)-1)))

Ali Fuat TANDOĞAN

Sonuç ALi

Aynı şeyi sağdan boşluğa kadar almak için nasıl yaparım.

Ali Fuat TANDOĞAN

Sonuç TANDOĞAN'ı almak istiyorum.

Teşekkürler Saygılar...
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,895
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Aşağıdaki formülü denermisiniz.

Kod:
=SAĞDAN(A1;UZUNLUK(A1)-BUL("*";YERİNEKOY(A1;" ";"*";UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";"")))))
 
Katılım
16 Mart 2005
Mesajlar
132
Excel Vers. ve Dili
Office 2003 (Eng. )
İlginiz için çok teşekkürler saygılar...
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
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.
Peki Fuat ismini almak istersek?
Merhaba, aşağıdaki KTF ile istediğiniz sıradaki kelimeyi alabiliyorsunuz.
Kodu boş bir Modül'e yapıştırın, sayfaya formül olarak =KelimeVer(A1;3) gibi yazın.
Kod:
Function KelimeVer(ByVal Metin As String, Optional ByVal Kacinci As Integer = 1, Optional ByVal Ayrac As String = " ") As String
[COLOR="Red"]    'AÇIKLAMA:
    '=KelimeVer(A1)         'metnin ilk kelimesini verir
    '=KelimeVer(A1;5)       'Sondaki sayı kaç ise metnin o sıradaki kelimesini verir. Kelime sayısı az ise sondakini verir
    '=KelimeVer(C5;5;"-")   'metin boşluk yerine başka bir karakterle ayrılıyorsa (Ör: -)[/COLOR]
    If InStr(1, Metin, Ayrac, vbTextCompare) > 0 Then
        Dim Dizi
        Dim Say As Integer
        Dizi = Split(Metin, Ayrac)
        Say = UBound(Dizi) + 1
        If Kacinci > Say Then Kacinci = Say
        If Kacinci < 1 Then Kacinci = 1
        KelimeVer = Dizi(Kacinci - 1)
    Else
        KelimeVer = ""
    End If
End Function
NOT:Tam hatırlamıyorum ama bir forumdan edindiğim KTF kodu idi.
 
Son düzenleme:
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
makro kodlari gercekten hic sevemedim cunku en ufak bir degisiklik yapmak istedigimde tikanip kalacagim ve cok bilgim olmadigi icin kendi capimda oyle bir formul yazayim dedim. bu formulde Ornegin, "X1 Avenue, Mechanicville, NY" gibi bir degerin oldugu hucreden "Mechanicville" kelimesini yazdirmak istersek:(NOT: Kelime alimi ", " ifadesine gore yapildi..)

1. YOL (Karisik uzun ve sacma fakat 2. ve kisa yola giden yol ancak ben bu 1. uzun yola kafa yorup, ancak 2. kisa yolu bulabildigim icin icin her ikisini de paylasiyorum. cumle icinden koparip almak istedigimiz kelime ", " ifadesi ile ayrildigi surece sorun cikartmayacaktir. ben kendi dosyam icin yazdigimdan dolayi ve bu bir adres oldugundan dolayi ", " ifadesini sectim. 2. yolu incelerseniz kendi istediginiz sekilde ayarlayabilirsiniz, tum sorun cikartabilecek senaryolari yaptim fakat hata bulamadim. o nedenle burada paylasmak istedim. o kadar yardim aliyoruz bu siteden bu sefer de bizim bir faydamiz olsun :) kolay gelsin.
D2 Hucresi: X1 Avenue, Mechanicville, NY

E2 Hucresi Formul:
Kod:
=EĞER(EHATALIYSA(MBUL(", ",SAĞDAN(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1),UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-BUL(", ",YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",", ",UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-UZUNLUK(YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",""))))),1)), SAĞDAN(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1),UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-BUL(", ",YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",", ",UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-UZUNLUK(YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",""))))), SAĞDAN(SAĞDAN(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1),UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-BUL(", ",YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",", ",UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-UZUNLUK(YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",""))))),UZUNLUK(SAĞDAN(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1),UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-BUL(", ",YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",", ",UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-UZUNLUK(YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",""))))))-BUL(", ",YERİNEKOY(SAĞDAN(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1),UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-BUL(", ",YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",", ",UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-UZUNLUK(YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ","")))))," ",", ",UZUNLUK(SAĞDAN(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1),UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-BUL(", ",YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",", ",UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-UZUNLUK(YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",""))))))-UZUNLUK(YERİNEKOY(SAĞDAN(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1),UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-BUL(", ",YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ",", ",UZUNLUK(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1))-UZUNLUK(YERİNEKOY(PARÇAAL(D2,1,MBUL(PARÇAAL(D2,MBUL(", NY",D2,1),UZUNLUK(D2)-UZUNLUK(", NY")-1),D2,1)-1)," ","")))))," ",""))))))
E2 Hucresi Sonuc: Mechanicville

2. YOL: (Kisa yol)(Tum hucre degerleri ayni sekilde yukaridaki gibi). Formul ise soyle:
Kod:
=EĞERHATA(PARÇAAL(SAĞDAN(PARÇAAL(D2,1,MBUL(", "&SAĞDAN(D2,UZUNLUK(D2)-BUL("*",YERİNEKOY(D2," ","*",UZUNLUK(D2)-UZUNLUK(YERİNEKOY(D2," ",""))))),D2,1)-1),MBUL(", ",D2,1)),MBUL(", ",SAĞDAN(PARÇAAL(D2,1,MBUL(", "&SAĞDAN(D2,UZUNLUK(D2)-BUL("*",YERİNEKOY(D2," ","*",UZUNLUK(D2)-UZUNLUK(YERİNEKOY(D2," ",""))))),D2,1)-1),MBUL(", ",D2,1)))+1,2000),SAĞDAN(PARÇAAL(D2,1,MBUL(", "&SAĞDAN(D2,UZUNLUK(D2)-BUL("*",YERİNEKOY(D2," ","*",UZUNLUK(D2)-UZUNLUK(YERİNEKOY(D2," ",""))))),D2,1)-1),MBUL(", ",D2,1)))
Dipnot: Yukarida Ali'nin paylastigi formulden faydalandim.
 
Son düzenleme:
Katılım
27 Kasım 2016
Mesajlar
8
Excel Vers. ve Dili
PARK
Kod:
=SAĞDAN(A1;UZUNLUK(A1)-BUL("*";YERİNEKOY(A1;" ";"*";UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";"")))))
bu formunu nasıl parçalayabiliriz hepsi birlikte olunca tam anlayamadım.Karısık oldu
 

HACI46

Altın Üye
Katılım
5 Aralık 2015
Mesajlar
113
Excel Vers. ve Dili
windows 10 Pro TR
Altın Üyelik Bitiş Tarihi
18-04-2025
Aşağıdaki formülü denermisiniz.

Kod:
=SAĞDAN(A1;UZUNLUK(A1)-BUL("*";YERİNEKOY(A1;" ";"*";UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";"")))))
Ali bey elinize sağlık,aynı formül bana da gerekliydi, bende istifade etmiş oldum teşekkürler. Peki bu formülü sağdan 2." " boşlukla sağdan 1."" boşluk arasını nasıl alabilirim. (Bu soruda A1 deki Ali Fuat TANDOĞAN) dan 2.Kelimeyi sağdan formülü ile nasıl alabilirim.
Buna da bir formül yazabilir misiniz, İlginizi bekler, Sağlıklı Günler dilerim. Selamlar.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,519
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
SAĞDAN fonksiyonu ile aşağıdaki gibi olabilir.

C++:
=SAĞDAN(SOLDAN(A1;BUL("*";YERİNEKOY(A1;" ";"*";2))-1);BUL(" ";SOLDAN(A1;BUL("*";YERİNEKOY(A1;" ";"*";2))-1)))
 

HACI46

Altın Üye
Katılım
5 Aralık 2015
Mesajlar
113
Excel Vers. ve Dili
windows 10 Pro TR
Altın Üyelik Bitiş Tarihi
18-04-2025
SAĞDAN fonksiyonu ile aşağıdaki gibi olabilir.

C++:
=SAĞDAN(SOLDAN(A1;BUL("*";YERİNEKOY(A1;" ";"*";2))-1);BUL(" ";SOLDAN(A1;BUL("*";YERİNEKOY(A1;" ";"*";2))-1)))
Teşekkürler Korhan bey sağ olun, Sağlıklı günler dileği ile hayırlı akşamlar, hayırlı Ramazanlar.
 

HACI46

Altın Üye
Katılım
5 Aralık 2015
Mesajlar
113
Excel Vers. ve Dili
windows 10 Pro TR
Altın Üyelik Bitiş Tarihi
18-04-2025
SAĞDAN fonksiyonu ile aşağıdaki gibi olabilir.

C++:
=SAĞDAN(SOLDAN(A1;BUL("*";YERİNEKOY(A1;" ";"*";2))-1);BUL(" ";SOLDAN(A1;BUL("*";YERİNEKOY(A1;" ";"*";2))-1)))
Korhan bey tekrar merhaba, Yukarıdaki formül 2 " " boşluklu metinde işimi gördü de, 2 den fazla boşluk olanda hatalı sonuç getiriyor.
Örnek: A1 hücresindeki ( 95-100gr Ekmek 156,00 1.404,00 ) burada 156,00 Adeti, 1.404,00 Tutarı Gösteriyor, Ben buradan ( 95-10gr Ekmek ) Deyimini B1 Hücresine, 156,00 Adet Kısmını C1 Hücresine, 1.404,00 Tutar Kısmını da D1 Hücresine Ayırmak istiyorum.
Not: Deyimin, Adet ve Tutar rakamlarının Karakter sayıları değişken ama yukarıda olduğu gibi Deyim......Adet.....Tutar...... Dizini sabit
Bunu nasıl yapabilirim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,519
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Talebiniz iki boşluklu veri için bir çözümdü. Bende çözümü verdiğimi düşünüyorum.

Sorularınızı net sorarsanız vereceğimiz cevaplarda net olacaktır.
 
Katılım
28 Nisan 2010
Mesajlar
182
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
15/10/2022
B1 Hücresine
=PARÇAAL(A1;1;MBUL(" ";A1))

C1 Hücresine
=PARÇAAL(A1;BUL(" ";A1;BUL(" ";A1)+1);BUL(" ";A1)-1)

D1 Hücresine
=PARÇAAL(A1;BUL(" ";A1;BUL(" ";A1;BUL(" ";A1)+1)+1);BUL(" ";A1))
 
Katılım
28 Nisan 2010
Mesajlar
182
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
15/10/2022
B1 Hücresine
=PARÇAAL(A1;1;BUL(" ";A1;BUL(" ";A1)+1))

C1 Hücresine
=PARÇAAL(A1;BUL(" ";A1;BUL(" ";A1)+1);BUL(" ";A1)-1)

D1 Hücresine
=PARÇAAL(A1;BUL(" ";A1;BUL(" ";A1;BUL(" ";A1)+1)+1);BUL(" ";A1))
 

HACI46

Altın Üye
Katılım
5 Aralık 2015
Mesajlar
113
Excel Vers. ve Dili
windows 10 Pro TR
Altın Üyelik Bitiş Tarihi
18-04-2025
B1 Hücresine
=PARÇAAL(A1;1;BUL(" ";A1;BUL(" ";A1)+1))

C1 Hücresine
=PARÇAAL(A1;BUL(" ";A1;BUL(" ";A1)+1);BUL(" ";A1)-1)

D1 Hücresine
=PARÇAAL(A1;BUL(" ";A1;BUL(" ";A1;BUL(" ";A1)+1)+1);BUL(" ";A1))
İlginiz için teşekkür ediyorum, Burada ki Deyim(Ürün ismi ile rakamlar) değişken geldiği için hata veriyor. Burada bizim Sağdan 1. ve2. " " boşlukları bularak değerleri çekmemiz gerekiyor. Aşağıda örneklerde görüldüğü gibi.

A1

B1

C1

D1

Ayran 422,00 844,00

Ayran 422,00

844,

#DEĞER!

95-100gr Ekmek 156,00 1.404,00

95-100gr Ekmek

156,00

1.404,00

115-120gr Ekmek 145,00 1.595,00

115-120gr Ekmek

145,00 1

1.595,00

55-60gr Ekmek 114,00 684,00

55-60gr Ekmek

114,00

684,00

95-100gr Lavas Ekmek 111,00 999,00

95-100gr Lavas

Ekmek 1

111,00 9

145-150gr Ekmek 71,00 958,50

145-150gr Ekmek

71,00 95

958,50

Diger Icecek 62,00 120,50

Diger Icecek

62,0

120,5

145-150gr Lavas Ekmek 51,00 688,50

145-150gr Lavas

Ekmek 51

51,00 688

    

115-120gr Ekmek ("")145,00 ("") 1.595,00

   
 

HACI46

Altın Üye
Katılım
5 Aralık 2015
Mesajlar
113
Excel Vers. ve Dili
windows 10 Pro TR
Altın Üyelik Bitiş Tarihi
18-04-2025
Talebiniz iki boşluklu veri için bir çözümdü. Bende çözümü verdiğimi düşünüyorum.

Sorularınızı net sorarsanız vereceğimiz cevaplarda net olacaktır.
Haklısınız elbet Formül de sıkıntı yok, 2 boşluklu olanlarda sonuç doğru geliyor. Fakat 3-4 boşluklu verilerde hatalı sonuç getiriyor, bunu sağdan( soldan( şeklinde değilde sağdan( 1.boşluk sağdan 2.boşluk olarak buldura bilir miyiz .
selamlar.
 
Katılım
28 Nisan 2010
Mesajlar
182
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
15/10/2022
Bu verilerin tümünün de olacağı örnek bir dosya atar mısınız?
 
Katılım
28 Nisan 2010
Mesajlar
182
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
15/10/2022
B1 Hücresine
=EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))<=3;PARÇAAL(A1;1;MBUL(" ";A1;MBUL(" ";A1)+1));PARÇAAL(A1;1;BUL(" ";A1;BUL(" ";A1;BUL(" ";A1)+1)+1)))

C1 Hücresine
=EĞER(UZUNLUK(A2)-UZUNLUK(YERİNEKOY(A2;" ";""))<=3;PARÇAAL(A2;1;MBUL(" ";A2;MBUL(" ";A2)+1));PARÇAAL(A2;1;BUL(" ";A2;BUL(" ";A2;BUL(" ";A2)+1)+1)))

D1 Hücresine
=EĞER(UZUNLUK(A3)-UZUNLUK(YERİNEKOY(A3;" ";""))<=3;PARÇAAL(A3;1;MBUL(" ";A3;MBUL(" ";A3)+1));PARÇAAL(A3;1;BUL(" ";A3;BUL(" ";A3;BUL(" ";A3)+1)+1)))
 
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Alternatif olarak.Verilerinizin A1 Hücresinden başladığı varsayılmışdır.B1 Hücresine kopyalayınız.Yeterince sağa ve aşağı doğru kopyalayınız.
Kod:
=KIRP(YERİNEKOY(PARÇAAL(YERİNEKOY(YERİNEKOY($A1;" ";"|";1);" ";YİNELE(" ";100));100*SÜTUN(A$1)-99;100);"|";" "))
 
Katılım
28 Nisan 2010
Mesajlar
182
Excel Vers. ve Dili
2007 Türkçe
Altın Üyelik Bitiş Tarihi
15/10/2022
Alternatif olarak.Verilerinizin A1 Hücresinden başladığı varsayılmışdır.B1 Hücresine kopyalayınız.Yeterince sağa ve aşağı doğru kopyalayınız.
Kod:
=KIRP(YERİNEKOY(PARÇAAL(YERİNEKOY(YERİNEKOY($A1;" ";"|";1);" ";YİNELE(" ";100));100*SÜTUN(A$1)-99;100);"|";" "))
145-150gr Lavas Ekmek 51,00 688,50
Bu örnek için hata veriyor
 
Üst