KTF hakkında

Katılım
25 Aralık 2006
Mesajlar
109
Excel Vers. ve Dili
Excel 2007 Türkçe
Merhaba Arkadaşlar;

Ekli dosyada anlatmaya çalıştım sanırım.KTF otamatik toplatamıyorum
saygılarımla
 

Ekli dosyalar

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,402
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
kodları aşağıdaki gibi deneyiniz. agustos1 prosedürünü butona bağlayıp çalıştırabilirsiniz. Fonksiyonu seçtiğinizde, ilk tarih ve son tarih hücresini belirtiniz. İyi çalışmalar.

Kod:
Public Function agustos(ilk As Date, son As Date) As Double
With Sheets("Sayfa1")
For I = 18 To 1500
If Cells(I, 1) = "" Then GoTo alt
If .Cells(I, 1) > CDate(ilk) And Cells(I, 1) <= CDate(son) And .Cells(I, 3) = "Y" Then
agustos = agustos + .Cells(I, 4)
End If
alt:
Next
End With
End Function
Sub agustos1()
For I = 18 To 1500
If Cells(I, 1) = "" Then GoTo alt
If Cells(I, 1) > Cells.Range("I9").Value And Cells(I, 1) <= Cells.Range("I10").Value And Cells(I, 3) = "Y" Then
toplam = toplam + Cells(I, 4)
End If
alt:
Next
Cells.Range("J11") = toplam
End Sub
 
Katılım
25 Aralık 2006
Mesajlar
109
Excel Vers. ve Dili
Excel 2007 Türkçe
Sayın Dentex;
Cevabınız için teşekkür ederim. Kodları aşağıdaki gibi yazmama rağmen çalıştıramadım.

Public Function agustos(ilk As Date, son As Date) As Double
With Sheets("Sayfa1")
ilk = .Range("I10").Value
son = .Range("I9").Value

For I = 18 To 1500
If Cells(I, 1) = "" Then GoTo alt
If .Cells(I, 1) <= CDate(ilk) And Cells(I, 1) > CDate(son) And .Cells(I, 3) = "Y" Then
agustos = agustos + .Cells(I, 4)
End If
alt:
Next
End With
End Function

Sevgi ve saygıyla
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Yerleşik formüllerle yapmayı, düşünmediniz mi ?
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,402
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
ekteki dosyada olduğu gibi kullanabilirsiniz. Ya da, Sn. Hamitcan'ın işaret ettiği gibi excel fonksiyonları ile daha pratik çözebilirsiniz.
 

Ekli dosyalar

Katılım
25 Aralık 2006
Mesajlar
109
Excel Vers. ve Dili
Excel 2007 Türkçe
Sayın Dentex ve Hamitcan;

İlginiz için teşekkürler. J10 olan toplam normalde D sütununda, topla.çarpım fonksiyonu ile bunu yapıyorum ama döngüsel çevrime giriyor.Bunun için bir çözüm arıyorum ve otomatik hesaplanmasını istiyorum.Onun için buton kullanmak istemiyorum.KTF ile bunun çözülebileceğine inandığım için bu yolu seçtim.

Sevgi ve Saygıyla
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,402
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
dosyada Ktf'nin düzeltilmiş hali de mevcuttur. Buton alternatif olması açısından eklenmiştir. Saygılar.
 
Katılım
25 Aralık 2006
Mesajlar
109
Excel Vers. ve Dili
Excel 2007 Türkçe
Sayın Dentex;
Biliyorum düzenlenmiş KTF olduğunu ama yeni değerler girdiğimde toplam değişmiyor. Ne zaman KTF bulunduğu hücreye F2 ile girip çıkarsam toplam değişiyor esas sorun da bu zaten.

Sevgi Ve Saygıyla
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Dizi formülü ile yapılmış örnek...
=TOPLA(EĞER($B$3:$B$5=G3;EĞER($C$3:$C$5=H3;EĞER(AY($A$3:$A$5)=F3;$D$3:$D$5;0);0);0))
 

Ekli dosyalar

Katılım
25 Aralık 2006
Mesajlar
109
Excel Vers. ve Dili
Excel 2007 Türkçe
Sayın Hamitcan;
Çok teşekkürler.Ama benim esas sorunum, örneğin =Topla(b2:b100) dediğimizde bu aralıkta bulunan hücrelere sayı girildiğinde Topla fonksiyonu otamatik topluyor.
=agustos(I9;I10) dediğimde de D sütunu otomatik toplaması.Çünkü listeye değerler devamlı giriliyor. Ancak KTF'nin olduğu hücreye girip çıkarsam topluyor.

Sevgi ve Saygıyla
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Verdiğim formül işinizi görmedi mi ? Ayrıca, neden bu kadar Ktf fonksiyonunu kullanmada direndiğinizi anlayamadım.
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,402
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Sayın Etekin, Ktf'de tarihler değişince sonuç yeniden kontrol edilir. Tarih kolonundaki değişimlerin sonucunun anında alınmasını istiyorsanız, kodları ilgili sayfanın worksheet_change yordamına yazmak gerekir. Bu yüzden Sayın Hamitcan'ın çözümü optimaldır, iyi çalışmalar.
 
Son düzenleme:
Katılım
25 Aralık 2006
Mesajlar
109
Excel Vers. ve Dili
Excel 2007 Türkçe
Sayın dentex
Haklısınız o tarihler değiştiğinde sonuç dönüyor.Fakat o tarihler sabit.D sütunun daki değerler değiştiğinde sonucun hesaplanması lazım.

Sevgi ve Saygıyla
 
Katılım
25 Aralık 2006
Mesajlar
109
Excel Vers. ve Dili
Excel 2007 Türkçe
Sayın Hamitcan

Olaması gereken;
=topla.çarpım((a18:a1500<=ı10)*(a18:a1500>I9)*(c18:c1500="Y")*(d18:d1500))

Formül J10 hücresinde ise sorun yok.
Ama formül D sütununda ise devrik dönüşüme neden oluyor.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
O zaman, toplam formülü içinde formülün bulunduğu hücreyi de dahil etmişsiniz demektir, bu hücreyi çıkartırsanız düzelecektir.
 
Katılım
25 Aralık 2006
Mesajlar
109
Excel Vers. ve Dili
Excel 2007 Türkçe
Haklısınız, ama formülün D sütununda olması lazım, araçlar-seçenekler-hesaplar-yinele kutucuğunu işaretlediğim de hesaplama yapılıyor.Fakat veriler 1500 adete çıktığı zaman bu işlem zaman açısından uzuyor.
Bu süreyi kısaltmak için KTF yapmak istedim.
Sevgi ve saygıyla
 
Katılım
25 Aralık 2006
Mesajlar
109
Excel Vers. ve Dili
Excel 2007 Türkçe
Sayın Dentex ve Hamitcan;
Problemimi ekteki dosyadaki gibi çözdüm.Sizlere çok teşekkür ederim.
Sevgi ve Saygıyla
 

Ekli dosyalar

Üst