• DİKKAT

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

İki tarih arasındaki gün sayısı

  • Konbuyu başlatan Konbuyu başlatan Erdal
  • Başlangıç tarihi Başlangıç tarihi
Aşağıdaki formülü dener misiniz?
Kod:
=C2-C1-TOPLA.ÇARPIM((A:A<>"")*(A:A>C1)*(A:A<C2))+1
 
Evet istediğim buydu. Teşekkür ederim Sn. mucit77.
 
Formüldeki büyük ve küçük işaretlerini Büyük-Eşit ve Küçük-Eşit ile değiştiriniz.
Kod:
=C2-C1-TOPLA.ÇARPIM((A:A<>"")*(A:A>[COLOR="Red"]=[/COLOR]C1)*(A:A<[COLOR="red"]=[/COLOR]C2))+1
 
İkinci sayfada doğru sonuç veriyor ama 1. sayfada hala hatalı sonuç üretiyor.
 
Tatiller bölümünü kontrol ediniz.
Aynı tarihten iki tane varsa hata verecektir.
Çünkü formülün çalışma mantığı şu şekilde:
Bitiş tarihinden-başlangıç tarihini çıkarır, aradaki gün sayısını bulur.
A sütununda başlangıç tarihinden büyük-eşit olan ve bitiş tarihinden küçük-eşit olan değerleri sayar ve aradaki gün sayısından çıkarır.
Hem başlangıç hem de bitiş dahil edileceği için 1 ekler.
 
Tatiller sütununda birden fazla aynı tarihten olabilir. Bu şekilde bir çözüm yolu yok mudur?
 
Makroyla bir yolu yok mudur acaba?
 
Makro isterseniz aşağıdaki kodu deneyiniz.
Kod:
Sub Hesapla()
baş = Range("C1")
bit = Range("C2")
fark = bit - baş
Set alan = Range("A4:A" & Range("A65500").End(3).Row)
For Each hücre In alan
    If hücre.Value >= baş And hücre.Value <= bit And WorksheetFunction.CountIf(Range("A4", hücre), hücre.Value) = 1 Then say = say + 1
Next
Range("E2") = fark - say + 1
End Sub
 
Teşekkür ederim Sn. mucit77
 
Geri
Üst