parçaal, uzunluk,sağdan,soldan...

Katılım
6 Mayıs 2014
Mesajlar
264
Excel Vers. ve Dili
office 365
Altın Üyelik Bitiş Tarihi
23-06-2021
Merhaba. Parçaal, uzunluk,sağdan,soldan formülleri ile denedim ama istediğimi yapamadım. Yardımlarınıza ihtiyacım var. bir hücrede /1/5/10/ gibi bir değer var.hücredeki değer daha uzun da olabilir. ( /1/5/10/8/12/6/ gibi) "/" işaretlerinin arasında sayısal değerler var ve bu sayısal değerler en fazla 2 haneli olabilir. Sayılar değişebilir. Ben "/" işaretlerinin arasındaki değerleri alıp başka hücrelere yazdırmak istiyorum. mesela A1 hücresinde /1/5/10/ değeri varsa, 5 ve 10 sayılarını A1 hücresinden ayrı ayrı alan iki formül nasıl olmalıdır? Burada sayılar değişken olduğundan önemli olan aralıklar. Yani bu örnekte ikinci ve üçüncü aralıktaki sayıları ayrı bir hücreye ayrı ayrı yazdırmak için nasıl bir formül yazmalıyım?
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
B1 Hücresine kopyalayınız.Boş hücre çıkınçaya kadar sağa doğru çoğaltınız.
Kod:
=EĞERHATA(KIRP(PARÇAAL(YERİNEKOY($A1;"/";YİNELE(" ";100));100*SÜTUN(A1);100))*1;"")
 

Ö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.
Bu da alternatif olsun.
B1 hücresine uygulayıp, boş sonuç alıncaya kadar sağa doğru kopyalayın.
Rich (BB code):
=EĞER(UZUNLUK($A1)-UZUNLUK(YERİNEKOY($A1;"/";""))-1>=SÜTUN(A$1);1*PARÇAAL($A1;BUL("|";YERİNEKOY($A1;"/";"|";SÜTUN(A1)))+1;BUL("@";YERİNEKOY($A1;"/";"@";SÜTUN(B1)))-BUL("|";YERİNEKOY($A1;"/";"|";SÜTUN(A1)))-1);"")
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
KTF
Aşağıdaki kodu standart bir modüle yazın.
hücreyede aşağıdaki fomülü girin.:cool:

=verial59(A1;2)

Kod:
Function verial59(ByVal hcr As Range, ByVal sira As Integer)
verial59 = Split(hcr.Value, "/")(sira)
End Function
 
Katılım
6 Mayıs 2014
Mesajlar
264
Excel Vers. ve Dili
office 365
Altın Üyelik Bitiş Tarihi
23-06-2021
Ben de örnek dosya eklemek üzereydim ki siz cevabı vermişsiniz. Formülü denedim, güzel oldu. Elinize sağlık..
 

Ekli dosyalar

Ö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 Sayın GİZLEN.
Sanırım KTF'yi ilk hücreye =verial59($A1;SÜTUN(A$1)) şeklinde yazıp sağa doğru kopyalamak gerekiyor.
Formül, hücredeki / karakteri sayısından fazla sütuna çoğaltıldığında HATA vermesini engellemek lazım sanki.
 
Katılım
6 Mayıs 2014
Mesajlar
264
Excel Vers. ve Dili
office 365
Altın Üyelik Bitiş Tarihi
23-06-2021
Ömer Baran ve Orion1, sizlere de teşekkür ederim
 
Katılım
6 Mayıs 2014
Mesajlar
264
Excel Vers. ve Dili
office 365
Altın Üyelik Bitiş Tarihi
23-06-2021
Kusura bakmayın. Bir şey daha sormak istiyorum. Formüller kendinden önceki sola doğru (soldaki hücre veya hücrelere) bağımlı olarak çalışıyor. bu bağımlılık olmadan sonuca ulaşmak mümkün mü? "yeni" sayfasındaki örneği ele alırsak; D3 hücresine yazılacak formül, B3, C3 gibi kendinden önceki hücrelere bağımlı olmadan sadece A3 hücresini esas alarak çalışabilir mi? Eğer mümkünse bunu sağlayacak bir formül daha güzel olur.
(Ömer Bey sadece bir not olarak belirtmek istiyorum. "örnek 2" sayfasında sizin formülün çalıştığını da gördüm. Ancak formül kendi hücre değerine başvuruyor. Ayrıca B4 hücresindeki değeri esas alırsak, formülün içindeki ( >=SÜTUN(A$4); ) kısmında 4 kısmı sabit mi olmalı. Bu iki husus sorun olur mu, bunu bildirmek istedim)
 

Ekli dosyalar

Ö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.
Bilgisayar başında değilim.
SÜTUN veya SATIR işlevi hücrenin kendisine değil
(kendisine olsa DÖNGÜSEL BAŞVURU hatası alırsınız)
sütun veya satırın numarasına atıf yapar.
Belirttiğiniz SÜTUN(A$4) yerine SÜTUN(A$1) de yazsanız sonuç değişmez.
 

Ö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.
Tekrar merhaba.
örnek2 sayfası B4 hücresindeki formülü aşağıdaki şekilde değiştirip, sağa ve aşağı doğru kopyalayarak da aynı sonuçları alırsınız
(böylece formül sadece kendi bulunduğu sütunun sütun numarasına atıf yapmış olur) .
Rich (BB code):
=EĞER(UZUNLUK($A4)-UZUNLUK(YERİNEKOY($A4;"/";""))>=SÜTUN();1*PARÇAAL($A4;BUL("|";YERİNEKOY($A4;"/";"|";SÜTUN()-1))+1;BUL("@";YERİNEKOY($A4;"/";"@";SÜTUN()))-BUL("|";YERİNEKOY($A4;"/";"|";SÜTUN()-1))-1);"")
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Alternatif

Kod:
=KIRP(PARÇAAL(YERİNEKOY("/"&PARÇAAL($A4;2;UZUNLUK($A4));"/";YİNELE(" ";255));SÜTUNSAY($A$4:A4)*255;255))
 

Kekoli

Altın Üye
Katılım
4 Aralık 2017
Mesajlar
134
Excel Vers. ve Dili
Excell 2016
Altın Üyelik Bitiş Tarihi
11-02-2025
Tekrar merhaba.
örnek2 sayfası B4 hücresindeki formülü aşağıdaki şekilde değiştirip, sağa ve aşağı doğru kopyalayarak da aynı sonuçları alırsınız
(böylece formül sadece kendi bulunduğu sütunun sütun numarasına atıf yapmış olur) .
Rich (BB code):
=EĞER(UZUNLUK($A4)-UZUNLUK(YERİNEKOY($A4;"/";""))>=SÜTUN();1*PARÇAAL($A4;BUL("|";YERİNEKOY($A4;"/";"|";SÜTUN()-1))+1;BUL("@";YERİNEKOY($A4;"/";"@";SÜTUN()))-BUL("|";YERİNEKOY($A4;"/";"|";SÜTUN()-1))-1);"")
Ömer üstadım,
Algoritma mantığını açıklayabilir misiniz?
bir iki cümle yeterli olacaktır :)
teşekkür ederim.
 
Üst