• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Yaşlandırma

Katılım
12 Eylül 2011
Mesajlar
10
Excel Vers. ve Dili
2011
Merhaba arkadaşlar
Bir yaşlandırma formatı hazırlamaya calısıyorum ama bir sorun var ve bir türlü çözemiyorum.Belli bir sayıyı bulmak için en büyük tarihten küçük tarihe doğru verileri toplatıp toplanan verilerin ortalamasını almak.
Ama çok uğraştım.Yapamıyorum.Benim için çok önemli.Eğer yardımcı olusanız gerekten çok mutlu olurum.
 

Ekli dosyalar

Son düzenleme:
2003 formatında eklersen daha kolay cevap alırsın.
 
Arkadaşım birşey anlamadım
Son 7 fatura ortalaması diyorsun nereye yazacak son 7 ortalamasını
bu sayfadaki veriler sadece 1 kişiye mi ait gördüğüm kadarıla bir çok kişi mevcut.
"BENİM İSTEDİĞİM RAPOR SAYFASINDA GÖRÜLEN FİKRİYE ÇAVULTUNUN VADESİ GEÇMİŞ BAKİYESİNİN BU SAYFADA EN BÜYÜK TARİHTEN ALINARAK O TUTARI BULASIYA KADAR FATURALARIN TOPLANMASI VADESİ GEÇMİŞ GÜNLERİNİN ORTALAMASINI ALMAK"
Bu açıklama dan hiç bir şey anlayamıyorum..
 
Çok fazla müşteri var o yüzden bir müşteri bıraktım.Dosyayı gönderemiyordum.Rapor sayfasında fikriye çavultuna ait vadesi geçmiş gün e yazılması gerekiyor.Yani anlatmak istediğim rapor sayfasında görülen vadesi geçmiş bakiyeyi son faturadan bularak (o bakiyeyi topladığında veren vadesi geçmiş faturaları) vadesi geçmiş günlerin ortalamasını yazdıracak.
 
Başka bir dosya daha gönderiyorum.

Sevgili arkadaşım;
yaşladırma raporu dediğimizde benim anladığım olay şudur:
1.müşterinin vadesi önemlidir (vadesi 0 olabilir)
2.müşteriye kesilen faturalar önemlidir
3.müşteriden yapılan tahsilatlar önemlidir.
bunların ışığında 10.10 tarihinde x müşteriye 100 tl fatura kestiğimizde, 11.10 tarihinde (vade 0 kabul edersek) vade 1 gün geçmiş, gecikmiş alacak 100 tldir. fakat 11.10 tarihinde 50 tl tahsil etmiş, ve aynı gün 100 tl daha fatura etmişsek, vadesi geçen tutar 100 iken 50 ye düşmüştür. toplam alacak 150 vadesi geçen alacak 50 vadeli alacak 100 vade geçen gün 1 olacaktır.
dosyalarınızı inceledim ancak herhangi bir tahsilat kaydına rastlayamadım. şayet bu müşterilerden hiç tahsilat yapılmamış ise ve vadeleri 0 ise vade geçen gün ilk faturanın kesildiği tarihten bugüne kadar geçen süredir.
bunların ışığında bilgilendirmeler yapabilirseniz yardımcı olacak bir arkadaş mutlaka çıkacaktır. şu an tablolarınız karışık
 
Ben zaten tasilatlar düşüldükten sonra o tabloyu hazırladım.Yani orda belirtilenler zaten direk vadesi geçmiş.Bakiyeden tahsilatlar düşüp fatura ekleyip tekrar tahsilat düşüp öyle hesaplama yapamayız.2500-3000 arası müşteremiz var 5 ayrı şirketimiz var herbirinin hesap ekstresi gibi hareketlerini çıkaramayız.Ben orada zaten herşeyi buluyorum.Vadesi geçen bakiyeyi ve vadesi geçen günü.Vadesi geçmiş bakiye belli faturalar belli sadece en son verdiği tarihten vadesi geçen bakiye toplanıp bulunan faturaların ortalaması alınması gerekli.Bunun formülle direk rapor sayfasına gelmesini istiyorum.(kendisi o bakiyeyi hesaplayıp ortalamasını direk oraya atmasını)
Biliyorum çok karışık anlatması bile karışık.Ama mutlaka bir çözümü vardır diyorum umut ediyorum.Teşekkürler
 
slm

ben şunu anladım...
rapor sayfasındaki vatandaşın veya kurumun vadesi geçmiş bakiye rakamı alınacak... sırası ile...

