Ürünün sipariş sevk edilmeden geçen gün sayısı

Ö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.
İşlemin uygulandığı belge ekte.

.
 

Ekli dosyalar

Katılım
28 Temmuz 2005
Mesajlar
85
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
23/05/2022
Sayın Baran, sizi bayağı yordum ama beklenen sonuçları aldım emeğiniz için çok teşekkür ederim.
Yazdığınız formülü aynı sayfada çalıştırdım ancak başka sayfada çalıştıramadım. Orjinal dökümanımda sayfa adı 'SQL SIP' dolayısıyla seçilen hücre aralıklarını 'SQL SIP'!$N$2:$N$65536 şeklinde güncelledim. Ancak son yazdığınız formülde +1&":N65536") şeklinde bir başvuru var. Başka sayfada bu kısmı nasıl tanımlayacağımı bulamadım.

Bu arada sayfa ciddi yavaşladı. Dolayısıyla bugün itibarı ile son 35 günlük SQL sorgu sonucunu almam iyi olacak.. Bekleyen sipariş 35 günü geçmişse zaten durum vahimdir. Bana gereken son 35 günün siparişi olacak. Zaten 2-3 aya kalmaz satır sayısı 65536' yı geçecek gibi duruyor, o da ayrı sıkıntı olacak gibi.
 

Ö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.

►FORMÜL İLE ÇÖZÜM:
Verdiğim formülü gereksiz uzattığımı fark ettim.
Aşağıdaki kısaltılmış formülü deneyiniz.
.
Kod:
=[COLOR="red"]EĞER[/COLOR](Q1="";"";[COLOR="red"]EĞERHATA[/COLOR](BUGÜN()-[COLOR="red"]KAYDIR[/COLOR](Sayfa1!$L$1;[COLOR="red"]MİN[/COLOR]([COLOR="red"]EĞER[/COLOR](Sayfa1!$N$2:$N$65536=Q1;[COLOR="red"]EĞER[/COLOR]([COLOR="red"]SATIR[/COLOR](Sayfa1!$N$2:$N$65536)>[COLOR="red"]MAK[/COLOR]([COLOR="red"]EĞER[/COLOR](Sayfa1!$N$2:$N$65536=Q1;[COLOR="red"]EĞER[/COLOR](Sayfa1!$G$2:$G$65536>0;[COLOR="red"]SATIR[/COLOR](Sayfa1!$N$2:$N$65536))));[COLOR="red"]SATIR[/COLOR](Sayfa1!$N$2:$N$65536))))-1;0)-1;"YOK"))
►MAKRO İLE ÇÖZÜM:
Eklediğim belgeye makro ile çözüm de eklenmiştir, deneyiniz.

►son cevabınızdaki soru:
Yukarıda verdiğim kısaltılmış formül ve makro ile çözüm nedeniyle son cevabınızdaki soru açıkta kalacak ama yine de açıklama yapayım.
Belirttiğiniz +1:N.... kısmının önünde yer alan MAK formülüne bakmanız lazım.
-- MAK formül parçası, ilgili ürün kodu için, 0'dan büyük son veri satırını buluyor.
-- MİN(.....+1:65536 kısmıyla da bir sonraki hücreden itibaren aynı ürün kodunun bulunduğu ilk veri satırı bulunuyor.

Örneklendirmek gerekirse;
594 no'lu ürün için aşağıdaki dizi formülünün sonucu, son 0'dan büyük değerin satır numarasını bulur (sonuç: 9977)
.
Kod:
=[COLOR="Red"]MAK[/COLOR]([COLOR="red"]EĞER[/COLOR]($N$2:$N$65536=Q1;[COLOR="red"]EĞER[/COLOR]($G$2:$G$65536>0;[COLOR="red"]SATIR[/COLOR]($G$2:$G$65536))))
Ardından da bu satırdan sonraki (+1....) alanda, aynı kodun yer aldığı ilk satır numarası bulunuyor (sonuç: 10337)
Tarih farkı ise; BUGÜN() ile L10337 hücresindeki tarihler üzerinden hesaplanıyor.
.
 

Ekli dosyalar

Katılım
28 Temmuz 2005
Mesajlar
85
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
23/05/2022
Kısaltılmış formül çok makbule geçti, sayfa şimdi çok daha rahat çalışıyor, bu arada SQL sorgu sonuç listesini tarih filtresi ile 7.000 satıra düşürdüm, onun da faydası oldu.
Makro çalışmanız süper olmuş, bağımsız tüm ürün kodlarını sorgulamak için ayrıca kullanıyorum. Emeğinize, bilginize sağlık, beni büyük yükten kurtardınız, ç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.

İyi çalışmalar dilerim.
.
 
Üst