2016-03-25 10 views
0

チケットが営業時間に違反する日付(時間と分で秒単位)を計算しようとしています。週末、休日、休業時間を除いて計算された違反時間

私には次のものがあります:作業開始時間は8AM、作業終了時間は5PMです。週は月曜日から金曜日です。私はまた休日に基づいた国のリストを持っています。私は、週末、休日、開始時間の前、開始後も開始日を持つことができます。

I`m

=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 =時間起動し、次の式を使用して

9 =別のタブで

B1 =国名

を追加する時間数、私が持っています国と休日のリスト、間接/連結/一致の計算式は、それぞれの国の休日の開始行と終了行を識別するのに役立ちます。

開始時刻が午前8時から午後5時まではうまく動作します 時刻(8,0,0)は開始時刻ですが、mod式の後には何が「8」なのか分かりません。

は、営業時間外のアカウントの開始時間に取るdoesntのここ 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

この式から、この数式を手に入れました。

午後8時にチケットを受け取り、祝日が25 &である場合は、9営業時間を追加すると、午後5時には9月が加算されます。 午前5時に25日にチケットを受け取った場合、9営業時間を追加すると同じ結果が期待されます。

おかげで、私は作業時間外の時間に周りの仕事を思い付いた

答えて

0

ソリン -

= IF(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))。私は時間をプログラムの始めに移しました。