勤怠管理表をエクセルで作成しています。
一日の労働時間の計算式について教えてください。

退社時間(17:30)−出社時間(8:30)−休憩1時間(12時から13時)で計算するとして、
退社が12時〜13時の間だったときは、労働時間3時間半の答えにしたいです。
14時退社のときは、4時間半にしたいです。
簡単な関数にするとしたら、どんなふうにしたらよいでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

こんばんは!



午後の休憩時間は考慮しなくて良いのですね?

↓の画像でC2セルに
=IF(B2>"13:00"*1,B2-A2-"1:00",MIN("12:00",B2)-A2)

という数式を入れフィルハンドルで下へコピーしています。
※ エラー処理はしていません。m(_ _)m
「エクセル 時間計算について」の回答画像3
    • good
    • 1
この回答へのお礼

ありがとうございました。
MIN関数を使ってシンプルな数式になりました。
反対にMAX関数で早退の計算も簡単にできました。

お礼日時:2017/03/21 14:47

A1:出社時刻


B1:退社時刻
C1:休憩開始時刻
D1:休憩終了時刻
とします。
(C1,D1は直接入力でも良かったのですが、変更可能な様に参照としました)

=B1-A1-IF(A1<C1,IF(B1>D1,D1-C1,IF(B1>C1,B1-C1,0)),IF(A1<D1,IF(B1>D1,D1-A1,B1-A1),0))
B1-A1で出社時刻から退社時刻までの時間を計算しています。
そこから休憩時間にあたる部分を引いています。

休憩時間にあたる部分は、IFを用いて、
出社が休憩開始前で、退社が休憩終了後なら、休憩開始~終了
出社が休憩開始前で、退社が休憩時間中なら、休憩開始~退社
出社が休憩開始前で、退社が休憩開始前なら、0
出社が休憩時間中で、退社が休憩終了後なら、出社~休憩終了
出社が休憩時間中で、退社も休憩時間中なら、出社~退社
出社が休憩終了後なら、0
を休憩時間として計算しています。
    • good
    • 0
この回答へのお礼

ありがとうございました。
丁寧な解説でわかりやすかったです。

お礼日時:2017/03/21 14:46

下図のようなレイアウトだった場合C2セルに以下の式を入力後、下にコピー


「=IF(OR(A2="",B2=""),"",IF(B2<=TIMEVALUE("12:00"),B2-A2,IF(B2<=TIMEVALUE("13:00"),TIMEVALUE("12:00")-A2,B2-A2-TIMEVALUE("1:00"))))」
「エクセル 時間計算について」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2017/03/21 14:48

単純にこんな感じでどうでしょうか。


C2に以下式を入力

=IF(AND(B2>=TIME(12,0,0),B2<=TIME(13,0,0)),TIME(3,30,0),B2-A2-TIME(1,0,0))
「エクセル 時間計算について」の回答画像1
    • good
    • 1
この回答へのお礼

ありがとうございました。

お礼日時:2017/03/21 14:47

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

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


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

人気Q&Aランキング