ID非公開

2021/9/25 23:09

55回答

何件か質問を拝見したのですが自分と同じ物がなかなか探せず質問させて下さい。 会社の勤務時間表をエクセルで記入していくのですが、当方の仕事は案件ごとの時間の入力が必要です。

画像

Excel115閲覧xmlns="http://www.w3.org/2000/svg">500

ベストアンサー

0
画像

ThanksImg質問者からのお礼コメント

皆様ホントにホントにありがとうございました。 私にとって分かりやすく簡単で尚且つ、初歩期な事まで教えて頂いたGrumpy_the_Dwarfさんをベストアンサーにさせて頂きます。 お時間使って頂き大変感謝しております。 ありがとうございました。

お礼日時:9/27 6:37

その他の回答(4件)

0

F5セルの数式: =MAX($A5,VLOOKUP($A5,$Q$5:$S$12,2,TRUE)) G5セルの数式: =MIN($B5,VLOOKUP($B5,$Q$5:$S$12,3,TRUE)) H5セルの数式: =IF($C5="",0,MAX($C5,VLOOKUP($C5,$Q$5:$S$12,2,TRUE))) I5セルの数式: =IF($D5="",0,MIN($D5,VLOOKUP($D5,$Q$5:$S$12,3,TRUE))) J5セルの数式: =$I5-$H5 ここまでは下に必要行までコピペ K5セルの数式: =IF(AND($F5<=K$2,OR($H5>=K$3,$I5<=K$2),$G5>=K$3),K$4,0) このセルはL列、M列も含め、必要行までコピペ H5~N14セルの書式: ユーザー定義で「h:mm;;」(結果が0の時は見辛いので非表示にする設定です) K2~M3の部分と、P列~S列は事前に用意した、時刻補正用テーブルです。 出勤の場合は出勤時刻と、テーブルで参照した時刻の遅い方を取る様に、退勤の場合は退勤時刻と、テーブルで参照した時刻の早い方を取る様にする為のものです。 平たく言えば、休憩時間の間に出勤した場合は遅い方の時間を取り、その休憩時間帯の休憩時間はなしにする、等です。 MAXやMINは、早い方、遅い方を取る手段に使っています。 KLMの各列では、その休憩時間帯が、出勤~退勤の間に含まれ、かつ外出時間帯に含まれない場合に、休憩時間数を出しています。

画像
0

A2セルから下方には名前、B2セルから下方には出勤時刻、C2セルから下方には退勤時刻がそれぞれ入力され、D2セルから下方には休憩時間、E2セルから下方には定刻時間内勤務時間,F2セルから下方には定刻時間外勤務時間が関数式を用いて自動的に表示することとします。 定刻の範囲や休憩時間をとる時間の範囲などはお示しの通りとします。 そこで休憩時間ですがD2セルには次の式を入力して下方にドラッグコピーします。 =IF(COUNT(B2:C2)<>2,"",SUM(MAX(0,MIN(C2,"10:05")-MAX(B2,"10:00")),MAX(0,MIN(C2,"12:45")-MAX(B2,"12:00")),MAX(0,MIN(C2,"15:10")-MAX(B2,"15:00")))) 始めにはCOUNT関数を使ってB列やC列に数値(時刻)が入力されていなければCOUNT関数は2以外になりますので空白のセルになります。 MINからMAXを引く計算ですが場合によっては引かれた値がマイナスになってしまうことが有りますので、それでは時間の計算ではエラーとなりますので、それを避けるためには必ずMAX(0・・)を使ってマイナスにはならず少なくとも0の値になるようにしています。 定刻内の勤務時間はE2セルに次の式を入力して下方にドラッグコピーします。 =IF(COUNT(B2:C2)<>2,"",MAX(0,MIN(C2,"17:15")-MAX(B2,"8:00")-D2)) 8:00~17:15までを定刻時間内にしている式になっています。 定刻時間外の勤務時間はF2セルに次の式を入力して下方にドラッグコピーします。 =IF(COUNT(B2:C2)<>2,"",MAX(0,C2-MAX(B2,"17:15"))) 上の式では早朝の勤務は考慮されていません。早朝の勤務を考慮するなら次の式になるでしょう。 =IF(COUNT(B2:C2)<>2,"",SUM(MAX(0,B2-MIN("8:00",C2)),MAX(0,C2-MAX(B2,"17:15"))))

0

画像参照 D列は 各休憩の時間(休憩終わり時刻-休憩始め時刻) D2 =C2-B2 下D4までコピー 休憩の合計時間 D5 =SUM(D2:D4) 一日の拘束時間(終業時刻ー始業時刻) C7 =B8-A8 一日の実労働時間(拘束時間ー休憩合計時間) D7 =C8-D5

画像
0

=C2-B2-IF(AND(TIME(10,0,0)>B2,TIME(10,5,0)<C2),MINUTE(5),0)-IF(AND(TIME(12,0,0)>B2,TIME(12,45,0)<C2),MINUTE(45),0)-IF(AND(TIME(15,0,0)>B2,TIME(15,10,0)<C2),MINUTE(10),0) 終了時間-開始時間-(もし開始時間が10時より早くて終了時間が10時5分より遅いなら5分、違うなら0)-(もし開始時間が12時より早く終了時間が12時45分より遅ければ45分、違うなら0)-(もし開始時間が15時より早く終了時間が15時10分より遅ければ10分、違うなら0) なお、休憩時間に帰った場合はその休憩時間は働いてたことになります。

この返信は削除されました