tarihe göre toplama

igultekin2000

Altın Üye
Katılım
5 Eylül 2007
Mesajlar
1,237
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
iyi günler; çok sık kullandığım
Kod:
=EĞER(EĞERSAY(C$1:$C1;C1)<>1;EĞER(C1=C1;"";ÇOKETOPLA($A$1:$A$15855;$C$1:$C$15855;$C$1));ÇOKETOPLA($A$1:$A$15855;$C$1:$C$15855;C1))
formülü makro olarak kullanma imkanı olabilir mi., işlem olarak aynı tarihteki değerleri tek olarak topluyor. örnek dosya ektedir, Teşekkürler
 

Ekli dosyalar

Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
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.
Kullandığınız formülü incelemedim.
Anladığım kadarıyla, C sütunundaki tarihin her değiştiği satıra,
bu tarihle aynı olan satırlardaki A sütunu değerlerini toplamak istiyorsunuz.
Aşağıdaki kodlardan herhangi birini kullanabilirsiniz.
Rich (BB code):
Sub TOPLAMA()
[D:D].ClearContents: son = Cells(Rows.Count, "A").End(3).Row
For sat = 2 To son
    If WorksheetFunction.CountIf(Range("C2:C" & sat), Cells(sat, "C")) = 1 Then
        Cells(sat, "D") = WorksheetFunction.SumIf(Range("C2:C" & son), Cells(sat, "C"), Range("A2:A" & son))
        Cells(1, "D") = Cells(1, "D") + Cells(sat, "D")
    End If: Next
End Sub


Sub TOPLAMA2()
[D:D].ClearContents: son = Cells(Rows.Count, "A").End(3).Row
For sat = 2 To son
    If WorksheetFunction.CountIf(Range("C2:C" & sat), Cells(sat, "C")) = 1 Then
        For satc = sat To son
            If Cells(satc, "C") = Cells(sat + 1, "C") Then
                Cells(sat, "D") = Cells(sat, "D") + Cells(satc, "A")
                Cells(1, "D") = Cells(1, "D") + Cells(satc, "A")
            Else
                sat = satc - 1
                Exit For
            End If: Next: End If
Next
End Sub
 

igultekin2000

Altın Üye
Katılım
5 Eylül 2007
Mesajlar
1,237
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
Kullandığınız formülü incelemedim.
Anladığım kadarıyla, C sütunundaki tarihin her değiştiği satıra,
bu tarihle aynı olan satırlardaki A sütunu değerlerini toplamak istiyorsunuz.
Aşağıdaki kodlardan herhangi birini kullanabilirsiniz.
Teşekkür ederim sorunsuz çalışıyor, işi çalışmalar
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
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.
Kolay gelsin.
İstenilen sonuç böyle ise; basitçe ETOPLA işleviyle de sonuç alınabilirdi.
=EĞER(EĞERSAY($C$2:C2;C2)=1;ETOPLA($C$2:$C$22;$C2;$A$2:$A$22);"")
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
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.
Bir önceki cevabıma da bakınız.
Formülü uygulayıp, sonuçlarını değer yazdırmak için aşağıdaki gibi de düşünülebilirdi.
Rich (BB code):
Sub TOPLAMA3()
son = Cells(Rows.Count, 1).End(3).Row
With Range("D2:D" & son)
    .Formula = "=IF(COUNTIF($C$2:C2,C2)=1,SUMIF($C$2:$C$" & son & ",$C2,$A$2:$A$" & son & "),"""")"
    .Value = .Value
End With
[D1] = WorksheetFunction.Sum(Range("A2:A" & son))
End Sub
 

igultekin2000

Altın Üye
Katılım
5 Eylül 2007
Mesajlar
1,237
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
Bir önceki cevabıma da bakınız.
Formülü uygulayıp, sonuçlarını değer yazdırmak için aşağıdaki gibi de düşünülebilirdi.
hepsi sonuca ulaştırıyor, sürekli kullandığım işlemde makrolar daha pratik oluyor, şablon oluşturup kullanmak şeklinde, formülün kısalmış halinide not aldın, pratik işlemlerde kullanabilirim. Teşekkürler.
 
Üst