[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『残業時間』(もも)
何度も質問させていただいております。 今回もお願いします。 <例> C5 出勤 8:00 D6 退勤 17:00 E7 昼 1:00 (昼休みをとらず1時間労働) F8 残業 1:00 F8 計算式=MAX(0,D6-C5+E7"8:")をいれましたが、 F8の残業時間が 1時間とはなりません。
<例> C5 出勤 8:00 D6 退勤 17:30 E7 昼 0:30 (昼休みを30分労働) F8 残業 1:00 となる、計算式を教えていただけませんか? 8:00〜17:00までの9時間拘束の8時間労働で、超えた時間・昼休み時間の労働は、 残業扱いになります。
=IF((D6-C5+E7-"1:00")-"8:00">0,(D6-C5+E7-"1:00")-"8:00","") もしも勤務時間が0より大きければ勤務時間を、 勤務時間がマイナスなら""を入れる。
F8=MAX(0,D6-C5-"1:00"+E7-"8:00")
セル位置が少々変では? 以下、レイアウトについては独断で、、
昼休みの扱いが特殊なようなので。
F5セル =IF(COUNT(C5:D5)>1,MAX(0,(D5-C5-"9:00"))+E5,"")
<結果図> 行 _C__ __D__ E _ F _ 4 出勤 退勤 昼 残業 5 8:00 17:00 1:00 1:00 6 8:00 17:30 0:30 1:00 7 8:00 17:30 0:45 1:15 8 8:00 13:00 0:30 0:30
(半平太)
半平太さま ありがとうございます。すばらしいです。 出勤簿管理完成です!!! 日本語がうまく伝わらないとよく言われます。 セルがずれてましたね。(恥ずかしい)(><) 今までの質問が、解決しそうです。 なのですが IF((D6-C5+E7-"1:00")-"8:00">0,(D6-C5+E7-"1:00")-"8:00","")は、 どう意味でしょうか? 頭悪くてすみません。
>なのですが IF((D6-C5+E7-"1:00")-"8:00">0,(D6-C5+E7-"1:00")-"8:00","")は、 >どう意味でしょうか?
それは私の回答ではありませんので、その方に解説をお願いします。
HNなしが多くて、困ったものです。 (半平太)
もうひとつ 教えていただけますか? 一月の出勤日数を計算するときは 計算式は どのようにいれたらいいのでしょうか? 残業集計は出来ました。 17日 ・・・・・・・・・・・合計 出 8:00 日 ここがわかりません。 退 17:00 残 0:00 15:00 ←はできました。
A B C D ・・・ AG 1 1日 2日 3日 ・・・ 合計 2 出 8:00 8:00 ・・・ 3 退 17:00 17:00 ・・・ 4 残 0:00 0:00 ・・・
レイアウトが上記のようでしたら AG2=COUNT(B2:AF2) あるいは AG=COUNTIF(B2:AF2,">0")
※前回投稿→F8=MAX(0,D6-C5-"1:00"+E7-"8:00") HN記入忘れてました(-_-;) ももさんも投稿の都度お名前をご記入ください。。。(gon-2)
以前の半平太さんの回答を使わせていただいてますが、 これができたら完璧でうれしいのですが、
C D E F G H I J K L 出 退 昼 深夜休 早出 普通 残業 深夜 普通 残業 6:00 8:00 17:00 22:00 8:00 17:00 22:00 6:00 8:00 17:00 1:00 540 8:00 8:00 17:00 8:00 1:00 (昼労働した1時間) 8:00 15:00 1:00 6:00 8:00 15:00 7:00→普通6時間 残業1時間になるといいいのですが・・・ むりでしょうか?
>以前の半平太さんの回答を使わせていただいてますが、 私の式は採用されていないと思っているのですが、どのセルにどんな数式が入っているのですか?
>むりでしょうか? 無理ではないのでしょうが、なにせご質問がよく分からないンです。(^^ゞ
以下の通り出ればいいのですか?
行 _C__ __D__ E _ _ F __ _G__ __H__ __I__ __J__ _K__ _L__ 1 出 退 昼 深夜休 早出 普通 残業 深夜 普通 残業 2 6:00 8:00 17:00 22:00 3 8:00 17:00 22:00 6:00 4 8:00 17:00 1:00 8:00 0:00 5 8:00 17:00 8:00 1:00 昼働の1時間を計上 6 8:00 15:00 1:00 6:00 0:00 7 8:00 15:00 6:00 1:00 昼働の1時間を計上 8 8:00 15:00 0:15 6:00 0:45 昼働の45分を計上 9 8:00 18:00 0:15 8:00 1:45 昼働の45分を正規残業に加算
ならば (1) K4セル =IF(COUNT(C4:D4)>1,MAX(0,MIN("8:00",D4-C4-"1:00")),"") (2) L4セル =IF(K4="","",MAX(0,D4-C4-"9:00")+"1:00"-E4)
(半平太)
半平太さま すみません。 [[20050309110820]]を見ました。 回答が Hsachさんになっていました。 すみません。
で、半平太さんの計算式を使わせていただきましたが、 8:00〜12:00勤務だと 普通 3:00と自動計算され、 15:00〜18:30だと 普通 2:30 残業が1:00 となりました。
正しくは、 8:00〜12:00→普通 4:00 15:00〜18:30→普通 2:00 残業 1:30 となってほしいのですが・・・ よろしくお願いします (もも)
> 半平太さま すみません。 [[20050309110820]]を見ました。 > 回答が Hatchさんになっていました。 私はそのトピック、よく読んでおりません。 訳が分からなかったので敬遠していました。
・・と云う訳で、以下の回答は、チャンと理解した上で作ったものではありません。 (深夜休がどう云う風に関係してくるのかも分かっていないので、考慮もしておりません。)
こうなればいいのであれば
行 __C__ __D__ E _ _ F __ _G__ __H__ __I__ __J__ _K__ _L__ 1 出 退 昼 深夜休 早出 普通 残業 深夜 普通 残業 2 6:00 8:00 17:00 22:00 3 8:00 17:00 22:00 6:00 4 8:00 17:00 1:00 8:00 0:00 5 8:00 17:00 8:00 1:00 6 8:00 15:00 1:00 6:00 0:00 7 8:00 15:00 6:00 1:00 8 8:00 15:00 0:15 6:00 0:45 9 8:00 18:00 0:15 8:00 1:45 10 8:00 12:00 4:00 0:00 11 15:00 18:30 2:00 1:30
(1) K4セル =IF(L4="","",MAX(0,D4-C4-E4-L4)) (2) L4セル =IF(COUNT(C4:D4)<2,"",MAX(0,MAX(0,D4-"17:00")+MAX(0,MIN("13:00",D4) - MAX("12:00",C4))-E4))
(半平太)
IF(OR(COUNT($C$4:$D$4)<2,$C4-H$3>=0,$D4-H$2<=0),0,MIN(ROUND($D4*1440,0),ROUND(H$3*1440,0))-MAX(ROUND(H$2*1440,0)))
なので、どうかわかりませんが、(1) K4セル =IF(L4="","",MAX(0,D4-C4-E4-L4))をいれましたが 0:00にしかなりません。
難問ですか?もう少し教えていただきたいのですが・・・お願いします。(もも)
>普通H4に このような計算式が入っております。 >IF(OR(COUNT($C$4:$D$4)<2,$C4-H$3>=0,$D4-H$2<=0),0,MIN(ROUND($D4*1440,0),ROUND(H$3*1440,0))-MAX(ROUND(H$2*1440,0))) 1.この式を入れると「540」と出ますが、H4には何が算出されるのですか?
> なので、どうかわかりませんが、(1) K4セル =IF(L4="","",MAX(0,D4-C4-E4-L4))をいれましたが 0:00にしかなりません。 2.K4の式はH4とは無関係なので、8:00と出てくるハズです。私の環境ではそう出ていますが、、、(私が図示した通りです)
あのー、L4セルにも式を入れないと、チャントと出ませんよ。
(半平太)
行 __C__ __D__ E _ _ F __ _G__ __H__ __I__ __J__ _K__ _L__
1 出 退 昼 深夜休 早出 普通 残業 深夜 普通 残業 2 6:00 8:00 17:00 22:00 3 8:00 17:00 22:00 6:00 4 8:00 17:00 1:00 8:00 0:00 5 8:00 17:00 8:00 1:00 6 8:00 15:00 1:00 6:00 0:00 7 8:00 15:00 6:00 1:00 8 8:00 15:00 0:15 6:00 0:45 9 8:00 18:00 0:15 8:00 1:45 10 8:00 12:00 4:00 0:00 11 15:00 18:30 2:00 1:30 11列が 正確にでません。 15:00〜17:00はOKですが 15:00〜18:00だと 普通欄に3:00 14:00〜18:00だと 4:00 となります。 17:00をすぎたら 残業になるのでそのようにできないのでしょうか? 17:00〜も作業することがあるので、残業としてでたらいいのですが。 ややこしくてすみません。 お願いいたします。 (もも)
>17:00をすぎたら 残業になるのでそのようにできないのでしょうか? そうなっているとおもうのですが、、、
私の式だと、こう出るハズですが、それが間違いなのですか? それともそう出てこないと云うことですか? (半平太) ↓ 行 __C__ __D__ E F _G_ _H_ _I_ _J_ _K__ _L__ 10 15:00 17:00 2:00 0:00 11 15:00 18:30 2:00 1:30 12 14:00 18:00 3:00 1:00
半平太さま おはようございます。 すみません。やはり 下記のようにでます・・・・ __C__ __D__ E F _G_ _H_ _I_ _J_ _K__ _L__ 10 15:00 17:00 2:00 0:00 (OK) 11 15:00 18:30 3:00 12 15:00 18:30 3:30 13 14:00 17:00 3:00 (OK) 14 14:00 18:00 4:00 15 14:00 18:30 4:30 もう一度 よろしくお願いします。 (もも)
L列全てに数式を入れてください。 (半平太)
まず、L4からです。(残業時間を先に出しておけば、K4は全時間からそれを引けばいいので楽です)
L4セル =IF(COUNT(C4:D4)<2,"",MAX(0,MAX(0,D4-"17:00")+MAX(0,MIN("13:00",D4) - MAX("12:00",C4))-E4))
(1)残業の式の骨格は→ 退勤時 - "17:00" です。 でも早帰りされたら、マイナスになっちゃいます。 そこで、0より小さくならないように → MAX(0,D4-"17:00") とします。
(2)昼労働も残業なので、それも別に計算する必要があります。 昼労働時間の算出式の骨格は、1時間 - 昼休時間 つまり "1:00"-E4 です。
でも、12:00から13:00に在席していなければ、「1:00」はあり得ないですし、E4の入力もないハズです。 そこで、昼に在席した時間を調べ、その時間からE4を差し引く方針とします。
昼に在席した時間は、 (退勤時刻と13:00のどちらか早い時刻) - (出勤時刻と12:00のどちらか遅い時刻) で算出できます。ただ、これも午後出勤だとマイナスになるので、 0より小さくならないようにします → MAX(0,MIN("13:00",D4) - MAX("12:00",C4))
以上で求めた在席昼時間から昼休(E4)を引けば、昼残業が出ます。 MAX(0,MIN("13:00",D4) - MAX("12:00",C4))-E4 (3) 総残業時間は、上述 (1)+(2) なので、 MAX(0,MAX(0,D4-"17:00")+MAX(0,MIN("13:00",D4) - MAX("12:00",C4))-E4)
※ ここでまた、Max(0,・・・ としているのは、 計算誤差で微妙にマイナスになった時に対応するためです(=小数誤差対応と云ってます)
(4) COUNT(C4:D4)<2,"",・・・ ←この部分は、出退勤時刻が2つとも入力されない間は空白を表示する為のものです。
(5)普通時間は、[全拘束時間(退-出)]-[昼休み]-[残業時間]になりますので、→ MAX(0,D4-C4-E4-L4))
(半平太)
半平太さん この前は ありがとうございました。 もう一度 教えていただけないでしょうか? 昨日の現場で 7:00〜19:00までの勤務がありました。 計算式では 普通勤務に8:30 残業に2:30となりました。 6:00から8:00までは 残業時間とみなします。 この間の時間出勤が残業時間に入力されることは、可能でしょうか? (もも)
この上だけ整形済み [テキスト整形のルール]に、 行頭を半角スペースで始めると書き込みの改行位置が反映されます。 と書かれています。 (上だけ整形済み)
ようやく、「早出」に関係する話が出てきましたね^^
1.そうなると、「深夜」の話もこの後に出てくるのでしょうか? また、「夜から出社」の人の話は、その次ですか? そろそろ、複雑な例を「漏れなく」挙げて頂けませんか?
※ いままでのやり方の延長線で出来れば、あまり問題はないのでしょうが、 根本的にやり方を変えた方が良いと云うことになると、 それまでやったことが全く無駄になりますので、 ここら辺で、最終解決の見通しを立てたい気がします。
それとも今回の「早出」さえ分かれば、最終解決ですか?
2. >7:00〜19:00までの勤務がありました。 > 計算式では 普通勤務に8:30 残業に2:30となりました。 昼休憩を1:00とすると、私の計算では「普通9:00、残業2:00」と出るハズなのですが、 何か情報が不足していませんか? また、この人の勤務時間の「正解」はなんでしょうか?
>6:00から8:00までは 残業時間とみなします。 >この間の時間出勤が残業時間に入力されることは、可能でしょうか? 以前に、昼の残業を計算しましたが、その在席昼時間の計算とやり方は同じです。 異なる点は、基準となる時間が「12:00,13:00」から「6:00,8:00」に変更されることです。
(半平太)
1 出 退 昼 深夜休 早出 普通 残業 深夜 普通 残業 2 6:00 8:00 17:00 22:00 3 8:00 17:00 22:00 6:00 4 7:30 19:00 1:00 30 540 120 8:00 2:30 こうなってほしいす (もも)
GHIJ列は作業列なのですか? だったら楽勝 ^^
(1) G4セル =IF(COUNT($C4:$D4)<2,"",ROUND(MAX(0,MIN(G$3,$D4)-MAX(G$2,$C4))*1440,0)) G4セルの数式をJ4までコピー
(2) K4セル =IF(L4="","",MAX(0,D4-C4-E4-F4-L4))
(3) L4セル =IF(COUNT(C4:D4)<2,"",MAX(0,(G4+I4+J4)/1440+MAX(0,MIN("13:00",D4) - MAX("12:00",C4))-E4-F4))
<結果図> 行 __C__ __D__ E _ _ F __ _G__ __H__ __I__ __J__ _K__ _L__ 1 出 退 昼 深夜休 早出 普通 残業 深夜 普通 残業 2 6:00 8:00 17:00 22:00 3 8:00 17:00 22:00 30:00 4 8:00 17:00 1:00 0 540 0 0 8:00 0:00 5 8:00 15:00 0:15 0 420 0 0 6:00 0:45 6 8:00 18:00 0:15 0 540 60 0 8:00 1:45 7 8:00 12:00 0 240 0 0 4:00 0:00 8 15:00 18:30 0 120 90 0 2:00 1:30 9 7:30 19:00 1:00 30 540 120 0 8:00 2:30 10 6:30 25:00 0:15 0:45 90 540 300 180 8:00 9:30
(半平太)
__C__ __D__ E _ _ F __ _G__ __H__ __I__ __J__ _K__ _L__ M 1 出 退 昼 深夜休 早出 普通 残業 深夜 普通 残業 深夜勤務 2 6:00 8:00 17:00 22:00 3 8:00 17:00 22:00 30:00 4 8:00 17:00 1:00 0 540 0 0 8:00 0:00 ここに深夜労働時間が入力したいです 5 8:00 15:00 0:15 0 420 0 0 6:00 0:45 ↓ 6 8:00 18:00 0:15 0 540 60 0 8:00 1:45 ↓ 7 8:00 12:00 0 240 0 0 4:00 0:00 ↓ 8 15:00 18:30 0 120 90 0 2:00 1:30 ↓ 9 7:30 19:00 1:00 30 540 120 0 8:00 2:30 10 6:30 25:00 0:15 0:45 90 540 300 180 8:00 6:30 3:00 このようにしたいのです。細かくて」すみません。 (もも)
>出し惜しみしているようですみません。 1. 前レスでも書きましたが、もう一度書きます。 「そろそろ、複雑な例を「漏れなく」挙げて頂けませんか?」
2.深夜勤務が「3:00」とすると、「深夜休」を引かないで出すと云うことになりますが、それでいいですか? それでよければ (1) L4セル =IF(COUNT(C4:D4)<2,"",MAX(0,(G4+I4)/1440+MAX(0,MIN("13:00",D4) - MAX("12:00",C4))-E4-F4)) (2) M4セル =J4/1440
※ もし「深夜休」を引くのであれば (1) L4セル =IF(COUNT(C4:D4)<2,"",MAX(0,(G4+I4)/1440+MAX(0,MIN("13:00",D4) - MAX("12:00",C4))-E4)) (2) M4セル =MAX(0,J4/1440-F4)
行 _C__ __D__ E _ _ F __ _G__ __H__ __I__ __J__ __K__ _L__ ___M____ 1 出 退 昼 深夜休 早出 普通 残業 深夜 普通 残業 深夜勤務 2 6:00 8:00 17:00 22:00 3 8:00 17:00 22:00 30:00 4 6:30 25:00 0:15 0:45 90 540 300 180 10:15 7:15 2:15
(半平太)
_C__ __D__ E _ _ F __ _G__ __H__ __I__ __J__ __K__ _L__ ___M____ 1 出 退 昼 深夜休 早出 普通 残業 深夜 普通 残業 深夜勤務 2 6:00 8:00 17:00 22:00 3 8:00 17:00 22:00 30:00 4 6:30 25:00 0:15 0:45 90 540 300 180 10:15 7:15 2:15 5 20:00 30:00 8:00 2:00 8:00 6 17:00 30:00 8:00 5:00 7 18:00 30:00 8:00 4:00 *普通勤務に時間がでてしまうと、労務費が計算されてしまうのですが、 消去するしかないのでしょうか?
>普通勤務に時間がでてしまうと、労務費が計算されてしまうのですが、消去するしかないのでしょうか? いままでに「労務費の計算」の話が出ていましたっけ?
その式はどんなモノですか? (半平太)
すみません。 ・・・・N O P Q 普通 残業 深夜 N=ROUND(K4*24*$V$6→(日当),0) o=ROUND(L4*24*4V$7 (残業代),0) P=ROUND(M4*24*$V$8 (深夜),0) となっております。 わかりますか? 下手な説明ですみません。
済みません。私の間違いです。m(__)m
深夜勤務の処理が増えた時、「残業」だけ変更すればいいと早合点してしまいました。 「普通勤務」にも影響がありましたね (^^ゞ
K4セル =IF(L4="","",MAX(0,D4-C4-E4-F4-L4-J4)) へ変更してください。
行 __C__ __D__ E _ _ F __ _G__ __H__ __I__ __J__ _K__ _L__ ___M____ 1 出 退 昼 深夜休 早出 普通 残業 深夜 普通 残業 深夜勤務 2 6:00 8:00 17:00 22:00 3 8:00 17:00 22:00 30:00 4 6:30 25:00 0:15 0:45 90 540 300 180 0:00 6:30 3:00 5 20:00 30:00 0 0 120 480 0:00 2:00 8:00 6 17:00 30:00 0 0 300 480 0:00 5:00 8:00 7 18:00 30:00 0 0 240 480 0:00 4:00 8:00
(半平太)
>この上だけ整形済み >[テキスト整形のルール]に、 >行頭を半角スペースで始めると書き込みの改行位置が反映されます。 > と書かれています。
いつもどなたかが整形されているようなので。 (ナナシ)
「初めての方へ」の(5)に下記のようにあります。 ↓↓↓↓↓↓↓ 空行から空行までがひとつの段落として整形され途中の改行は無視されます。 行頭を半角スペースで始めると書き込みの改行位置が反映されます。 (ナナシ)
__C__ __D__ E _ _ F __ _G__ __H__ __I__ __J__ _K__ _L__ ___M____ 1 出 退 昼 深夜休 早出 普通 残業 深夜 普通 残業 深夜勤務 2 6:00 8:00 17:00 22:00 3 8:00 17:00 22:00 30:00 4 6:30 25:00 0:15 0:45 90 540 300 180 0:00 6:30 3:00 5 20:00 30:00 0 0 120 480 0:00 2:00 8:00 6 17:00 30:00 0 0 300 480 0:00 5:00 8:00 7 18:00 30:00 0 0 240 480 0:00 4:00 8:00 C、Dに時間を入力しないと深夜勤務から→(#VALUE!)がでてしまいます。 方法があれば教えていただけませんか (もも)
(1) M4セル =IF(COUNT(C4:D4)<2,"",J4/1440) (2) N4セル =IF(COUNT(C4:D4)<2,"",ROUND(K4*24*$V$5,0)) (3) O4セル =IF(COUNT(C4:D4)<2,"",ROUND(L4*24*$V$6,0)) (4) P4セル =IF(COUNT(C4:D4)<2,"",ROUND(M4*24*$V$7,0))
(半平太)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.