tarihler arasında hafta sayma

Katılım
25 Mayıs 2007
Mesajlar
8
Excel Vers. ve Dili
xp turkce
selam,
elimde bir tarih listesi var, bu liste içinde kaçtane 1. haftanın tarihi var kaç tane 2 haftanın tarihi var bunları saymak istiyorum yardımcı olabilirseniz sevinirim.
04.01.2010
04.01.2010
04.01.2010
04.01.2010
04.01.2010
04.01.2010
05.01.2010
05.01.2010
05.01.2010
05.01.2010
05.01.2010
05.01.2010
05.01.2010
05.01.2010
06.01.2010
06.01.2010
06.01.2010
06.01.2010
06.01.2010
06.01.2010
06.01.2010
06.01.2010
06.01.2010
07.01.2010
07.01.2010
07.01.2010
07.01.2010
bu listede kaç tane 1. haftaya ait tarih kaç tane 2. haftaya ait tarih var.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanız ektedir.:cool:
Kod:
Sub haftalar()
Dim sat As Long, i As Long, z As Object, hafta As Byte
Set z = CreateObject("Scripting.Dictionary")
Sheets("Sayfa1").Select
Application.ScreenUpdating = False
Range("C2:D65536").ClearContents
sat = Cells(65536, "A").End(xlUp).Row
For i = 1 To sat
    hafta = kac_hafta(Cells(i, "A").Value)
    If Not z.exists(hafta) Then
        z.Add hafta, 1
        Else
        z.Item(hafta) = z.Item(hafta) + 1
    End If
Next i
       
Range("C2").Resize(z.Count, 2) = Application.Transpose(Array(z.keys, z.items))
sat = Cells(65536, "C").End(xlUp).Row + 1
For i = 1 To 52
    If WorksheetFunction.CountIf(Range("C2:C65536"), i) = 0 Then
        Cells(sat, "C").Value = i
        Cells(sat, "D").Value = 0
        sat = sat + 1
    End If
Next
Range("C2:D" & sat).Sort Range("C2")
Application.ScreenUpdating = True
MsgBox "İşlem Tamamdır." & vbLf & _
"evrengizlen@hotmail.com", vbOKOnly + vbInformation, "E V R E N"
    
End Sub
End Sub
Function kac_hafta(tarih As Date) As Byte
  Dim ilk_gun As Date, ilk_hafta
  Dim son_hafta
  ilk_gun = DateSerial(Year(tarih), 1, 1)
  ilk_hafta = ilk_gun - Weekday(ilk_gun, 2) + 1
  son_hafta = tarih - Weekday(tarih, 2) + 1
    kac_hafta = WorksheetFunction.RoundUp((son_hafta - ilk_hafta) / 7, 0) + 1
End Function
 

Ekli dosyalar

Katılım
25 Mayıs 2007
Mesajlar
8
Excel Vers. ve Dili
xp turkce
teşekkür ederim ama sanırım anlatamadım.
HAFTA SAYI
1 0
2 41
3 48
4 37
5 40
6 0
7 0
8 0
9 0
10 0
var olan tarihlerden böyle bir tablo oluşturacam.
52 hafta olacak
yılın 1. haftasına ait kaç adet tarih bulunduğunu saymak istiyorum.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
teşekkür ederim ama sanırım anlatamadım.
HAFTA SAYI
1 0
2 41
3 48
4 37
5 40
6 0
7 0
8 0
9 0
10 0
var olan tarihlerden böyle bir tablo oluşturacam.
52 hafta olacak
yılın 1. haftasına ait kaç adet tarih bulunduğunu saymak istiyorum.
Zaten öyle yapıyor.
ilk verdiğiniz tarihler 2010 senesinin ilk haftası içinde olduğu için sadece onun sayısını verdi.Problem yok.Kod sorunsuz çalışıyor.:cool.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
teşekkür ederim ama sanırım anlatamadım.
HAFTA SAYI
1 0
2 41
3 48
4 37
5 40
6 0
7 0
8 0
9 0
10 0
var olan tarihlerden böyle bir tablo oluşturacam.
52 hafta olacak
yılın 1. haftasına ait kaç adet tarih bulunduğunu saymak istiyorum.
Sanırım anladım.
Dosyayı 2ncimesada tekraardan güncelledim.Oradan indirebilirsiniz.:cool:
 
