iki tarih arası işgünü bulma

Katılım
21 Eylül 2004
Mesajlar
44
cumartesi gününü işgününden sayarak herhangi iki tarih arasında kaç işgünü olduğunu hesaplayabilecek bir formül varmıdır.

örneğin 01.12.2004 tarihinde izne çıkan bir işçinin 29.12.2004 tarihinde izninin biteceği varsayılırsa bu işçi kaç işgünü izin kullanmış olur.(cumartesi de işgünüdür.)yani bir tek pazar günleri sayılmayacak
sonuç 25 işgünü olması gerekir.
 
Katılım
28 Temmuz 2004
Mesajlar
275
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
trh1 = DateValue(Range("a1").Value)
trh2 = DateValue(Range("b1").Value)
syc = 0
For i = trh1 To trh2
If Weekday(i, vbMonday) < 7 Then syc = syc + 1
Next i
Range("c1") = syc
End Sub


Eğer hazır bir fonksiyon varsa da ben bilmiyorum. Başlangıç tarihini A1'den, bitiş tarihini B1'den alıyor. Cumartesi ve bittiği gün dahil, işgünü sayısını C1'e yazıyor. Eğer bitiş tarihi dahil edilmeyecekse Range("c1") = syc yerine Range("c1") = syc
-1 yazarsınız.
 
Katılım
21 Eylül 2004
Mesajlar
44
öncelikle ilginize teşekkür ederim
fakat ben excel konusunda fazla bilgi sahibi değilim
bana bu kodların nereye ve nasıl yazılacağını anlatırsanız size minnettar olurum
 
Katılım
7 Temmuz 2004
Mesajlar
1,141
ingilizce
=SUMPRODUCT((WEEKDAY(ROW(INDIRECT(A1&":"&A2)))>1)+0)-SUMPRODUCT(--(ISNUMBER(MATCH(ROW(INDIRECT(A1&":"&A2));tatillistesi;0))))

türkçe
=TOPLA.ÇARPIM((HAFTANINGÜNÜ(SATIR(DOLAYLI(A1&":"&A2)))>1)+0)-TOPLA.ÇARPIM(--(SAYIDIR(KAÇINCI(SATIR(DOLAYLI((A1&":"&A2));tatillistesi;0))))


p.s. isterseniz ayrıca "tatillistesi" diye bir range belirleyip buraya özel tatil günlerini de yazabilirsiniz. (bayram v.s.)


analyse tool pack add-in i eklemeniz gerekir.
(tools>add-ins>analysis tool pak)
(araçlar>eklentiler>>analysis tool pak)
 
Katılım
25 Ağustos 2004
Mesajlar
99
Ã?ncelikle haddim olmayarak Sayın Alpen'in çözümüne karşı duyduğum hayranlığı ifade etmek isterim.

Sayın forum üyelerinden ve Sayın Alpen'den ricam ise;

=TOPLA.ÇARPIM((HAFTANINGÜNÜ(SATIR(DOLAYLI(A1&":"&A2)))>1)+0)-TOPLA.ÇARPIM(--(SAYIDIR(KAÇINCI(SATIR(DOLAYLI((A1&":"&A2));tatillistesi;0))))

ifadesinde TOPLA.ÇARPIM'a konu olan dizi'nin nasıl yaratıldığı ve kırmızı ile işaret etmeye çalıştığım ifadelerin nasıl bir işlevi yerine getirdiklerini izah etmeleridir.

Saygılarımla.
 
Katılım
7 Temmuz 2004
Mesajlar
1,141
merhaba sayın mlakdag
öncelikle iltifatınız için teşekkürler.

TOPLA.ÇARPIM'a konu olan dizi'nin nasıl yaratıldığı
her ne kadar 10.12.2004 şeklinde görünse de, excel'de tarihler sayılar olarak tutulur.

mesela 10.12.2004 tarih formatlı bir hücrenin özelliğini genel olarak değiştirirseniz 38331 sayısını görürsünüz.
bu sayı 1.1.1900 den 10.12.2004 'e 38331 gün geçmiş olduğunu gösterir.
DOLAYLI fonksiyonu ile tüm bu sayıları satırlara doldururuz.
daha sonra HAFTANINGÜNÜ, SATIR, KAÇINCI fonsiyonları yardımı ile bu günlerin bizim istediğimiz günlere rastlayıp rastlamadığını kontrol ederiz.

+0 ise true/false'dan sayısal bir değer döndürmeye yarar. (toplamada etkisiz eleman)
 
Katılım
7 Temmuz 2004
Mesajlar
1,141
sayin danersin pm ile uyardi,
sanirim Turkce fonksiyon karsiliklarinda bir tercume yanlisligi var. su an etrafimda Turkce excel olmadigi icin kontrol edemiyorum.

SAYIDIR fonksiyonu olarak tercüme etmişsiniz, sanırım ESAYIYSA olacak, Hüseyin beyin fonksiyon listesindede ISNUMBER-SAYIDIR diye karşılık verimiş ama öyle bir fonksiyon bulamadım..
sayin danersin tesekkurler.
 
Katılım
17 Şubat 2005
Mesajlar
1
Arkadaşlar Merhaba;
benim şöyle bir sorunum var yardımcı olursanız sevinirim.
excel'de;
a1 hücresinde 20,12 saat ve dakika degeri var ,B1 hücresinde ise o anki saat ve tarih yazılı şimd;i
b1 hücresindeki o anki saat ve tarih degerlerine, a1 hücresindeki saat ve dakika degerini ekleyip c1 hücresine hangi gün ve hangi saat,dakika olduğunu hesaplatıp yazdırmak istiyorum.
Kolay gelsin herkese teşekür ederim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekteki örneği inceleyiniz. Eğer yanlış anlamadıysam sorunuz basit bir toplama işlemi ve hücre biçimlendirme ile çözülebilir.
 
Üst