[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『深夜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.