• DİKKAT

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

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

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.
 
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.
 
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:
 
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.
 
Araçlar-Toolpak çözümleyici aktif hale getirin.

Ekteki dosyayı inceleyiniz.
 

Ekli dosyalar

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

.

.
 
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:
 
örnekteki dosyaya bakabilirsiniz

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

Ekli dosyalar

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.

.
 
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.
 
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])
 
teşekkür ederim ali ve diğer arkadaşlara
ali formulun çalıştı ve işimi gördü emeğine sağlık.
 
Geri
Üst