• DİKKAT

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

Sondaki eksi işaretini başa almak

akara.88

Altın Üye
Katılım
23 Mayıs 2016
Mesajlar
66
Excel Vers. ve Dili
2013 TR
Merhaba,
Makro kullanmadan sondaki eksi işaretini başa almak için bir formül var mı?

Benim denediğim formül aşağıdaki şekilde ama hata veriyor. Çözüme ulaştıran bir yol varsa yardımlarınızı bekliyorum.

Benim formülüm; (A sütununda sonunda eksi işareti olan sayılar ve pozitif sayılar mevcut. Amacım; ya B sütununa bir formül ile pozitif sayıları aynen, negatif sayıları ise sonundaki eksiyi başına alarak getirmek. Ya da mümkünse hücreleri biçimlendirme ile aynı sütunda bu işi çözmek.
=EĞER(SAĞDAN;A1;1)="-";A1*(-1);A1
 

Ekli dosyalar

Son düzenleme:
Dosyanızın yapısını ve örnek verileri görmeden yapmaya çalışmak konuyu uzatır. Asıl dosyanızın yapısına uygun bir örnek dosya yüklerseniz iyi olur.
 
selam,
dosyanız ekte..
Not : Kullandığınız formül revize edilerek kullanıldı.. Çünkü sayının sonuna "-" gibi Metin eklendiğinde sayı niteliğinde olmayan Metin biçiminde olur. Dolayısıyla METİN*-1 ifadesi de DEĞER hatası verir.
 
Son düzenleme:
Merhaba

Kod:
=eğer(sağdan(a1;1)="-";parçaal(a1;1;uzunluk(a1)-1)*(-1);a1)
 
Merhaba.

Sayın YUSUF Bey örnek dosyanızı fark etmedi sanırım.
Formül ile çözüm isterseniz formülü, makro ile çözüm isterseniz makroyu kullanın.

-- Formülü B1 hücresine uygulayıp aşağı doğru kopyalayın.
-- Kod'u, alt taraftan sayfa adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin, açılan VBA ekranının sağ tarafındaki boş alana yapıştırın ve VBA ekranındayken F5 tuşura basın.
.
Kod:
=EĞER(SAĞDAN(A1;1)="-";-1*YERİNEKOY(A1;"-";"");1*A1)
Kod:
[FONT="Arial Narrow"]Sub EKSİ()
For brn = 1 To [A65536].End(3).Row
Cells(brn, 1).NumberFormat = "#,##0.00_ ;[Red]-#,##0.00"
    If Right(Cells(brn, 1), 1) = "-" Then Cells(brn, 1) = 1 * Left(Cells(brn, 1), Len(Cells(brn, 1) - 1))
Next
End Sub[/FONT]
 
Alternatif olarak, eğer gerçekten negatif olan sayılar (örneğin -5 gibi) yoksa aşağıdaki formülü de kullanabilirsiniz:

Kod:
=YERİNEKOY(A1;"-";"")*1

Formül 5-'yi de -5'i de 5'e dönüştürür, 5 aynen kalır.
 
Merhabalar,
Alternatif olsun.
Kod:
=EĞER(SAĞDAN(A1;1)="-";YERİNEKOY(A1;"-";)*-1;A1)

Saygılar,
Kafe

Not: Cevap verene kadar Ömer Bey'in cevabı ile mükerer cevap olmuş. Yusuf Bey biraz daha kısaltmış formülü :)
 
selam,
dosyanız ekte..
Not : Kullandığınız formül revize edilerek kullanıldı.. Çünkü sayının sonuna "-" gibi Metin eklendiğinde sayı niteliğinde olmayan Metin biçiminde olur. Dolayısıyla METİN*-1 ifadesi de DEĞER hatası verir.

Çok Teşekkür ederim. Ellerinize sağlık. Mükkemmel olmuş.
 
Geri
Üst