• DİKKAT

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

İki tarih arasındaki tarihleri saymak

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Merhaba hayırlı geceler.

Ekte gönderdiğim excel dosyamın B2 hücresinden başlayarak aşağıya doğru tarihler var,
G1 hücresine ilk tarih H1 hücresine son tarih yazıyorum, I1 hücresine B sütunundaki tarihlere göre
G1 ve H1 hücresi arasındaki tarihleri toplamak istiyorum.

Bir türlü formülü kuramadım.

Yardımcı olur musunuz?
.
 

Ekli dosyalar

Son düzenleme:
Merhaba.

Anladığım kadarıyla sorunun, TOPLAMAK değil de SAYMAK şeklinde sorulması lazım imiş.
.
Kod:
=[COLOR="Red"]TOPLA.ÇARPIM[/COLOR](($B$2:$B$22>=G1)*($B$2:$B$22<=H1))
 
Sayın Ömer Bey, ellerinize sağlık, çok teşekkür ediyorum, bir türlü formülü kuramamıştım, eğersay ile yapmaya çalışıyordum olmamıştı.

Hayırlı geceler, hayırlı çalışmalar diliyorum.
 
EĞERSAY işleviyle de sonuç alabilirsiniz aslında.
.
Kod:
=[COLOR="red"]EĞERSAY[/COLOR]($B$2:$B$22;"<>")-[COLOR="red"]EĞERSAY[/COLOR]($B$2:$B$22;"<"&G1)-[COLOR="Red"]EĞERSAY[/COLOR]($B$2:$B$22;">"&H1)
 
Sayın Ömer Bey, topla.çarpım formülü daha basit geldi, onu kullanacağım.

Ekte bir örnek daha gönderiyorum, B sütunundaki tarihlerden ayları ayrı ayrı saymak istiyorum,
topla.çarpım formülünü uyarlıyamadım, yardımcı olur musunuz?
.
 

Ekli dosyalar

Mart ayını eksik saymışsınız.
Formülü K2 hücresine uygulayıp sağa doğru kopyalayın.
.
Kod:
=[COLOR="Red"]TOPLA.ÇARPIM[/COLOR](--([COLOR="red"]AY[/COLOR]($B$2:$B$22)=SÜTUN(A$1)))
 
Sayın Ömer Bey, ellerinize sağlık tam istediğim gibi çalışıyor, ancak verilerim 10 binleri geçtiği
için formüle aralık yazmaktansa aşağıdaki gibi B sütununu komple seçtiğimde DEĞER hatası veriyor.
=TOPLA.ÇARPIM(--(AY(B:B)=SÜTUN(A$1)))

Formülü aşağıdaki gibi yazdığımda 99978 diye bir sonuç çıktı.
=TOPLA.ÇARPIM(--(AY(B2:B100000)=SÜTUN(A$1)))
 
Sayın Ömer Bey, çokeğersay formülünü uyarlarsak olacakmış gibi geliyor, ama uyarlıyamadım.
 
Formüllerde tüm satırları veya tüm sütunları kullanmak belgeyi yavaşlatır.

FORMÜLLER menüsündeki AD TANIMLAMA kısmında, talan (tarih alanı manasında) adını verip aşağıdaki formülü uygulayın.

Böylece; belgeye yeni veri eklendiğinde eklenen veriler de dikkate alınır ve formülün güncellenmesi gerekmez..

Amaç; Excel versiyonuna göre 65000 veya 1048000 hücrede işlem yapmak yerine sayma alanını son dolu satırla sınırlamak.
Formüldeki KAÇINCI kısmını başka bir hücreye uygularsanız bunun, son tarih hücrenin satır numarasını verdiğini görebilirsiniz.

.
Kod:
=[COLOR="red"]DOLAYLI[/COLOR]("Sayfa1!B2:B"&[COLOR="Red"]KAÇINCI[/COLOR](0+"31.12.9999";Sayfa1!$B:$B;1))
Bundan sonra da önceki cevabımda belirttiğim formül içerisindeki $B$2:$B$22 yerine talan yazmanız yeterli olacaktır.

