Sondaki eksi işaretini başa almak

akara.88

Altın Üye
Katılım
23 Mayıs 2016
Mesajlar
62
Excel Vers. ve Dili
2013 TR
Altın Üyelik Bitiş Tarihi
12.10.2026
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:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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.
 

akara.88

Altın Üye
Katılım
23 Mayıs 2016
Mesajlar
62
Excel Vers. ve Dili
2013 TR
Altın Üyelik Bitiş Tarihi
12.10.2026
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.
Merhaba,
Konuyu; bir örnek dosya ekleyerek güncelledim.
 
Katılım
31 Ocak 2012
Mesajlar
2,430
Excel Vers. ve Dili
Excel 2010 , Türkçe
Altın Üyelik Bitiş Tarihi
24.01.2019
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:

lark

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2004
Mesajlar
322
Excel Vers. ve Dili
Excel 2021 / Türkçe
Merhaba

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

Ö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 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]
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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.
 
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
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ü :)
 

akara.88

Altın Üye
Katılım
23 Mayıs 2016
Mesajlar
62
Excel Vers. ve Dili
2013 TR
Altın Üyelik Bitiş Tarihi
12.10.2026
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ş.
 
Üst