[[20110526094549]] 『深夜0時超となる勤務時間の計算』(鞄人) ページの最後に飛ぶ

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

 

『深夜0時超となる勤務時間の計算』(鞄人)

勤務時間の計算で、退勤時刻が深夜の0時を越えるとエラー表示になりますので
それを解決できる方法をさがしてます

Excel2003

休憩は1時間で、等しく総労働時間からマイナス1時間と計算します

「日付&出勤&退勤」はダウンロードデータを利用し、労働時間を関数で表示させてます

利用している関数= MIN((B3-C3-$I$1),"12:00")) B列=出勤時刻 c列=退勤時刻

a列に日付、d列に関数式をいれて、総労働時間を表示させてます

エラーの出てしまう勤務時間例=退勤時刻が深夜0時を過ぎる場合

時々深夜0時を越えて勤務することがあるので、都度訂正入力ではなく、関数式で
エラー表示とならないようにしたいと考えてます


 Bが出勤でCが退勤だったら退勤(C)-出勤(B)じゃないの?
 あと、総労働時間を12時間に制限しちゃってるのも疑問に思うけどそれは置いといて。

 24時間以上の勤務が無いんだったら
 =MIN(C3-B3-$I$1+(C3<B3),"12:00")
 でどう?
 (春日野馨)

ご回答ありがとうございます

関数例のb列とc列については単に私のココでの入力ミスです <m(__)m>

12時間超勤務も発生してましたので、春日さん提案の式の"12:00"を"24:00"に訂正しました

とてもスムーズに表示されました どうもありがとうございます

関数式はとても簡単ですが、なぜ =MIN(C3-B3-$I$1,"12:00")  に

=MIN(C3-B3-$I$1+(C3<B3),"12:00") とすればエラー回避できたのか、解説いただければと思います


 1.退勤時間が深夜12時を超えるとCよりBが大きくなってマイナスになるんでエラーになってる。
 2.Excelで時間データは1日(24時間)を1として1時間を0.04166666…(1/24)として管理してる。
   (セルに1:00って入力してからそのセルの書式設定で標準にすると0.41666…になるんで確認できるよ)

 3.A<Bみたいな比較式は式が成り立つときにはTrueに、成り立たない時にはFalseになるんだけど数式では
 Trueは1に、Falseは0になる。

 だから+(C3<B3)は退勤時間より出勤時間が大きい(退勤時間が0時以降)の時に1を足すって意味になる。
 で、時間の計算で1を足すってのは1日(24時間)を足すってこと。
 つまり退勤時間が0時以降の時には1日(24時間)+退勤時間から出勤時間をひくことで正しい値が求められてるよ。
 (春日野馨)

またまた迅速なご回答ありがとうございます

でもって、とても丁寧な解説がとてもわかりやすいです (^_-)

労務管理用の資料がとてもスムーズにつくれそうです


コメント返信:

[ 一覧(最新更新順) ]


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