[[20040925171649]] 『深夜時間の出し方について』(メープル) ページの最後に飛ぶ

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

 

『深夜時間の出し方について』(メープル)
 質問が変わったので具体的に再度質問させていただきます。
 過去ログを参照しましたが私の条件で具体的にヒットしません。
 エクセルのバージョンはExcel2002でOSのバージョンはWindowsXPです。

 例
 A     B     C     D     E     F     G     H     I     J     
 出勤時間  退勤時間  休憩開始  休憩終了  深夜開始  深夜終了  通常時間  深夜時間  残業時間  深夜残業
 8:00  19:00 12:00 13:00 22:00 5:00  8:00  0:00  2:00  0:00
 19:00 5:30  23:00 0:00  22:00 5:00  3:00  5:00  0:30  1:00
 0:00  11:45 4:00  5:00  22:00 5:00  4:00  4:00  2:30  0:00

 上記の計算の結果を前提として
 CとDの休憩の各時間は出勤時間を参照してVLOOKUP関数で別のシートから参照する(解決済み)
 EとFの深夜も作業場所によって異なるのでVLOOKUP関数で別のシートから参照する(解決済み)
 AとBの時間はKとLに作業セルを設けて700=7:00になるようにする(解決済み)
 AからLまでの全てのセルの入力は0:00〜23:59までの24時間表示で入力する
 休憩や深夜は作業時間によって違うのであくまでもCからFの参照結果で計算する(上記では綺麗に4時間後になっているが)

 という条件でGからJのセルの数式で困っています

 多くの方のログを参照しましたが問題なのが24:00以降を30:00などの制約があったりでうまくいきません。
 それと容量的なことも少し心配になってきましたがマクロの使用も現在勉強中なのでとりあえず使っていいものか
 それとも使用しないほうがいいのか(容量的に)わかりません。
 以前使用したものからの改良なので人数分の複数シートは作成せずに必要なところだけデータを別シートに取り出す方法にしています。

 どなたかお解かりになる方? GからJのセルの数式を教えてください!

 とりあえず疑問点だけ。
 3行目の通常時間はなぜに4時間ちょうどでしょうか。
 通常業務の作業時間が何時から何時なのかが判る必要があると思います。
 (川野鮎太郎)

 始業から9時間拘束8時間労働が定時でそれを超えると残業になります
 その実働時間8時間の中にEとFの深夜がかかっていれば8時間を通常と深夜に二分します
 また残業も同じで深夜時間にかかっていれば深夜残業と二分しますので私が作成してみたら作業セルがものすごく増えてとんでもなくなりわからなくなりました。
 説明不足ですみませんがこんな説明でご理解いただけましたでしょうか?(メープル)

 先ほども言ったように、0:00に開始して11:45で終了ってことは、就業時間10時間45分ですよね。
 しかし、通常時間+深夜時間+残業時間を足しても10時間30分なのはなぜですか?
 何かの条件があって15分無くなってるんじゃないんでしょうか。
 (川野鮎太郎)

 すみません! 30分単位で切捨てなので…
 条件に書き込んだつもりでいました。
 計算上は入力した段階で15分単位になるようにしたのですが最後のGからJは30分単位です。こんな感じでわかりますでしょうか?

 とりあえずやってみましたけど、多くは検証してませんので不具合があるかもしれません。
 ※条件として、必ず8時間以上勤務(早退なし)
 24時間を超える勤務はなし
 	 A	 B	 C	 D	 E	 F	 G	 H	 I	 J
 1	出勤時間	退勤時間	休憩開始	休憩終了	深夜開始	深夜終了	通常時間	深夜時間	残業時間	深夜残業
 2	8:00	19:00	12:00	13:00	22:00	5:00	8:00	0:00	2:00	0:00
 3	19:00	5:30	23:00	0:00	22:00	5:00	3:00	5:00	0:30	1:00
 4	0:00	11:45	4:00	5:00	22:00	5:00	4:00	4:00	2:30	0:00
 5	22:00	8:00	2:00	3:00	22:00	5:00	3:00	5:00	1:00	0:00
 6	16:00	5:30	20:00	21:00	22:00	5:00	5:00	3:00	0:30	4:00
 7	17:30	5:30	21:30	22:30	22:00	5:00	4:00	4:00	0:30	2:30
 8	22:00	10:00	2:00	3:00	22:00	5:00	4:00	4:00	3:00	0:00
 9	14:00	10:00	18:00	19:00	22:00	5:00	7:00	1:00	5:00	6:00
 10	20:15	5:45	0:15	1:15	22:00	5:00	1:30	6:30	0:30	0:00

 G2=IF(AND(A2>=TIMEVALUE("5:00"),A2<=TIMEVALUE("13:00")),TIMEVALUE("8:00"),IF(AND(A2>TIMEVALUE("13:00"),A2<=TIMEVALUE("18:00")),FLOOR(E2-A2-MIN(ABS(C2-E2),"0:30"),TIMEVALUE("1:00")),IF(AND(A2>TIMEVALUE("18:00"),A2<TIMEVALUE("22:00")),FLOOR(E2-A2,"0:30"),FLOOR(MIN(TIMEVALUE("4:00"),B2-F2),"0:30"))))
 H2=TIMEVALUE("8:00")-G2
 I2=IF(B2>A2,FLOOR(B2-A2-TIMEVALUE("1:00"),"0:30"),FLOOR(1+B2-A2-TIMEVALUE("1:00"),"0:30"))-G2-H2-J2
 J2=IF(AND(A2<TIMEVALUE("20:00"),B2>=TIMEVALUE("5:00"),OR(TIMEVALUE("5:00")>=MOD((A2+TIMEVALUE("9:00")),1),TIMEVALUE("22:00")<=A2+TIMEVALUE("9:00"))),1+F2-(A2+TIMEVALUE("9:00")),0)
 (川野鮎太郎)

コメント返信:

[ 一覧(最新更新順) ]


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