sonra o bakiye rakamı ile,vatandaşın veya kurumun faturalarının bulunduğu sayfaya gidilip (o sayfa hangisi ise bilmiyorum), bu bakiye rakamını bulasıya kadar fatura tutarlarını toplayacak... bu rakam eksik kalmaz... fakat toplanan faturalar o rakamı geçebilir... mesela rapor sayfasında vadesi geçmiş bakiye 800 ise, son tarihten başlayarak faturaları toplayınca tutar toplamı 1110 da olabilir...

mesele bu değil... önemli olan fatura toplamının 800 ü bulması veya geçmesi... kaç tane faturada bu toplamı bulduk.. diyelimki 5 veya 8 faturada... bu faturalara ait vadesi geçmiş günler rakamı (eksi rakamlar varya yanına yazmış işte onlar) toplanıp fatura adedine bölünüp ortalamsını istiyor...
sonra o rakamda rapor sayfasının son sütununa yazılacak...

yani :
vadesi geçmiş bakiyeyi bulana kadar toplanan fatura tutarlarına ait, vadesi geçmiş günler toplamları / kaç adet fatura ile bakiye bulunduysa

doğrumu anladım...
 
Süpersin aynen böyle tam dediğin gibi.Bana yardımcı olursan çok sevinirim.
 
Son düzenleme:
slm

ekde bir çalışma yolluyorum... faturaların bulunduğu sayfayı fatura olarak değiştirdim...
rapor sayfasında kızmızı butona tıklarsanır vgg hanesine fatura sayfasından işlem yapıyor...

ancan sizinkilerle macro ortalaması arasında 4-5 sayılık bir fark çıktı... ortalamayı nasıl aldınız...

not: macro çalışmazsa macro etkinleştirmek gerek... araçlar-macro güvenlik ayarını düşük seçip tamam yapıp dosyayı kaydedip çıkın tekrar dosyayı çalıştırın macro çalışır...
 

Ekli dosyalar

Doğru yapmışsınız ben 4-5 gün önce çıkarmıştım o yüzden farklılık bugün yapınca doğru vade çıkıyor.
Yalnız ben bunu 5 şirket için yapmak zorundayım.bana bunların formüllerini açık bir şekilde gönderirmisiniz.dosyanın korumasını kaldırıp gönderirmisiniz.çünkü ben bunu her hafta çıkarıyorum.
Bu arada çok mutlu ettiniz beni.çok teşekkür ederim.emeğinize sağlık.vaktinizi bana ayırdığınız için çok teşekkür ederim.bilemezsiniz beni nasıl bir yükten kurtardınız.tekrar teşekkürler.
 
slm

koruma falan yok ...
adımları izleyip macroya ulaşabilirsin... office xp ise
görünüm-araç çubukları-visual basic okeyle..
kutuda visual basic düzenleyici tıkla.... macro karşında...

faturanın bulunduğu sayfanın adını 'fatura' olarak değiştirmen gerek..
ayrıca rapor ve fatura sayfalarındaki ilk 2 başlık satırı aynı düzenini korumalı...
kolay gelsin...

Kod:
Private Sub CommandButton1_Click()
Set S1 = Sheets("Fatura")
X = WorksheetFunction.CountA(Range("B:B")) + 1

For I = 3 To X
   T1 = 0: T2 = 0: S = 0: ORT = 0
   
   KOT = Cells(I, 1).Value
   VGB = Abs(Cells(I, 5).Value)
   On Error Resume Next
   X1 = S1.Range("C:C").Find(What:=KOT, LookAt:=xlWhole).Row 'DATA de 1. Kot bul
   If X1 = 0 Then GoTo DEVAM
   X2 = WorksheetFunction.CountIf(S1.Range("C:C"), KOT)
   
   For K = X1 + X2 - 1 To X1 Step -1
      VGG = Abs(S1.Cells(K, 6).Value)
      TFG = Abs(S1.Cells(K, 7).Value)
      T1 = T1 + VGG
      T2 = T2 + TFG
      S = S + 1
      If T1 > VGB Then GoTo TAMAM
   Next K
TAMAM:
   If S <> 0 Then ORT = Round(T2 / S, 2)
   Cells(I, 6).Value = ORT
DEVAM:
Next I
End Sub
 
Tamam çözdüm.
Yardımlarınız için çok teşekkür ederim.
 
Geri
Üst