Şehirler arası gidiş-Dönüş

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,868
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
Ekteki dosyada yazdığım formülümde 3 şehir ismi olduğunda herhangi bir sıkıntı olmuyor. Ancak 2 şehir ismi olduğunda formülüm Değer hatası veriyor.
Formülde sanırım bir eksiklik var. Nasıl çözebilirim?

Saygılar

Kod:
=EĞER(A2="";"";PARÇAAL(A2;BUL("-";A2;BUL("-";A2;1)+1)+1;UZUNLUK(A2))&"-"&PARÇAAL(A2;BUL("-";A2)+1;BUL("-";A2;BUL("-";A2;1)+1)-BUL("-";A2)-1)&"-"&SOLDAN(A2;MBUL("-";A2)-1))
 

Ekli dosyalar

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
Aşağıdaki şekilde deneyiniz.
Kod:
=EĞERHATA(EĞER(A2="";"";PARÇAAL(A2;BUL("-";A2;BUL("-";A2;1)+1)+1;UZUNLUK(A2))&"-"&PARÇAAL(A2;BUL("-";A2)+1;BUL("-";A2;BUL("-";A2;1)+1)-BUL("-";A2)-1)&"-"&SOLDAN(A2;MBUL("-";A2)-1));EĞER(A2="";"";PARÇAAL(A2;BUL("-";A2)+1;UZUNLUK(A2))&"-"&PARÇAAL(A2;1;BUL("-";A2)-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.
Merhaba.
Elbette çok farklı bir çözüm önerisi değil ama alternatif olsun.
Rich (BB code):
=EĞERHATA(EĞERHATA(PARÇAAL(A2;BUL("|";YERİNEKOY(A2;"-";"|";2))+1;255);PARÇAAL(A2;BUL("|";YERİNEKOY(A2;"-";"|";1))+1;255))&EĞERHATA(PARÇAAL(A2;BUL("-";A2);BUL("|";YERİNEKOY(A2;"-";"|";2))-BUL("-";A2));"")&"-"&SOLDAN(A2;BUL("-";A2)-1);EĞER(A2="";"";A2))
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,868
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
Sayın @çıtır ve @Ömer BARAN hocalarım öncelikle teşekkür ederim.
Ben kendi formülüm de neyi eksik yapmışım anlatma şansınız var mı?


Saygılar
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Alternatif:

KTF ile.

Kod:
Function Ters(aln As Range, Optional ayr As String = "-") As String

    Dim sz1 As Variant, sz2  As Long
    sz1 = Split(aln, ayr)
    For sz2 = UBound(sz1) To LBound(sz1) Step -1
        Ters = Ters & ayr & sz1(sz2)
    Next sz2
    Ters = Replace(Ters, ayr, "", 1, 1)
    
End Function
Dosyanız ekte.

.
 

Ekli dosyalar

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,868
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026

Ö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.
Ben kendi formülüm de neyi eksik yapmışım anlatma şansınız var mı?
Merhaba.
Kullandığınız formülde, metin içerisinde 1 adet "-" karakteri olduğunda aşağıda ilk satırdaki kırmızı kısım hata vereceğinden sonuç alamıyorsunuz.
Mevcut formülünüzü aşağıdaki mavi renklendirilmiş ikinci satırdaki gibi düzenleyerek sorun aşılabilir.
Rich (BB code):
BUL("-";A2;BUL("-";A2;1)+1)
=EĞERHATA(PARÇAAL(A2;BUL("-";A2;BUL("-";A2;1)+1)+1;UZUNLUK(A2));PARÇAAL(A2;BUL("-";A2)+1;UZUNLUK(A2)))&"-"&EĞERHATA(PARÇAAL(A2;BUL("-";A2)+1;BUL("-";A2;BUL("-";A2;1)+1)-BUL("-";A2)-1);"")&"-"&SOLDAN(A2;MBUL("-";A2)-1)
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,868
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Merhaba.
Kullandığınız formülde, metin içerisinde 1 adet "-" karakteri olduğunda aşağıda ilk satırdaki kırmızı kısım hata vereceğinden sonuç alamıyorsunuz.
Mevcut formülünüzü aşağıdaki mavi renklendirilmiş ikinci satırdaki gibi düzenleyerek sorun aşılabilir.
Rich (BB code):
BUL("-";A2;BUL("-";A2;1)+1)
=EĞERHATA(PARÇAAL(A2;BUL("-";A2;BUL("-";A2;1)+1)+1;UZUNLUK(A2));PARÇAAL(A2;BUL("-";A2)+1;UZUNLUK(A2)))&"-"&EĞERHATA(PARÇAAL(A2;BUL("-";A2)+1;BUL("-";A2;BUL("-";A2;1)+1)-BUL("-";A2)-1);"")&"-"&SOLDAN(A2;MBUL("-";A2)-1)

Selamlar
Sayın @Ömer BARAN hocam verdiğiniz açıklama için çok teşekkür ederim.

Saygılar
 
Üst