Katılım
25 Mayıs 2007
Mesajlar
8
Excel Vers. ve Dili
xp turkce
bir sorun var
tarihi 01.01.2010 dan 31.12.2010 tarihine kadar yaz
ilk hafta 3 çıkıyo ondan sonrakiler 7 diye devam ediyo.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Araçlar-Toolpak çözümleyici aktif hale getirin.

Ekteki dosyayı inceleyiniz.
 

Ekli dosyalar

Katılım
25 Mayıs 2007
Mesajlar
8
Excel Vers. ve Dili
xp turkce
teşekkür ederim ama bunu ben zaten yaptım haftasay formülünün kullanıldığı sutunu açmadan nasıl yapılır .
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Aralığınız A1:A100 arasında olsun.

Bir hücreye

=TOPLA.ÇARPIM(--(TAMSAYI((A$1:A$100-TARİH(YIL(A$1:A$100);1;1)-HAFTANINGÜNÜ(A$1:A$100))/7)+2=SATIRSAY($A$1:A1)))

yazıp aşağı doğru çekiniz.

Yada E2 hücresine yazdığım gibi bir kısımdanda alınabilir.

O zamanda

=TOPLA.ÇARPIM(--(TAMSAYI((A$1:A$100-TARİH(YIL(A$1:A$100);1;1)-HAFTANINGÜNÜ(A$1:A$100))/7)+2=E2))

yazıp aşağı doğru çekersiniz.

.

.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
bir sorun var
tarihi 01.01.2010 dan 31.12.2010 tarihine kadar yaz
ilk hafta 3 çıkıyo ondan sonrakiler 7 diye devam ediyo.
O 3 çıkan adet sayısı.
2010 ilk haftası 3 gündür.
Takvime bakınız cuma cumartesi pazar.bu ilk haftadır ve sayısı 3 gündür.Diğerleri normal olarak 7 gündür.Bir problem yok.:cool:
 
Katılım
25 Mayıs 2007
Mesajlar
8
Excel Vers. ve Dili
xp turkce
örnekteki dosyaya bakabilirsiniz

dosyadaki tarihin ,yılın kaçıncı haftası olduğunu gösteren sütün olmadan sonucu almak istiyorum
 

Ekli dosyalar

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Sütun açmadan E2 hücresine

=TOPLA.ÇARPIM(($A$2:$A$514>=$G$2)*($A$2:$A$514<=$H$2)*((TAMSAYI((A$2:A$514-TARİH(YIL(A$2:A$514);1;1)-HAFTANINGÜNÜ(A$2:A$514))/7)+2)=D2))

yazıp aşağı doğru çekiniz.

.
 
Katılım
25 Mayıs 2007
Mesajlar
8
Excel Vers. ve Dili
xp turkce
arkadaşlar cevaplar için teşekkürler ama dosyadaki B sutununu kullanmak istemediğimi yazmıştım ama verdiğiniz bütün örneklerde o sütünü kullandınız B sutununu kullanarak sorunu zaten çözdüm B sutununu kullanmadan A sutunundaki tarihler arasında kaç adet 1. haftaya ait kaç tane 2. haftaya ait vs.vs tarih olduğunu saydırmak istiyorum.
(B sutunu kullanmadan )
bu arada ali verdiğin formül hata veriyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ali beyin önerdiği formülde boşluk oluşmuş silerseniz istediğiniz sonucu verecektir.

İkinci parantez bölümü;
Kod:
($A$2:$A$514<=[COLOR=red]$H $2[/COLOR])
 
Katılım
25 Mayıs 2007
Mesajlar
8
Excel Vers. ve Dili
xp turkce
teşekkür ederim ali ve diğer arkadaşlara
ali formulun çalıştı ve işimi gördü emeğine sağlık.
 
Üst