Cari (Fatura) Yaşlandırma

Katılım
13 Ağustos 2004
Mesajlar
83
Excel Vers. ve Dili
2019
Altın Üyelik Bitiş Tarihi
18.04.2020
Önceki formül cevabını güncelledim.
Sayfayı yenileyerek kontrol edip deneyiniz.

Fomülün kısatılabileceğini sanıyorum ama şimdilik SONUÇ odaklı değerlendirelim.

Tarih olayının çözümü listenin;
-- birinci kriter FİRMA ADI.
-- ikinci kriter TARİH
olarak sıralanması yöntemiyle hallolacaktır.
.
Ömer bey
Tabloda borç veya alacak fazla olunca hatalı sonuç veriyor.
Kriter için dikkat ederim teşekkür ederim.
 

Ekli dosyalar

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
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.
Tekrar merhaba.

Oluşturulan formül biraz uzun oldu ama önemli olan SONUÇ sanırım.
Belgeniz tek firmalık bilgileri içerseydi AD TANIMLAMAları kullanılarak formülün daha anlaşılır ve kısa olması sağlanabilirdi diye düşünüyorum.

Belgede, H ve I sütununda makro işlem yapıyor iken M ve N sütnunda formül ile çözüm oluşturuluyor.
K sütununda ise makro ve formül sonuçlarının birbirinden farklı olup olmadığına ilişkin, koşullu biçimlendirme ile desteklenen
ve formül ile yapılan doğruluk kontrolü var.

Ekli belgede, konu sayfasına eklediğiniz tüm örnek belge verileriyle denemeler yaptığımda herhangi bir tutarsızlığa rastlamadım.

Ekteki belgeyi gerçek verilerinizle deneyerek sonucunu konu sayfasına yazarsınız.
.
 

Ekli dosyalar

Katılım
13 Ağustos 2004
Mesajlar
83
Excel Vers. ve Dili
2019
Altın Üyelik Bitiş Tarihi
18.04.2020
Tekrar merhaba.

Oluşturulan formül biraz uzun oldu ama önemli olan SONUÇ sanırım.
Belgeniz tek firmalık bilgileri içerseydi AD TANIMLAMAları kullanılarak formülün daha anlaşılır ve kısa olması sağlanabilirdi diye düşünüyorum.

Belgede, H ve I sütununda makro işlem yapıyor iken M ve N sütnunda formül ile çözüm oluşturuluyor.
K sütununda ise makro ve formül sonuçlarının birbirinden farklı olup olmadığına ilişkin, koşullu biçimlendirme ile desteklenen
ve formül ile yapılan doğruluk kontrolü var.

Ekli belgede, konu sayfasına eklediğiniz tüm örnek belge verileriyle denemeler yaptığımda herhangi bir tutarsızlığa rastlamadım.

Ekteki belgeyi gerçek verilerinizle deneyerek sonucunu konu sayfasına yazarsınız.
.
Ömer bey hem formülle hem de makro ile istenen sonuçlara ulaştık. Son eklediğiniz dosyada makro hatalı formül doğru. Bir önceki makro doğru çalışıyordu. Bir öncekinin makrosunu bunun da formülünü kullanıyorum. Amaç hasıl oldu.
Allah razı olsun. Emeğinize sağlık. Gönlümüzden size yemek ısmarlamak geçer ama etik olur bilmiyorum.
Her şey için çok teşekkür ederim. Hakkınızı helal edin.

Not: "konu sayfasına yazarsınız" derken farklı bir yere mi yazmalıyım?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
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.
Makro'da hatalı olan nedir?
Örneklendirerek, hatalı halde dosyayı yükleyin bakayım.
.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
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.
Sizin ihtiyacın karşılandığını zaten biliyorum.
Maksatım benzer ihtiyacı olanın sorunsuz çözüme ulaşmasını sağlamak.
Malum FORUMun anlamı, varlık nedeni; bilgi paylaşımı, paylaşarak bilgiyi çoğaltmak, yoksa kişisel soru-sorunların çözümü değil.
.
 
Katılım
13 Ağustos 2004
Mesajlar
83
Excel Vers. ve Dili
2019
Altın Üyelik Bitiş Tarihi
18.04.2020
Sizin ihtiyacın karşılandığını zaten biliyorum.
Maksatım benzer ihtiyacı olanın sorunsuz çözüme ulaşmasını sağlamak.
Malum FORUMun anlamı, varlık nedeni; bilgi paylaşımı, paylaşarak bilgiyi çoğaltmak, yoksa kişisel soru-sorunların çözümü değil.
.
Ömer bey tekrar kontrol ettim. İlk testlerim de fazla ödeme yapınca hatalı veriyordu. Şimdi doğru çıkıyor. Defalarca kontrol ettim .Sıkıntı yok. Sebebini anlamadım. Ama şimdi sorun yok.
Tekrar teşekkürler.
 

