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

エクセルで、
「出~退」が4時間以内なら、その間の時間が表示され、
「出~退」が4時間を超えるなら、その間の時間から休憩1時間を引いた時間が表示されるようにしたいです。

「稼働時間」のセルは、どのような数式にすれば良いですか。

氏名 日付 出 退 稼働時間
三田 建造 2017/5/30 8:22 17:33 8:11
藤島 澄人 2017/5/30 9:00 12:57 3:57

A 回答 (5件)

E2: =D2-C2-"1:0"*(D2-C2>"4:0"*1)

「エクセルで休憩時間を引く時と、引かない時」の回答画像1
    • good
    • 4
この回答へのお礼

皆様ご回答ありがとうございます。
お礼が遅くなりました。
皆さまのご回答を参考に解決しました。

お礼日時:2017/07/23 23:02

1. E2セルに、=IF(HOUR(D2-C2)>=4,D2-C2-TIME(1,0,0),D2-C2) と入力。


2. そのままE3セルへオートフィル(連続コピー)
「エクセルで休憩時間を引く時と、引かない時」の回答画像2
    • good
    • 1

(´・ω・`)


4時間30分だったら、3時間30分になるんだよね。
だったら、素直に「4時間を越えたら更に1時間引く、違えばそのまま」的なIF関数式を作ればよいと思います。

「時」が「4」を超えるという条件なら、「時間」をHOUR関数で「時」に直したものを比較すればよいでしょう。
(4時間59分を越えたら…と条件を修正しても良い)
もしも24時間を超えてしまうというのであれば、HOUR関数では正しく「時」を拾えませんので
 =VALUE(TEXT(A1,"[h]"))
 ※A1セルに時間が入力されていると仮定する
などと工夫してください。
    • good
    • 1

私用外出などの中抜けはないんですかね。



=D2-C2-(D2-C2+10^-5>4/24)/24

「+10^-5」は演算誤差対策です。
    • good
    • 2

こんにちは!



E2セルに
=D2-C2-(D2-C2>"4:00"*1)*"1:00"

ではどうでしょうか?m(_ _)m
    • good
    • 4

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A