プロが教える店舗&オフィスのセキュリティ対策術

残業時間の計算をしています。
4H以上の残業で20分休憩が入るので、4H以上なら残業時間に -20分
7時前に出勤すると1H分の早番なので、 +1時間
と、したいです。

残業時間をA1、出勤時間をB1だとすると、
=IFS(A1>="4:20",A1-"0:20",(B1<="7:00"),A1+"1:00")
ここまでは考えたのですが、上記の式を打ち込むと、出勤時間にかかわらず1H足されてしまい、
4H以上の残業でも20分引かれなく、困っています。
何かいい式がありましたらご教示ください。

A 回答 (2件)

こんにちは



ご提示の式ではうまくいかない理由は、IFS関数の場合は、どれか該当する一つのケースしか採用されないからでしょう。
それぞれ独立して評価して、個別に差分を増減する式にしておく必要があります。

ご質問文が省略され過ぎていて、はっきりとは理解できないので、勝手に以下のように解釈しました。
・A1セルに(表面上の)残業時間が示されている
・B1セルには出勤時間が表示されている
そこから、
・A1が4:20以上なら、休憩時間の20分を減ずる
・B1が8:00以前なら、8:00までの時間をA1に加算する
のように補正して残業時間を算出したい。

特に一番最後の条件は、ご質問文やご提示の式とはまったく違う解釈になっています。
ご提示の式の後半は「B1が7:00以前なら、一律で+1時間する」となっていますが、6:00でも5:00でも+1時間ということでしょうか?(なんだかおかしいので、上記の解釈にしてあります)
あるいは、7:10は早出とは認めないということなのかなぁ・・


以下は、上記の解釈の元に、補正した残業時間を求める例です。
(上記の条件が違っていれば、当然、間違った値になりますが、考え方のご参考にはなろうかと)
補正した時間を求めたいセルに
 =A1-(A1>="4:20"*1)*"0:20"+(B1<"8:00"*1)*("8:00"-B1)
ではいかがでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます!
後ろの式ですが、早番で1H早く出勤があり、少し早く来ても一律で1Hなので、
(B2<"7:00"*1)*1と打ってみたら
上手くできました。
丁寧に教えてくださったのでベストアンサーにさせていただきます。

お礼日時:2022/11/17 09:35

残業勤務時間=


残業時間-(残業時間>4時間)*20分+(出勤時間=<7時)*1時間

これを、計算できる時分表示に置き換えてみて下さい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!