Soru formülle özet toplam

Katılım
18 Ağustos 2009
Mesajlar
752
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Arkadaşlar bir dosyamda tarihlere göre bir gelir tutarı yapmaktayım ve bunları aylara göre şuan da elle özet toplam haline getirmekteyim. Burada amacım macro ya da formüllerle bunu otomatik tespit ettirerek aylık özet toplam aldırmaktadır. Ekte bir örnek dosya gönderdim bakınca sizlerde daha iyi anlayacaksınız. F1:F12 kısımlarına A sütunundan hangi ayın olduğunu tespit ettirip B sütunundan da karşılığı olan değeri toplattırmak istiyorum. Bu konuda desteklerinize ihtiyacım vardır.

Şimdiden teşekkürler.
 

Ekli dosyalar

Katılım
6 Mart 2005
Mesajlar
6,231
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
F1 Hücresine kopyalayınız.Aşağı doğru çoğaltınız.
Kod:
=TOPLA.ÇARPIM((YIL($A$1:$A$200)=SAĞDAN($E1;4)*1)*(METNEÇEVİR($A$1:$A$200;"aaaa")=KIRP(SOLDAN($E1;BUL(" ";$E1))))*($B$1:$B$200))
 
Katılım
18 Ağustos 2009
Mesajlar
752
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
F1 Hücresine kopyalayınız.Aşağı doğru çoğaltınız.
Kod:
=TOPLA.ÇARPIM((YIL($A$1:$A$200)=SAĞDAN($E1;4)*1)*(METNEÇEVİR($A$1:$A$200;"aaaa")=KIRP(SOLDAN($E1;BUL(" ";$E1))))*($B$1:$B$200))

Hocam öncelikle yardımınız için teşekkür ederim.

Formülünüzü kendim kullanmış olduğum dosyama göre aşağıdaki şekilde uyarladım ancak dosyam başka dosyalarla bağlantılı olduğundan ve karşı dosya açık olmadığından dolayı değerleri getiremediği durumlarda #BAŞV! yazmaktadır. Diğer formülüm ise
=EĞER(BUGÜN()>=$B$1+SÜTUN()-2;DOLAYLI("'[2020-01--TORNA.xlsm]"&A5&"'!$M$3");"") şeklinde dir. Sizin komutunuza bir eklenti yaparak sadece değer oluşmuş olanların toplamını aldırmak için ne yapmam gerekir? Hücrelerde #BAŞV! yazanları görmezden gelerek komuta toplama işlemi yaptıracak.

Teşekkürler..


=TOPLA.ÇARPIM((YIL($B$3:$B$368)=SAĞDAN($B370;4)*1)*(METNEÇEVİR($B$3:$B$368;"aaaa")=KIRP(SOLDAN($B370;BUL(" ";$B370))))*(C3:C368))
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,520
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

#BAŞV! hatası veren hücrelere EĞERHATA formülü ekleyerek yönetebilirsiniz. Böylece son önerilen formülü uzatmamış olursunuz.
 
Katılım
18 Ağustos 2009
Mesajlar
752
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Merhaba,

#BAŞV! hatası veren hücrelere EĞERHATA formülü ekleyerek yönetebilirsiniz. Böylece son önerilen formülü uzatmamış olursunuz.
Bunlar karşıdaki bir dosyadan çalışan dosyalar hocam açıldığı zaman hatası giden ya da karşıda mesela 3 nolu sayfası bulunmadığı durumlarda oluşan hatalar hocam. Mesela
=EĞER(BUGÜN()>=$B$1+SÜTUN()-2;DOLAYLI("'[2020-01--TORNA.xlsm]"&A5&"'!$M$3");"")

formülünü ne şekilde değiştirmemi önerirsiniz?

Teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,520
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki gibi düzenleyip deneyiniz.

Kod:
=EĞERHATA(EĞER(BUGÜN()>=$B$1+SÜTUN()-2;DOLAYLI("'[2020-01--TORNA.xlsm]"&A5&"'!$M$3");"");"")
 
