eksi değerleri 0 yapmak

Katılım
28 Kasım 2006
Mesajlar
249
Excel Vers. ve Dili
2007
Altın Üyelik Bitiş Tarihi
26-05-2023
excel çalışma sayfamda f3 ile f8500 arasında ki sutunda değerlerin içinde - eksi değerler var ve toplam aldığımda bu artı değerlerden düştüğü için bu eksi değerleri 0 d,sıfıra dönüştürecek bir makro kodu var mı acaba ?
 
Katılım
7 Mart 2005
Mesajlar
313
Excel Vers. ve Dili
Excel 2013 Türkçe
- değerleri sıfırlamak mı istiyorsunuz ya da - değerleri görmeden + ları toplatmak istiyorsanız formülünüz aşağıda

=TOPLA(EĞER(f3:f8500>0;f3:f8500))
Dizi formüldür Ctrl+Shift+Enter
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

A1:A10 Aralığında pozitif ve negatif sayılar varsa;
Pozitif sayıların toplamı: (3.sü dizi formülüdür)
Kod:
=ETOPLA(A$1:A$10;">0";A$1:A$10)
Kod:
=TOPLA.ÇARPIM((A$1:A$10>0)*(A$1:A$10))
Kod:
=TOPLA(EĞER(A$1:A$10>0;A$1:A$10))
Negatif sayıların toplamı: (3.sü dizi formülüdür)
Kod:
=ETOPLA(A$1:A$10;"<0";A$1:A$10)
Kod:
=TOPLA.ÇARPIM((A$1:A$10<0)*(A$1:A$10))
Kod:
=TOPLA(EĞER(A$1:A$10<0;A$1:A$10))
Değerlerin toplamı:
Kod:
=TOPLA(A$1:A$10)
Mutlak değerlerinin toplamı: (2.si dizi formülüdür)
Kod:
=ETOPLA(A$1:A$10;">0";A$1:A$10)+ETOPLA(A$1:A$10;"<0";A$1:A$10)*-1
Kod:
=TOPLA(MUTLAK(A$1:A$10))
 
Katılım
28 Kasım 2006
Mesajlar
249
Excel Vers. ve Dili
2007
Altın Üyelik Bitiş Tarihi
26-05-2023
-leri 0 lamak

- değerleri sıfırlamak mı istiyorsunuz ya da - değerleri görmeden + ları toplatmak istiyorsanız formülünüz aşağıda

=TOPLA(EĞER(f3:f8500>0;f3:f8500))
Dizi formüldür Ctrl+Shift+Enter
- leri otomati 0 lamak istiyorum makro ile kod ile
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,121
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki kodu kullanabilirsiniz.

Not : Sorunuzu "Fonksiyonlar" bölümüne sormuşsunuz. Arkadaşlarda size fonksiyon önerilerinde bulunmuşlar. İstediğiniz cevap makro ile çözüm ise sorularınızı uygun bölümlere sormalısınız. Ben başlığınızı "Makrolar" bölümüne taşıdım.

Kod:
Sub Eksileri_Sifir_Yap()
    Dim Veri As Range
    
    For Each Veri In Range("F3:F8500")
        If Veri.Value < 0 Then Veri = 0
    Next
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
28 Kasım 2006
Mesajlar
249
Excel Vers. ve Dili
2007
Altın Üyelik Bitiş Tarihi
26-05-2023
dizi formülünde hata

Aşağıdaki kodu kullanabilirsiniz.

Not : Sorunuzu "Fonksiyonlar" bölümüne sormuşsunuz. Arkadaşlarda size fonksiyon önerilerinde bulunmuşlar. İstediğiniz cevap makro ile çözüm ise sorularınızı uygun bölümlere sormalısınız. Ben başlığınızı "Makrolar" bölümüne taşıdım.

Kod:
Sub Eksileri_Sifir_Yap()
    Dim Veri As Range
    
    For Each Veri In Range("F3:F8500")
        If Veri.Value < 0 Then Veri = 0
    Next
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
ben aşağıdaki kodu kullandım hata verdi
=TOPLA(EĞER('Borç Ana Sayfa'!M:M>0;'Borç Ana Sayfa'!M:M);ETOPLA('Borç Ana Sayfa'!G:G;B6;'Borç Ana Sayfa'!M:M))

