[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『出勤時間の計算』(マリー)
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.