umit1907

Altın Üye
Katılım
9 Mayıs 2007
Mesajlar
224
Excel Vers. ve Dili
365 TR
Altın Üyelik Bitiş Tarihi
18-04-2029
Merhabalar

Belki işine yarayacak arkadaşlar olabilir hep formülle yapmaya çalıştım biraz boyutu büyük ama iş görüyor.
 

Ekli dosyalar

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
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.
Tekrar merhaba.

22 numaralı cevabımın ekindeki dosya,
-- hem formül hem de makrolu çözüm içermesi,
-- hem alacak hem borç bakiyesi veren cari dökümünün birarada bulunduğu durumda da kullanılabiliyor olması,
-- bir'den fazla müşteri/satıcı cari dökümünün aynı veri yığını içerisinde iken de çalışıyor olması,
avantaj iken,
-- tarih kriterinin tam olarak kullanılmıyor olması ise (aslında bu durum yaşlandırma deyimiyle temelden çelişiyor bence ama konu sahibi veri yığınının durumunu sabitleyince hareket alanı biraz daraldı doğal olarak) dezavantaj.
-- işlemde gerçek bir yaşlandırma (vade dilimlerine göre alacağın/borcun ayrıştırılmaması / müşteri/satıcılar itibariyle özet bilgi ortaya çıkartılmaması nedeniyle müşteri-satıcı puanlama/performans katsayısı belirlemesinde kullanılamaması) işleminin olmaması da bir dezavantaj ama
elimizde ham veri olmadığından, eklenen belge formatının kaynağının bilinmiyor olması ve format değişikliğine ilişkin bir soru gelmemesi nedeniyle, gerçek bir yaşlandırma için ileriki aşamalara geçiş mümkün olmadı.

Ancak mevcut makro ve formül seçenekli çalışmanın, işlemin en azından gerçek anlamda yaşlandırma yönüne doğru evrilmesi için bir başlangıç/basamak olarak kullanılabilecek bir yapısının olduğunu düşünüyorum.


Sayın umit1907'nin eklediği dosyayı, elimde kulanabileceğim bir muavin kaydı olmadığından deneme şansım yok. Kendisi sorunsuz kullandığını belirttiğine göre iş görüyor demektir.

Gerçi FORUMda YAŞLANDIRMA içerikli açılmış, bir kısmının çözümünü benim hazırladığım konular zaten var.
FORUM'da, fatura dökümünün ayrı sayfada yer aldığı, doğrudan muavin üzerinden işlem yapan, yaşlandırma dilimlerinin esnek yapıda olduğu... vs bir'den fazla çözüm dosyası mevcut.

Cümleten iyi çalışmalar, verimli FORUMlar dilerim.
.
 
Katılım
13 Ağustos 2004
Mesajlar
83
Excel Vers. ve Dili
2019
Altın Üyelik Bitiş Tarihi
18.04.2020
Tekrar merhaba.

22 numaralı cevabımın ekindeki dosya,
-- hem formül hem de makrolu çözüm içermesi,
-- hem alacak hem borç bakiyesi veren cari dökümünün birarada bulunduğu durumda da kullanılabiliyor olması,
-- bir'den fazla müşteri/satıcı cari dökümünün aynı veri yığını içerisinde iken de çalışıyor olması,
avantaj iken,
-- tarih kriterinin tam olarak kullanılmıyor olması ise (aslında bu durum yaşlandırma deyimiyle temelden çelişiyor bence ama konu sahibi veri yığınının durumunu sabitleyince hareket alanı biraz daraldı doğal olarak) dezavantaj.
-- işlemde gerçek bir yaşlandırma (vade dilimlerine göre alacağın/borcun ayrıştırılmaması / müşteri/satıcılar itibariyle özet bilgi ortaya çıkartılmaması nedeniyle müşteri-satıcı puanlama/performans katsayısı belirlemesinde kullanılamaması) işleminin olmaması da bir dezavantaj ama
elimizde ham veri olmadığından, eklenen belge formatının kaynağının bilinmiyor olması ve format değişikliğine ilişkin bir soru gelmemesi nedeniyle, gerçek bir yaşlandırma için ileriki aşamalara geçiş mümkün olmadı.

Ancak mevcut makro ve formül seçenekli çalışmanın, işlemin en azından gerçek anlamda yaşlandırma yönüne doğru evrilmesi için bir başlangıç/basamak olarak kullanılabilecek bir yapısının olduğunu düşünüyorum.


