解決済み
C列のエクセルでの関数を使った時間計算を教えてください。関数を使ってできるでしょうか?A列:始業時間(基本10:00) B列:退社時間 C列:10:00~19:00の間の労働時間 D列:19:00~21:00の間の労働時間 時間は15分単位で、休憩が1時間入ります。 C列の最大8時間からA列の時間を引こうと思ったのですが、 半休で午前休や午後休を使う人がいるのでどう考えていいのかわかりません。 マクロはつかえないので関数で出す方法があればご教示ください。 列が増えたりしてもかまいません。 よろしくお願い致します。
104閲覧
時間計算の基本を憶えてください。出勤時刻から退勤時刻のうち時刻1から時刻2に該当する時間は、「退勤時刻と時刻2の早い方から出勤時刻と時刻1の遅い方を引く。ただしマイナスにはしない」です。 =max(0, min(退勤時刻*1, 時刻2)-max(出勤時刻, 時刻1)) ポイントは「休憩が1時間入ります」のルールです。休憩入りと休憩終わりの時刻を記録するのか、12:00〜13:00のように決まった時間帯が休憩扱いなのか、いずれにしろ上記の数式を基本にそれぞれ計算して、足し算引き算ですよ。
C列:10:00~19:00の間の労働時間 =IF(OR(A2*B2=0,MAX(A2,"19:00")=A2),"",MIN("19:00",B2)-A2)-"1:00" D列:19:00~21:00の間の労働時間 =IF(OR(A3*B3=0,MIN(B3,"19:00")=B3),"",FLOOR(B3,"0:15")-"19:00") で 一応出ます。 残業の場合 15分単位で 切り捨てています。 ただ この式では 勤務開始時間に することはないのか 午後からの出勤も休憩1時間引くのか などの 問題が 有ります。
< 自分のペースで、シフト自由に働ける >
パート・アルバイト(東京都)この条件の求人をもっと見る
求人の検索結果を見る
< いつもと違うしごとも見てみませんか? >
覆面調査に関する求人(東京都)この条件の求人をもっと見る