• DİKKAT

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

Bakiye geçen gün bulma

Katılım
30 Mart 2023
Mesajlar
8
Excel Vers. ve Dili
2016
Merhaba Arkadaşlar, Go3 kullanıyorum. Bir müşterinin bakiyesinin ne kadar gün geçtiğini bulmak için araştırma yapıyorum. Bir türlü sonucu bulamadım. Yapmak istediğim şey şu;
Bir carimiz var bakiyesi 1.100 TL diyelim. Ben yıllara sari işlem yaptığım için ortalama vade sorguları işimi görmüyor. ve Borç kapama da yapmıyorum.
Bana göre en garanti bakiye kadar son kestiğim faturaları geriye doğru toplayarak bakiye ye eşitleme ve o faturadaki tarihi görmek örneğin; (Tahsilatlar beni ilgilendirmiyor. Sadece Tarih açıklama ve borç bilgilerini görmem yeterli Cari bakiyesi 1.100 TL
Tarih Açıklama Borç
01.03.2026 Satış faturası 100 TL
02.03.2026 Satış faturası 50 TL
04.03.2026 Satış faturası 120 TL
05.03.2026 Satış faturası 250 TL
08.03.2026 Satış faturası 275 TL
10.03.2026 Satış faturası 300 TL
15.03.2026 Satış faturası 580 TL
21.03.2026 Satış faturası 235 TL
Carinin bakiyesi 1.100 TL. En son kesilen faturalardan geriye doğru toplarsak 235+580+300=1.115 TL yapıyor. Yani satış fatruası 300 TL olan faturanın tarihi 10.03.2026
Bugün 29.03.2026-10.03.2026 = 19 gün geçmiş yani 1.100 TL'nin vadesi 19 gün geçmiş ben bunu görmek istiyorum. Nasıl bir sorgu veya excel formülü gerekiyor
Yardımlarınız ve ilginiz için çok teşekkür ederim.
 
Formülle bir çözüm...
1 - A2 den itibaren A9 a kadar Tarihler var. Yeniden eskiye doğru kümül toplamlar alınacağından, nu tarihler eskiden yeniye doğru SIRALI olmalı...
2 - B2 : B9 aralığında satış fatura tutarları mevcut
3 - Cari için aranılacak bakiye D1 hücresinde yazıyor olsun.
4 - Vade Bitiş Tarihini de D2 hücresinde formülle hesaplıyoruz...

Formül
Kod:
=İNDİS($A$2:$A$9;KAÇINCI($D$1;DÇARP(--(SATIR($B$2:$B$9)<=DEVRİK_DÖNÜŞÜM(SATIR($B$2:$B$9)));$B$2:$B$9);-1))

Formül DİZİ Formüldür.
Dizi Formülün hücreye girişi sadece ENTER ile değil, CTRL + SHIFT + ENTER tuşlarının 3 üne aynı anda basılarak yapılmalıdır. Formül doğru şekilde girildiğinde, formül otomatik olarak { } parantezleri içerisine alınır. Eğer CTRL + SHIFT + ENTER ile girilmezse ya da parantezler Manuel yazıkdığında formül düzgün çalışmayacak ve doğru sonuç üretmeyebilecektir.

TarihFatura Tutarı
Bakiye
1100
01.03.2026100
Vade BitişTarihi
10.03.2026
02.03.202650
04.03.2026120
05.03.2026250
08.03.2026275
10.03.2026300
15.03.2026580
21.03.2026235

Örnek dosyayı da ekliyorum. İncelersiniz...
 
İlginize alakanıza çok teşekkür ederim. Ancak bu benim işimi görmüyor.. Ben Go3'den tüm carilerin fatura ekstresini sql sorgu ile excel'e çekiyorum online oluyor. Daha sonra filtre ile her hangi bir cari seçiyorum. Excel A satırına da Alttoplam alıyorum. Bakiyesini getiyorum. ve sizin yapmış olduğnuz hesaplama devreye girecek ancak indis olmuyor. İndis te satırları belirtmem gerekiyor. Benim altın üyeliğim olmadığı için foruma dosya ekleyemiyorum ve dosya indiremiyorum. eğer bir mail adresi verirseniz örnek tabloyu gönderebilirim. Teşekkürler. İyi çalışmalar,
 
Merhaba arkadaşım dosya için teşekkür ederim. Ancak işimi görmüyor. Vadesi geçen gün sürekli değişiyor. Yani doğru cevap vermedi. Aslında Sql bir sorgu yazabilsek veya excel vba şahane olurdu. Neyse yapacak bir şey yok ilgine alakana tekrar dan teşekkürler. İyi çalışmalar,
 
Rakamsal alanda dinamik formül var. Örnek olsun diye yazmıştım. Sonuçların değiştiğini görün diye o şekilde kurguladım.

Siz kendi verilerinizi ilgili alana yazarak deneme yapabilirsiniz.
 
Merhaba,

Logo sistemimde kurulu değil, test etmek için go3 verisi içeren db de elimde mevcut değil bu sebeple emin olmamakla birlikte şu şekilde bir sql sorgusu yapay zeka tarafından oluşturuldu işinizi görebilir diye umarak, söz konusu 1.firmada 1.dönemde satış faturalarında açık olanları sadece gerçek carilerin listesi edinilebilir.

SELECT
CARI.CODE AS [Cari Kodu],
CARI.DEFINITION_ AS [Cari Ünvanı],
FAT.FICHENO AS [Fatura No],
FAT.DATE_ AS [Fatura Tarihi],
FAT.NETTOTAL AS [Fatura Tutarı],
(SELECT SUM(NETTOTAL) FROM LG_001_01_INVOICE WHERE CLIENTREF = CARI.LOGICALREF AND CANCELLED = 0) AS [Toplam Borç],
DATEDIFF(DAY, FAT.DATE_, GETDATE()) AS [Kaç Günlük Fatura]
FROM
LG_001_01_CLCARD CARI WITH(NOLOCK)
INNER JOIN
LG_001_01_INVOICE FAT WITH(NOLOCK) ON CARI.LOGICALREF = FAT.CLIENTREF
WHERE
CARI.CARDTYPE <> 22 -- Sadece gerçek cariler
AND FAT.CANCELLED = 0
AND FAT.TRCODE IN (7, 8) -- Sadece Satış Faturaları (Toptan ve Perakende)
ORDER BY
CARI.CODE, FAT.DATE_ DESC
 
Maalesef olmadı. Teşekkürler,
Merhaba,

Logo sistemimde kurulu değil, test etmek için go3 verisi içeren db de elimde mevcut değil bu sebeple emin olmamakla birlikte şu şekilde bir sql sorgusu yapay zeka tarafından oluşturuldu işinizi görebilir diye umarak, söz konusu 1.firmada 1.dönemde satış faturalarında açık olanları sadece gerçek carilerin listesi edinilebilir.
 
Rakamsal alanda dinamik formül var. Örnek olsun diye yazmıştım. Sonuçların değiştiğini görün diye o şekilde kurguladım.

Siz kendi verilerinizi ilgili alana yazarak deneme yapabilirsiniz.
Evet arkadaşım doğruymuş. Oldu. Peki son bir soru formülü şu şekilde düzenlediğimde =BUGÜN()-İNDİS(A:A;KAÇINCI(H15;DÇARP(--(SATIR(D:D)<=DEVRİK_DÖNÜŞÜM(SATIR(D:D)));EĞER((B:B=G15);EĞERHATA(D:D*1;0);0));-1)) yani satır numaraları vermediğimde şöyle bir hata veriyor;

excel bir veya daha çok formülü hesaplamayı denerken kaynakları tükendi​

 
Bu formülde kullanılan fonksiyonların sınırlarını aşmışsınız...

Formülü veri aralığı kadar uygulayıp deneyiniz. Yine hata verirse YARDIMCI SÜTUN kullanarak çözüm önerisi deneyebiliriz.
 
Alternatif, dizi formülüne dönüştürün.
Kod:
=DOLAYLI("A"&KAÇINCI($D$1;ETOPLA(KAYDIR(B2;0;0;SATIR(B2:B9)-SATIR(B2)+1);">-1e99");1)+1)
 
Geri
Üst