Sayın umit1907'nin eklediği dosyayı, elimde kulanabileceğim bir muavin kaydı olmadığından deneme şansım yok. Kendisi sorunsuz kullandığını belirttiğine göre iş görüyor demektir.

Gerçi FORUMda YAŞLANDIRMA içerikli açılmış, bir kısmının çözümünü benim hazırladığım konular zaten var.
FORUM'da, fatura dökümünün ayrı sayfada yer aldığı, doğrudan muavin üzerinden işlem yapan, yaşlandırma dilimlerinin esnek yapıda olduğu... vs bir'den fazla çözüm dosyası mevcut.

Cümleten iyi çalışmalar, verimli FORUMlar dilerim.
.
Ömer beyin samimiyeti ve iyi niyeti sebebi ile ham verilerin bazı kısımları değiştirilmiş ve daha kısa hali ile dosyayı ekliyorum. Yine buradan kendine teşekkürlerimi iletirim. Ayrıca yorumları benim için çok değerli. Farklı bir bakış açısı zenginlik katacaktır.

Veri kullanıcısının istediği vadesine göre haftalara dağıtılmış müşteri ve tedarikçilerin kümülatif bakiyelerini görmek istemektedir. Kesilen fatura ve ödemeleri de tablo halinde istemektedir. Benim çalışmam ektedir.
Saygılarımla.
 

Ekli dosyalar

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
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.
Merhaba Sayın hamit, nihai belgenin bir kopyasını da paylaştığınız için teşekkürler.

Tek sıkıntı (sıkıntı dediğim, -kendi adıma- destek isteyen/bekleyen başka bir üyenin konusuyla bir an önce ilgilenme isteğimiz)
destek istenilen konunun, bütünün neresinde olduğunun bilinmemesiydi.

Netice itibariyle, maksat hasıl olduğuna göre mesele yok.

İyi çalışmalar, başarılar dilerim.

Bu arada, forumda mesajlaşırken önceki bir cevaptan alıntı yapma durumuyla ilgili şunu hatırlatayım;
-- sadece gerektiğinde alıntı yapınız,
-- alıntılanacak bir cevabın sadece ilgili kısmını alıntılamayı tercih ediniz
(alıntılanacak mesajın sadece ilgili parçalarını bırakıp gerekmeyen kısımlarını silerek alıntı yapmayı tercih edin).

Böylece forum sayfalarını daha verimli kullanmış, görüntü kirliliğine de neden olmamış oluruz.
.
 
Katılım
13 Ağustos 2004
Mesajlar
83
Excel Vers. ve Dili
2019
Altın Üyelik Bitiş Tarihi
18.04.2020
Ömer bey teşekkür ederim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
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.
Tekrar merhaba Sayın hamit.

23 numaralı cevaptaki yemek davetnizi şimdi gördüm teşekkürler, yemişle beraber.

Ama şunu söyleyeyim, genellikle her ayın ikinci veya üçüncü haftası İstanbul'da oluyorum (iş),
yemekle aramın pek iyi olduğunu söyleyemem ama, benim motor çay-sigara ile çalışıyor. :) :)

Sağlıcakla kalın, görüşmek dileğiyle (bu arada meslektaş sayılırız onu da belirteyim).
.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
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.
Merhaba.

Mevcut kodları (silme ve yazma) aşağıdakilerle değiştirin.
.
Kod:
[B][COLOR="red"]Sub bakiye_yaslandirma()[/COLOR][/B]

sonsat = Cells(Rows.Count, 1).End(3).Row
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
If Cells(Rows.Count, "I").End(3).Row > 2 Then Range("H3:I" & sonsat).ClearContents
Range("A2:G" & sonsat).Sort Key1:=[B2], Order1:=1, Key2:=[C2], Order1:=1, Header:=xlYes
For s = 3 To sonsat
If Cells(s, 2) = "" Then Exit For
    brn1 = WorksheetFunction.Match(Cells(s, 2), [B:B], 0)
    brn2 = brn1 + WorksheetFunction.CountIf([B:B], Cells(s, 2)) - 1
    tf = WorksheetFunction.Sum(Range("F" & brn1 & ":F" & brn2))
    tg = WorksheetFunction.Sum(Range("G" & brn1 & ":G" & brn2))
    If tf >= tg Then: sut = 6: brn3 = tg: c = 1
    If tf < tg Then: sut = 7: brn3 = tf: c = -1
    For ss = brn1 To brn2
        Cells(ss, "H") = WorksheetFunction.SumIf(Range("B3:B" & ss), Cells(ss, 2), Range("F3:F" & ss)) - _
                        WorksheetFunction.SumIf(Range("B3:B" & ss), Cells(ss, 2), Range("G3:G" & ss))
        If Cells(ss, sut) = "" Then
            Cells(ss, "I") = ""
        ElseIf brn3 >= Cells(ss, sut) Then
            Cells(ss, "I") = 0: brn3 = brn3 - Cells(ss, sut)
        ElseIf brn3 > 0 And brn3 <= Cells(ss, sut) Then
            Cells(ss, "I") = c * (Cells(ss, sut) - brn3): brn3 = 0
        Else: Cells(ss, "I") = c * Cells(ss, sut): End If
    Next: s = ss - 1