Aralarda BOŞ hücrelerin olması ihtimali varsa formülü aşağıdaki gibi değiştirmeniz gerekir.
(Örneğin, B100 hücresi BOŞ iken başka bir hücreye =AY(B100) yazarsanız sonuç 1 olur,
çünkü tarih işlemlerinde BOŞ hücre 00.01.1900 tarihi gibi algılanır)
.
Kod:
=TOPLA.ÇARPIM(([B][COLOR="Blue"]talan[/COLOR][/B]>0)*(AY([B][COLOR="blue"]talan[/COLOR][/B])=SÜTUN(A$1)))
 
Sayın Ömer Bey dediğiniz gibi yaptım, süper çalışıyor, küçük bir sorun var gibi geliyor.

Yeni veri eklediğimde sayma yapıyor, ancak B sütunu içerisinde herhangi bir hücre sildiğim de
Ocak ayına topluyor. Yani aralardaki boş hücreleri ocak ayına yazıyor.
 
Boş hücrelerin durumuyla ilgili son cevabıma ilave açıklama yazmıştım.
Sayfayı yenileyerek son cevabımı tekrar gözden geçirin.
.
 
Sayın Ömer Bey, valla süper oldu, ellerinize sağlık, çok teşekkür ediyorum.

Hayırlı sabahlar, hayırlı çalışmalar diliyorum.
 
Emekliyim Sayın ERASLAN.
30 yıl kadar çalıştım yeter bence. :)
Bilmukabele.
 
Sayın Ömer Bey, hayırlı emeklilikler diliyorum. Nice uzun ömürlere.
 
Omer Bey ben de siteye bir goz gezdiriyordum yanitlarinizi gordum. Emeginize saglik, vakit ayirip boyle sabirla gecmisten bu yana bana ve digerlerine yanit verip cozume kavusturdugunuz icin. :) selamlar.
 
Omer Bey ben de siteye bir goz gezdiriyordum yanitlarinizi gordum. Emeginize saglik, vakit ayirip boyle sabirla gecmisten bu yana bana ve digerlerine yanit verip cozume kavusturdugunuz icin. :) selamlar.
Siz de sağ olunuz.

Vaktim olduğunca, bilgim yettiğince destek vermeye devam ediyorum.

Sayın ERASLAN için de şunu söyleyeyim;
kendisi forumda rastladığım en güzel soru soran üyedir ve öğrenmeye çalışan biri,
sorularında ikircikli durum çok nadir olur, örnek belgeleri her zaman en ideal biçimdedir.

Böyle başı-sonu belli soru ve öğrenmek isteyen biri olduğunda üşenmeden sabırla cevap/cevaplar yazarım.
.
 
Bir hatırlatma;

TOPLA.ÇARPIM fonksiyonu benim gibi birçok üyemiz tarafından sıkça kullanılıyor.

Fakat dizi formül çalışma tekniği ile çalıştığı için büyük hacimli dosyalarda yavaşlamaya sebep olmaktadır.

Bunun yerine excelin yeni versiyonlarına entegre edilen ve daha hızlı tepkiler veren yeni fonksiyonları kullanmanızı tavsiye edeceğim.

Alternatif olarak aşağıdaki formülleri deneyebilirsiniz. Çok sayıda hücreye uyguladığınızda performans farkını gözlemleyebilirsiniz.

I8 hücresine;

Kod:
=ÇOKEĞERSAY(B:B;">="&G1;B:B;"<="&H1)


K2 hücresine;

Kod:
=ÇOKEĞERSAY($B:$B;">="&("1."&K1&".2018")*1;$B:$B;"<="&SERİTARİH(("1."&K1&".2018")*1;1)-1)

Siz K1 hücresine ay adını yazdığınız için tarihi formül içinde birleştirme sembolü ile tanımladım. Yıl olarak 2018 yılını dikkate aldım.

Formüldeki tarih kriterleri OCAK ayı için 01.01.2018 / 31.01.2018 tarihlerini üreterek sonuca gitmektedir.

Uygulamalı dosyanız ektedir.
 

Ekli dosyalar

Geri
Üst