Tarih Aralığına Göre Aylık Bazda Gün Saydırma

Katılım
10 Eylül 2020
Mesajlar
16
Excel Vers. ve Dili
Excel 2016 EN
Korhan Bey cevabınız için teşekkürler,

Sheet2'deki Kalem1'in başlangıç periyodunuz 05.05.2019 olarak değiştirdiğimde 10 (15-5) yazması gerekiyor I5 hücresine. Ancak şuanki formülde 15 yazıyor.
Çalışmanın asıl amacı Sheet2'deki gün sayısını Sheet1'e çekmek.

Teşekkürler
Murat
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
28,164
Excel Vers. ve Dili
OFFICE 2019 PRO TR
Sanırım bu sefer oldu. Dener misiniz?

C++:
=MAK(0;(MİN($D5;DÜŞEYARA($B5;Sheet2!$B:$D;3;0);TARİH(YIL($C5);AY(TARİHSAYISI("1."&E$4&"."&YIL($C5)))+1;0))-MAK($C5+1;DÜŞEYARA($B5;Sheet2!$B:$D;2;0);TARİHSAYISI("1."&E$4&"."&YIL($C5)))+1))
 
Katılım
10 Eylül 2020
Mesajlar
16
Excel Vers. ve Dili
Excel 2016 EN
Korhan Bey Teşekkürler, Formül çok güzel çalıştı. Gerçekten cok zor bir förmüldü. Tekrar elnize saglık.

Son olarak birşey sormak istiyorum. Sheet2'de birden fazla 'kalem1' ürünü olması durumunda hepsini bulup toplamlarını ilgili aylara yazdırmak istesek formülünüzde nasıl bir değişiklik yapmamız gerekir. Örnek bir dosyayı aşağıdaki linkte gönderiyorum


İyi Çalışmalar
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
28,164
Excel Vers. ve Dili
OFFICE 2019 PRO TR
Merhaba,

Eğer bahsettiğiniz durum için satır sayısı az olsaydı. Formülü tekrarlayarak çözüme ulaşabilirdik.

Fakat son mesajınızda "Çok fazla. bazı ürünler için iki bin" ifadesi kullandığınız için ve çoklu satır için önerdiğim formül yerine kullanıcı tanımlı fonksiyon ile çözüm hazırladım.

Eğer daha önceki önerdiğim formüldeki kurgu ve sonuçlar doğru ise sizin son paylaştığınız dosyadaki TEMMUZ ayında bir farkımız var.

Ekli dosyayı kontrol edin bakalım istediğiniz sonucu veriyor mu?

Harici Link (Silinebilir) ; https://www.dosya.tc/server31/9ejt0p/Tarih_Araligina_Ait_Gunleri_Sayma.xlsm.html

Fonksiyonun Kullanım Şekli;

C++:
=Day_Count(My_Item As Range, Month As Range, First_Date As Range, End_Date As Range, _
          Table_Area As Range, First_Date_Column As Integer, End_Date_Column As Integer) As Long
My_Item = Kalem1 (B15)
Month = Ocak (E4)
First_Date = 07.01.2019 (C15)
End_Date = 15.10.2019 (D15)
Table_Area = Sheet2!$B$5:$D$25
First_Date_Column = Sheet2 C sütunu indisi (Table_Area'ya göre)
End_Date_Column = Sheet2 D sütunu indisi (Table_Area'ya göre)
 

Ekli dosyalar

Katılım
10 Eylül 2020
Mesajlar
16
Excel Vers. ve Dili
Excel 2016 EN
Korhan Bey Teşekkürler
Temmuz ayı konuusnda haklısınız ben sehven yanlıs yazmışım.

Makro içeren dosyayı açtığımda baze aylarda hata alıyorum. (sanırım içinde türkçe karakter içeren ay isimlerinde)


Ay isimleri illaki yazı olmasına gerek yok. 1'den 12'ye kadar rakamada yazılabilir ocak subat... yerine

Murat
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
28,164
Excel Vers. ve Dili
OFFICE 2019 PRO TR
Evet siz İNGİLİZCE versiyon kullanıyormuşsunuz. Dikkatimden kaçmış. Bu sebeple hata almanız normaldir.

Eğer mümkünse ay isimlerini İNGİLİZCE kullanın. Ya da dediğiniz gibi numerik değerler kullanın.
 
Katılım
10 Eylül 2020
Mesajlar
16
Excel Vers. ve Dili
Excel 2016 EN
yada sheet1'deki ay isimleri yerine 31.01.2019 28.02.2019... gibi tarihlerde yazarızç. Cünkü formülünüzede buraya gitmişiniz.
 
Katılım
10 Eylül 2020
Mesajlar
16
Excel Vers. ve Dili
Excel 2016 EN
Korhan Bey,

Teşekkür ederim. Fonskiyon çalışıyor.
Yanlız bir sorun var ki o da şu;

Kendi çalışmamada fonsiyonu çalıştırdığımda o kadar yavaş ki anlatamam. sag altta : Calculating (12 Threads) yazıyor ve 1 saatte 3000 hücrenin %15'ini hesaplayabildiki benim 100 binlerce hücrem var. Yani her bir hesaplama yaptırmamda günlerce beklemem gerekecek. Bu 12 Threads konusunu araştırdığımda google da herkes aynı konudan müzdarip.

Murat
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
28,164
Excel Vers. ve Dili
OFFICE 2019 PRO TR
Hücre sayınız fazla ise zaten hiç fonksiyon işine girmemeniz daha faydalı olacaktır.

Direkt makrolu çözüm uygulansa daha verimli olacaktır.
 
Katılım
10 Eylül 2020
Mesajlar
16
Excel Vers. ve Dili
Excel 2016 EN
Zaten en son gönderdiğiniz makroyu kullandım. Kodu yapıştırdım ve formulde sizin verdiğiniz =@Day_Count($B15;E$14;$C15;$D15;Sheet2!$B$5:$D$25;2;3) bu var.
Başka bişey yok
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
28,164
Excel Vers. ve Dili
OFFICE 2019 PRO TR
Benim önerdiğimde kişisel fonksiyondur. Yani bir nevi excel fonksiyonudur.

Bahsettiğim işlem bir buton ile çalıştırabileceğiniz tablonuza uygun ado-dictionary-dizi yöntemleri ile daha hızlı sonuç verecek yapılar kurmaktır.

Forumda bu tarz çok satırlı tablolar için önerilen kodlamalar var. Onların benzeri sizin tablonuza uyarlanması daha verimli sonuç almanızı sağlayacaktır.

Asıl dosyanıza uygun yapıda (satır ve sütun bakımından) örnek paylaşırsanız bu yönde kod hazırlayabilirim.
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
28,164
Excel Vers. ve Dili
OFFICE 2019 PRO TR

Ekli dosyalar

Üst