Next
MsgBox "İşlem tamamlandı.", vbInformation, "..:: Ömer BARAN ::.."
[B][COLOR="red"]End Sub[/COLOR][/B]
[B][COLOR="red"]Sub temizle()[/COLOR][/B]
    sonsat = Cells(Rows.Count, 1).End(3).Row
    If Cells(Rows.Count, "I").End(3).Row > 2 Then Range("H3:I" & sonsat).ClearContents
[B][COLOR="Red"]End Sub[/COLOR][/B]
 
Katılım
13 Ağustos 2004
Mesajlar
83
Excel Vers. ve Dili
2019
Altın Üyelik Bitiş Tarihi
18.04.2020
Ömer bey çok teşekkür ederim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
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.
 
Katılım
20 Haziran 2008
Mesajlar
697
Excel Vers. ve Dili
Microsoft Office ev ve iş 2019
Altın Üyelik Bitiş Tarihi
03-07-2024
Merhaba.

Mevcut kodları (silme ve yazma) aşağıdakilerle değiştirin.
.
Kod:
[B][COLOR="red"]Sub bakiye_yaslandirma()[/COLOR][/B]

sonsat = Cells(Rows.Count, 1).End(3).Row
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
If Cells(Rows.Count, "I").End(3).Row > 2 Then Range("H3:I" & sonsat).ClearContents
Range("A2:G" & sonsat).Sort Key1:=[B2], Order1:=1, Key2:=[C2], Order1:=1, Header:=xlYes
For s = 3 To sonsat
If Cells(s, 2) = "" Then Exit For
    brn1 = WorksheetFunction.Match(Cells(s, 2), [B:B], 0)
    brn2 = brn1 + WorksheetFunction.CountIf([B:B], Cells(s, 2)) - 1
    tf = WorksheetFunction.Sum(Range("F" & brn1 & ":F" & brn2))
    tg = WorksheetFunction.Sum(Range("G" & brn1 & ":G" & brn2))
    If tf >= tg Then: sut = 6: brn3 = tg: c = 1
    If tf < tg Then: sut = 7: brn3 = tf: c = -1
    For ss = brn1 To brn2
        Cells(ss, "H") = WorksheetFunction.SumIf(Range("B3:B" & ss), Cells(ss, 2), Range("F3:F" & ss)) - _
                        WorksheetFunction.SumIf(Range("B3:B" & ss), Cells(ss, 2), Range("G3:G" & ss))
        If Cells(ss, sut) = "" Then
            Cells(ss, "I") = ""
        ElseIf brn3 >= Cells(ss, sut) Then
            Cells(ss, "I") = 0: brn3 = brn3 - Cells(ss, sut)
        ElseIf brn3 > 0 And brn3 <= Cells(ss, sut) Then
            Cells(ss, "I") = c * (Cells(ss, sut) - brn3): brn3 = 0
        Else: Cells(ss, "I") = c * Cells(ss, sut): End If
    Next: s = ss - 1
Next
MsgBox "İşlem tamamlandı.", vbInformation, "..:: Ömer BARAN ::.."
[B][COLOR="red"]End Sub
Sub temizle()[/COLOR][/B]
    sonsat = Cells(Rows.Count, 1).End(3).Row
    If Cells(Rows.Count, "I").End(3).Row > 2 Then Range("H3:I" & sonsat).ClearContents
[B][COLOR="Red"]End Sub[/COLOR][/B]
Ömer hocam merhaba;
Kod doğru çalışıyor fakat işlem hareketlerini rica etsem kodda açıklama yaparak anlatırmısınız
Zira ekli dosyamda sarı alanlar ödenmemiş açık bakiyeler olarak görüyorum ama kod nasıl hesaplıyor onu anlamaya çalışıyorum.mesela 12.ayda kesilen faturaların vadesi 90 gün martta kapanması gerekiyor ama eksik ödemeden kaynaklı olması gerekiyor diye düşünüyorum. Tablo kapamasını istiyor diye görünüyor.
 

Ekli dosyalar

Üst