• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Hücre içindeki son boşluktan sonrasını silmek

Katılım
23 Temmuz 2007
Mesajlar
52
Excel Vers. ve Dili
2007
Merhaba,

Hücre içlerinde cümleler var.
Hücredeki en son boşluk neredeyse, o boşluktan itibaren sağında ne varsa silmek mümkün müdür.

Örnek:
Hücre içi:"Excel kullanmaya yeni başladıysanız sorularınızı buraya gönderebilirsiniz."

ise

Sonuç:"Excel kullanmaya yeni başladıysanız sorularınızı buraya"

Saygılar


Not:
Bazı sayfalarınıda örnekleri inceledim ama uygulayamadım. Mesala aşağıdaki formüller benim sorunuma uygun mudur bilmiyorum ama denedim olmadı:
=SOLDAN(A2;MBUL(" ";A2;1)-1)
=SAĞDAN(A2;UZUNLUK(A2)-MBUL(" ";A2;MBUL(" ";A2;1)+1))
 
A1 hücresinde olduğunu varsayarsak,

Dizi formülüdür, CTRL+SHIFT+ENTER ile kapatmayı unutmayın.

Kod:
=SOLDAN(A1;MAK(EĞER(PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1)=" ";SATIR(DOLAYLI("1:"&UZUNLUK(A1)))))-1)
 
Elinize bilginize sağlık, almak istediğim sonuç tam olarak buydu. Çok teşekkür ederim üstad.
 
Kelimeler arasında tek boşluk olduğunu varsayarak bir formül yazdım belki işinize yarar. Belki çift boşluk yerine farklı bir karakter ile formül daha işlevsel hale getirilebilir.
Kod:
=PARÇAAL(A1;1;MBUL("  ";YERİNEKOY(A1;" ";"  ";UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))))-1)
 
A1 hücresinde olduğunu varsayarsak,

Dizi formülüdür, CTRL+SHIFT+ENTER ile kapatmayı unutmayın.

Kod:
=SOLDAN(A1;MAK(EĞER(PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1)=" ";SATIR(DOLAYLI("1:"&UZUNLUK(A1)))))-1)

Erdem bey, bu örnekteki cümlenin en sonundaki boşluktan sonraki kelimeyi almak istiyorum nasıl yapabilirim

teşekkür ederim
 
Kod:
=YERİNEKOY(SAĞDAN(A1;UZUNLUK(A1)-BUL("@";YERİNEKOY(A1;" ";"@";UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";"")));1));" ";"")

.
 
A1 hücresinde olduğunu varsayarsak,

Dizi formülüdür, CTRL+SHIFT+ENTER ile kapatmayı unutmayın.

Kod:
=SOLDAN(A1;MAK(EĞER(PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1)=" ";SATIR(DOLAYLI("1:"&UZUNLUK(A1)))))-1)
Hocam emeğinize sağlık. Yalnız solda tek karakter olunca neden olmadı. Nerede hata yapıyorum acaba? Teşekkür ederim.
Ekran görüntüsü 2025-05-28 045047.png
 
Erdem bey önerisinde SOLDAN fonksiyonunu kullanmış. Siz ise SAĞDAN fonksiyonunu kullanmışsınız. Sorun bu olabilir mi?
 
Erdem bey önerisinde SOLDAN fonksiyonunu kullanmış. Siz ise SAĞDAN fonksiyonunu kullanmışsınız. Sorun bu olabilir mi?
Hocam, ben o şeklide düşünmemiştim. Yürüttüğüm mantık, ilk boşluk ya da son boşluk şeklindeydi. İlk satırdaki örnekte ilk boşluktan öncesini silmek şeklinde söyleyemez miyiz? 2. Satırda da aynı prensiple çalışması gerekmez mi? Anlamak için soruyorum hocam.
Teşekkür ederim.
 
Formüller ne yapmak istediğinize göre değişir.

Siz tam olarak ne yapmak istiyorsunuz?
 
Formüller ne yapmak istediğinize göre değişir.

Siz tam olarak ne yapmak istiyorsunuz?
Hocam, sayı ya da harf olsa da tek karakter olsa da ilk boşluktan öncesini silmek. Yani buradaki örnekte sadece 1 rakamını silmesi.
Teşekkür ederim hocam.
Ayrıca öğrenmek için soruyorum hocam. 4-5-6 karakterli olunca siliyor ama tek karakter olunca bozuyor, neden acaba?
 
Bunu deneyebilirsiniz.

C++:
=PARÇAAL(A1;BUL(" ";A1)+1;UZUNLUK(A1)-BUL(" ";A1))
 
Çözüme ulaştık..

Yürüttüğüm mantık, ilk boşluk ya da son boşluk şeklindeydi.

Ama siz kendi kullanımınızdaki sorunu sormuştunuz..

Burada önemli olan kurulan fonksiyonu okuyabilmektir. Yanlış okuyunca istenmeyen sonuçlar ortaya çıkacaktır.

=SAĞDAN(A1;MAK(EĞER(PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1)=" ";SATIR(DOLAYLI("1:"&UZUNLUK(A1)))))-1)

Bu formülde kalın fontlu bölüm metindeki boşluk karakterlerini arar ve en büyük indexi size verir. Yani kısaca en sondaki boşluk karakterinin konumunu size verir.

Mesela kalın fontlu bölüm sonuç olarak 15 değerini verdiyse siz formülde A1 hücresindeki metinin SAĞDAN 15 karakterini al demiş oluyorsunuz. Bu da bazı metinlerde doğru sonuç verirken bazı metinlerde hatalı sonuç çıkmasına sebep olmaktadır. Çünkü doğru bir kullanım değildir.

Kısaca her formül istenen çözüme göre tasarlanmaktadır. Her formülü her yerde kullanamayız...
 
Çözüme ulaştık..



Ama siz kendi kullanımınızdaki sorunu sormuştunuz..

Burada önemli olan kurulan fonksiyonu okuyabilmektir. Yanlış okuyunca istenmeyen sonuçlar ortaya çıkacaktır.

=SAĞDAN(A1;MAK(EĞER(PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1)=" ";SATIR(DOLAYLI("1:"&UZUNLUK(A1)))))-1)

Bu formülde kalın fontlu bölüm metindeki boşluk karakterlerini arar ve en büyük indexi size verir. Yani kısaca en sondaki boşluk karakterinin konumunu size verir.

Mesela kalın fontlu bölüm sonuç olarak 15 değerini verdiyse siz formülde A1 hücresindeki metinin SAĞDAN 15 karakterini al demiş oluyorsunuz. Bu da bazı metinlerde doğru sonuç verirken bazı metinlerde hatalı sonuç çıkmasına sebep olmaktadır. Çünkü doğru bir kullanım değildir.

Kısaca her formül istenen çözüme göre tasarlanmaktadır. Her formülü her yerde kullanamayız...

Hocam 14 no'lu cevabınız oldu aslında. "Her formülü her yerde kullanamayız" kulağıma küpe olsun. Emeğinize sağlık.
 
Geri
Üst