Excel Forum


Geri Git   Excel Forum > EXCEL-Soruları > Fonksiyonlar
Atatürk
Şifremi Unuttum

Fonksiyonlar Bir fonksiyonun, nasıl işlediğini veya aradığınız bir işleme uygun olup olmadığını bu başlık altında sorabilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama



Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 30-01-2010, 15:30   #1
estfineyi
 
Giriş: 25/05/2007
Şehir: rize
Mesaj: 8
Excel Vers. ve Dili:
xp turkce
Varsayılan tarihler arasında hafta sayma

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.
estfineyi Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-01-2010, 15:50   #2
Orion1
Uzman
 
Orion1 kullanıcısının avatarı
 
Giriş: 01/03/2005
Mesaj: 17,062
Excel Vers. ve Dili:
Win7 Home Basic TR 64 Bit Ofis-2010-TR 32 Bit
Varsayılan

Dosyanız ektedir.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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
Eklenmiş Dosyalar
Dosya Türü: rar haftalar_59_V2.rar (10.1 KB, 23 Görüntülenme)
__________________
KOD ANLATILMAZ,YAZILIR!
Bir sümer atasözü;
Madem biliyorsun neden öğretmiyorsun.Boşa vakit geçirdin neye yaradı.
Orion1 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-01-2010, 21:47   #3
estfineyi
 
Giriş: 25/05/2007
Şehir: rize
Mesaj: 8
Excel Vers. ve Dili:
xp turkce
Varsayılan

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.
estfineyi Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-01-2010, 22:04   #4
Orion1
Uzman
 
Orion1 kullanıcısının avatarı
 
Giriş: 01/03/2005
Mesaj: 17,062
Excel Vers. ve Dili:
Win7 Home Basic TR 64 Bit Ofis-2010-TR 32 Bit
Varsayılan

Alıntı:
estfineyi tarafından gönderildi Mesajı Görüntüle
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.
__________________
KOD ANLATILMAZ,YAZILIR!
Bir sümer atasözü;
Madem biliyorsun neden öğretmiyorsun.Boşa vakit geçirdin neye yaradı.
Orion1 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-01-2010, 22:13   #5
Orion1
Uzman
 
Orion1 kullanıcısının avatarı
 
Giriş: 01/03/2005
Mesaj: 17,062
Excel Vers. ve Dili:
Win7 Home Basic TR 64 Bit Ofis-2010-TR 32 Bit
Varsayılan

Alıntı:
estfineyi tarafından gönderildi Mesajı Görüntüle
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.
__________________
KOD ANLATILMAZ,YAZILIR!
Bir sümer atasözü;
Madem biliyorsun neden öğretmiyorsun.Boşa vakit geçirdin neye yaradı.
Orion1 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-01-2010, 23:55   #6
estfineyi
 
Giriş: 25/05/2007
Şehir: rize
Mesaj: 8
Excel Vers. ve Dili:
xp turkce
Varsayılan

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.
estfineyi Çevrimdışı   Alıntı Yaparak Cevapla
Eski 31-01-2010, 00:08   #7
Ali
 
Ali kullanıcısının avatarı
 
Giriş: 21/07/2005
Mesaj: 7,318
Excel Vers. ve Dili:
İş:Excel 2007-Türkçe Ev:Excel 2003-Türkçe
Varsayılan

Araçlar-Toolpak çözümleyici aktif hale getirin.

Ekteki dosyayı inceleyiniz.
Eklenmiş Dosyalar
Dosya Türü: zip Haftasay.zip (2.1 KB, 29 Görüntülenme)
Ali Çevrimdışı   Alıntı Yaparak Cevapla
Eski 31-01-2010, 00:12   #8
estfineyi
 
Giriş: 25/05/2007
Şehir: rize
Mesaj: 8
Excel Vers. ve Dili:
xp turkce
Varsayılan

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 .
estfineyi Çevrimdışı   Alıntı Yaparak Cevapla
Eski 31-01-2010, 00:40   #9
Ali
 
Ali kullanıcısının avatarı
 
Giriş: 21/07/2005
Mesaj: 7,318
Excel Vers. ve Dili:
İş:Excel 2007-Türkçe Ev:Excel 2003-Türkçe
Varsayılan

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.

.

.
Ali Çevrimdışı   Alıntı Yaparak Cevapla
Eski 31-01-2010, 09:08   #10
Orion1
Uzman
 
Orion1 kullanıcısının avatarı
 
Giriş: 01/03/2005
Mesaj: 17,062
Excel Vers. ve Dili:
Win7 Home Basic TR 64 Bit Ofis-2010-TR 32 Bit
Varsayılan

Alıntı:
estfineyi tarafından gönderildi Mesajı Görüntüle
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.
__________________
KOD ANLATILMAZ,YAZILIR!
Bir sümer atasözü;
Madem biliyorsun neden öğretmiyorsun.Boşa vakit geçirdin neye yaradı.
Orion1 Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 13:40


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.


Bahis Forum - Termal Kemer - Define - Samsung Fernseher - Plastik - Excel Eğitim - Çorlu Kamera - Kırklareli Kız Yurdu - Kırklareli Kız Apart - Yurt Kırklareli - Kız Yurdu Kırklareli - Kız Öğrenci Yurdu Kırklareli - Kız Öğrenci Apart - Kırklareli Sembol - Kırklareli Pansiyon - Kırklareli Kız Apart - Kırklareli Kız Apart - Kırklareli Apart - Kırklareli Yurt - Kırklareli Kız Yurdu - Çorlu Demir Çelik - Kırklareli Kız Öğrenci - Çorlu Petek Temizleme
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden