[[20080825100509]] 『出勤時間の計算』(マリー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『出勤時間の計算』(マリー)

A  
B  
C  
D  
E   
F  

8  
30  
17 
00  
7H  
30M

A  
B  
C  
D  
E   
F    

12 
30  
18  
30  
5H  
30M

A=始業時間(h)

B=始業時間(m)

C=終業時間(h)

D=終業時間(m)

A〜Dは手入力です。(文字列にしています。)

<条件>

 @12〜13時が休憩時間のため、朝から出勤している場合は勤務時間マイナス1時間とする。

 A始業時間が12時〜13時の内(12:30など)の場合は13時〜の計算とする。

 B時間は30分単位とする。

上記の条件をふまえて、E、Fへ時間と分に分けて

勤務時間が出力されるようにしたいのですが、

どのような式にすればいいのか教えて頂けませんでしょうか?


 >12〜13時が休憩時間のため、朝から出勤している場合は勤務時間マイナス1時間とする。 
 独断推測で、9:00〜12:45の人は、マイナス45分。つまり、勤務時間を3時間とします。

 >時間は30分単位とする。 
 独断推測で、時刻の丸めのことではなく、作業時間の丸めのことと解釈します。つまり、8:45出社の人を9:00出社と考えることはしない。

 (1) E1セル(文字列ではなく、数値で出力します)
   =IF(COUNTA(A1:D1)<4,"",HOUR(FLOOR(TEXT(TIME(C1,D1,0)-TIME(A1,B1,0)-MAX(0,MIN("13:00",TIME(C1,D1,0))-MAX("12:00",TIME(A1,B1,0))),"[h]:mm"),"0:30")))

 (2) F1セル(文字列ではなく、数値で出力します)
  =IF(E1="","",MINUTE(FLOOR(TEXT(TIME(C1,D1,0)-TIME(A1,B1,0)-MAX(0,MIN("13:00",TIME(C1,D1,0))-MAX("12:00",TIME(A1,B1,0))),"[h]:mm"),"0:30")))

  行   _A_  _B_  _C_  _D_   E    F   
   1     8   30   17   00    7   30  
   2    12   30   18   30    5   30  
   3     8   45   17   15    7   30  
   4     8   30   12   30    3   30  
   5     8   30   12   45    3   30  
   6     8   30   13   15    3   30  
   7     8   30   13   30    4    0  

  (半平太)

半平太さんありがとうございます。

ご推測のとおりです。

ただ、A「時」B「分」というように間に1列ずつとって単位を入れているので

"=IF(COUNTA(A1:D1)<4"のところでうまくいかないようなんですが、

何か方法はありますでしょうか?

Fはおかげさまでうまくいきました。

(マリー)


 >"=IF(COUNTA(A1:D1)<4"のところでうまくいかないようなんですが、 

 その部分は、エラー処理なので、重要ではありません。

 "=IF(COUNTA(A1:F1)<6"とでもすればいいと思いますが、
 正確なセル位置がこちらでは分かりませんので、そちらで適当にアジャストしてください。

 (半平太)


うまくいきました!

すごいですねー。尊敬します!

ごていねいに教えて頂きありがとうございました!

(マリー)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.