borç anasayfa da 1 müşterinin borçları içinde - ve 0 ları toplamadan toplamasını isityorum yukarıdaki formül işe yaramadaı bakabilirmisiniz
 
Katılım
28 Kasım 2006
Mesajlar
249
Excel Vers. ve Dili
2007
Altın Üyelik Bitiş Tarihi
26-05-2023
birde bunu tam tersi + değerleri değil *- değerleri toplatmak istesek aynı şekilde o nasıl olur
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
ben aşağıdaki kodu kullandım hata verdi
=TOPLA(EĞER('Borç Ana Sayfa'!M:M>0;'Borç Ana Sayfa'!M:M);ETOPLA('Borç Ana Sayfa'!G:G;B6;'Borç Ana Sayfa'!M:M))

borç anasayfa da 1 müşterinin borçları içinde - ve 0 ları toplamadan toplamasını isityorum yukarıdaki formül işe yaramadaı bakabilirmisiniz
Merhaba
Bu formül yapısı dizi formülüdür.
ctrl+shift+enter ile girmelisiniz.

Formül kurgusu hatalı.
Eğer m:m>0 ise dediğinizde; hem m:m sütununda pozitif değerleri hem de etopla ile gelen sonucu üst üste toplayacaktır.

Bir formülün nasıl sonuç ürettiğini kontrol edebilmelisiniz.
En etkili yöntem; formüller'den formülü değerlendir seçeneğidir.
Buradan hesap adımlarını gözlemleyebilirsiniz.
Ancak m:m gibi bir aralık seçerseniz excel2007 ve sonrasında 1048576 satır seçmiş olursunuz ve makine kilitlenir.
m1:m20 gibi bir aralıkta sonucu test edin. sonra m1:m500 gibi aralık kullanabilirsiniz.

Örneğinizi m1:m5 gibi bir aralık kullanarak hem normal hem de dizi formülü olarak formülü değerlendir seçeneğinden hesap adımlarını izleyiniz.
her 2 formül yapısıyla nasıl farkı sonuç ürettiğini görebilirsiniz.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
birde bunu tam tersi + değerleri değil *- değerleri toplatmak istesek aynı şekilde o nasıl olur
3 nolu mesajda alternatif toplama seçenekleri farklı formüller ile gösterilmeye çalışılmıştı.

Bu tür sorularınızı örnek dosya ile destekleyin. Görmek istediğiniz sonucu yazarsanız sonuca daha çabuk ulaşma imkanınız olur.
 
Katılım
22 Mart 2005
Mesajlar
847
Excel Vers. ve Dili
Excel-2003 TR.
Altın Üyelik Bitiş Tarihi
29-06-2023
Merhaba,
Alternatif olması açısından; isteğe uyarlanmış ile yapabilirsiniz.

[>0]Genel;"0"
 
Katılım
28 Kasım 2006
Mesajlar
249
Excel Vers. ve Dili
2007
Altın Üyelik Bitiş Tarihi
26-05-2023
dosyanız ektedir

3 nolu mesajda alternatif toplama seçenekleri farklı formüller ile gösterilmeye çalışılmıştı.

Bu tür sorularınızı örnek dosya ile destekleyin. Görmek istediğiniz sonucu yazarsanız sonuca daha çabuk ulaşma imkanınız olur.
dosyayı ekledim

benim alacak listemde hem - eksi alacaklarım var (önden ödeme yapanlar) hemde + alacaklarım bunları ayrı ayrı müşteri temsilcisi yanında toplamak istiyorum

dosya ek te
 

Ekli dosyalar

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Bunu deneyiniz.
Kod:
=ÇOKETOPLA(Sayfa1!C:C;Sayfa1!B:B;E3;Sayfa1!C:C;"<0")
Kod:
=ÇOKETOPLA(Sayfa1!C:C;Sayfa1!B:B;E3;Sayfa1!C:C;">0")
Veya
Kod:
=TOPLA.ÇARPIM((Sayfa1!$B$3:$B$900=$E3)*((Sayfa1!$C$3:$C$900)<0)*(Sayfa1!$C$3:$C$900))
Kod:
=TOPLA.ÇARPIM((Sayfa1!$B$3:$B$900=$E3)*((Sayfa1!$C$3:$C$900)>0)*(Sayfa1!$C$3:$C$900))
 
Üst