- ベストアンサー
Excel:特定の時刻から15分単位で表示させるには?
- Excelで特定の時刻から15分単位で勤務時間を表示するには、計算式を使って条件に応じた時刻を計算します。
- 勤務表作成時に、開始時刻と終了時刻、休憩時間を入力し、当日の勤務時間を表示します。
- 具体的な条件として、開始時刻と終了時刻の入力がない場合は0:00と表示し、特定の時間帯に入力された場合はそれに応じた勤務時間を表示します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
5番の条件変更で、休憩時間はお昼の1時間に固定され超過勤務以外は 15分で丸めないことになったとします。 =AND(C13*D13)* (MIN(IF(AND(D13>="12:00"*1,D13<="13:00"*1),"13:00",D13),"17:40") -MAX(IF(AND(C13>="12:00"*1,C13<="13:00"*1),"12:00",C13),"09:00") -"1:00" +FLOOR(MAX(D13, "18:00")-"17:59:59", "0:15")) E列に「お昼の休憩以外に休んだ時間」を書かせて引いてやるとか、 遅刻や早退の分も15分単位で丸めるなどの処理は適当に追加してやっ て下さい。
その他の回答 (1)
- ta123
- ベストアンサー率51% (95/186)
考えてみたのですが一度に求める数式を書く自信がなかったので、作業列を設けて段階的に作ってみました。 C列:開始時刻、D列:終了時刻、E列:休憩時間ですよね。 15分単位で丸めるのは18:15以降の勤務に対してで切り上げですよね。(それとも勤務時間が7時間40分を超えたときでしょうか。9:00開始以外のケースが不明) 計算上の開始時刻(G列) :=IF(COUNT(C13:D13)=2,IF(C13<=TIME(12,0,0),MAX(C13,TIME(9,0,0)),MAX(C13,TIME(13,0,0))),TIME(0,0,0)) 計算上の終了時刻(H列) :=IF(COUNT(C13:D13)=2,IF(D13<TIME(13,0,0),MIN(D13,TIME(12,0,0)),IF(D13<=TIME(18,14,0),MIN(D13,TIME(17,40,0)),D13)),TIME(0,0,0)) 定時内勤務時間(I列) :=MIN(H13,TIME(17,40,0))-G13-E13 残業時間(J列) :=IF(H13>=TIME(18,15,0),CEILING(D13-TIME(18,15,0),"0:15"),TIME(0,0,0)) ※18:15以降の勤務時間に対して15分単位に切り上げて丸めています。 1日の勤務時間 :=I13+J13
お礼
ta123さん、ありがとうございます。 別のセルに記述し、実行してみたところ、 開始時刻9:00、終了時刻18:15の時、勤務時間は7:20と表示されました。 これだと、定時で終了した時(定時は開始時刻9:00、終了時刻17:40、勤務時間7:40になります)より勤務時間が少ないことになってしまいます。 時間を割いて、回答していただきありがとうございました。
お礼
grumpy_the_dwarfさん、ありがとうございます。 当日勤務時間のセルに教えていただいた計算式を記述したところ、このように出力させたい!と思っていた通りに計算されました。 時間を割いて、回答していただきありがとうございました。 教えていただいた計算式をしっかり見て、勉強させていただきます。