Katılım
18 Ağustos 2009
Mesajlar
752
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Aşağıdaki gibi düzenleyip deneyiniz.

Kod:
=EĞERHATA(EĞER(BUGÜN()>=$B$1+SÜTUN()-2;DOLAYLI("'[2020-01--TORNA.xlsm]"&A5&"'!$M$3");"");"")
Bu şekilde oldu hocam ancak tam 1500 tane hücrede formülü tek tek değiştirmem gerekecek. Dediğim gibi
=TOPLA.ÇARPIM((YIL($B$3:$B$368)=SAĞDAN($B370;4)*1)*(METNEÇEVİR($B$3:$B$368;"aaaa")=KIRP(SOLDAN($B370;BUL(" ";$B370))))*(C3:C368))
formülünde sadece sayı olanlara işlem uygulatabilirsem 1500 hücreye gerek kalmayacak. Aşağıdaki şekilde denedim olmadı.


=ESAYIYSA(TOPLA.ÇARPIM((YIL($B$3:$B$368)=SAĞDAN($B370;4)*1)*(METNEÇEVİR($B$3:$B$368;"aaaa")=KIRP(SOLDAN($B370;BUL(" ";$B370))))*(C3:C368)))
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,520
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sizin başvuru veren formülünüz hangi sütunda?
 
Katılım
6 Mart 2005
Mesajlar
6,231
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Aşağıdaki formülü dosyanıza göre düzenleyiniz.
Kod:
=TOPLA.ÇARPIM($B$1:$B$200;1*(ESAYIYSA($B$1:$B$200)*(YIL($A$1:$A$200)=SAĞDAN($E1;4)*1)*(METNEÇEVİR($A$1:$A$200;"aaaa")=KIRP(SOLDAN($E1;BUL(" ";$E1))))))
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,520
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Eğer yanlış bilmiyorsam TOPLA.ÇARPIM formülü #BAŞV! hatasını aşamıyor. Bu sebeple ya hata veren alanı düzeltmelisiniz ya da alternatif DİZİ formül kullanabilirsiniz.

CTRL+SHIFT+ENTER tuşlarına basarak formül girişini tamamlayınız. Aksi halde doğru sonuç üretmez.

Kod:
=TOPLA(EĞER(METNEÇEVİR($A$1:$A$200;"aaaa yyyy")=E1;EĞER(ESAYIYSA($B$1:$B$200);$B$1:$B$200)))
 

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,125
Excel Vers. ve Dili
office2010
#1. iletideki ekli dosyanıza ait kod.

Kod:
Sub test()
Dim a(), son As Long
son = Cells(Rows.Count, 1).End(3).Row
a = Range("A1:B" & son).Value
Set dic = CreateObject("scripting.dictionary")
For i = 1 To UBound(a)
    ay = UCase(Replace(Replace(Format(a(i, 1), "mmmm"), "i", "İ"), "ı", "I"))
    yıl = Year(a(i, 1))
    aranan = ay & " " & yıl
    dic(aranan) = dic(aranan) + a(i, 2)
Next i
a = Range("E1:E12").Value
    For i = 1 To UBound(a)
        k = a(i, 1)
        If dic.exists(k) Then
            a(i, 1) = dic(k)
        Else
            a(i, 1) = Empty
        End If
    Next i
[F1].Resize(UBound(a), UBound(a, 2)) = a
MsgBox "İşlem tamam.", vbInformation
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,520
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Eklediğiniz örnek dosyaya göre C369 hücresine aşağıdaki DİZİ formülü uygulayıp deneyiniz.

CTRL+SHIFT+ENTER tuşlarına basarak formül girişini tamamlayınız. Aksi halde doğru sonuç üretmez.

Kod:
=TOPLA(EĞER(METNEÇEVİR($B$2:$B$367;"aaaa yyyy")=B369;EĞER(ESAYIYSA($C$2:$C$367);$C$2:$C$367)))
 
Üst