2016-03-25 11 views
0

Bir biletin 9 iş saatini işaretini ihlal edeceği tarihi hesaplamaya çalışıyorum (saat dakika ve saniye ile).Hesaplanan ihlal süresi hafta sonu, tatil günleri ve çalışma saatleri hariç

Aşağıdakilere sahibim: çalışma başlangıç ​​saati 8AM, çalışma bitiş saati 5PM'dir. Hafta pazartesiden cumaya. Ayrıca bayram bazlı bir ülke listesi var. Hafta sonları, tatiller, başlama saatinden önce ve başlangıçtan sonra başlangıç ​​tarihine sahip olabilirim.

I `

=WORKDAY(A1,1+INT((9-(17-MOD(A1,1)*24))/8),INDIRECT(CONCATENATE("'Validation'!j",MATCH(B1,Validation!I:I,0),":j",MATCH(B1,Validation!I:I,0))))+TIME(8,0,0)+MOD((9-(17-MOD(A1,1)*24)),8)/24 

A1 = zaman başlat bu formülü kullanarak

9 = başka sekmede

B1 = Ülke adını

eklemek için saat sayısı Ben Ülkeler ve tatillerin listesi, dolaylı/bilişim/eşleşme formülü, ilgili ülke başına tatillerin başlangıç ​​satırını ve bitiş satırını belirlememde bana yardımcı oluyor.

Saat 08:00 ile 17:00 arası arasında çalışıyor. Sanırım zaman (8,0,0) başlangıç ​​zamanıdır ama mod formülünden sonra ne "8" olduğundan emin değilim.

iş saatleri dışında hesap başlangıç ​​zamanı göz önünde doesnt burada http://answers.microsoft.com/en-us/office/forum/officeversion_other-excel/add-work-hours-to-a-date-and-time/c41cf049-3797-48a3-8156-438401c6137c?page=2

Bu formülün bu formülleri var.

24 Mart'ta saat 20: 00'de bir bilet alırsam ve 25 & 28 tatil günlerinde, 9 iş saati ekleyerek 29 Mart 5PM almayı beklerim. , 25: 00'da bir bilet alırsam, 9 iş saatini eklediğimde aynı sonuca varmayı beklerdim.

sayesinde ben çalışma zamanı dışında saate geçici bir çözüm ile geldi

cevap

0

sorin -

= EĞER (MOD (A1,1) < 0,333333, INT (A1) + TIME (8,0,0), IF (MOD (A1,1)> 0,708333, INT (A1 + 1) + TIME (8,0,0); A1)). saatleri programın başlangıcına taşıdım.

İlgili konular