- ベストアンサー
時間計算
始業時間~終業時間より昼休憩時間を除く計算をしたいです。 始業時間は0時以降、終業時間は24時以前として、単に12時を含んでいた場合に1時間引く程度の数式を教えて頂けませんか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.1 zenjeeです。 1点だけ補足しますが、前記の式は終業時間-始業時間が少なくとも1時間以上はあるという前提での式ですから、仮に始業時間が11時30分、終業時間が12時20分のように就労時間が1時間未満の場合は休憩1時間を差し引くとマイナスになるので、その場合はどうするか、もし休憩時間を差し引かないというなら更にその旨の条件式(IFのネスト)をつけ加える必要がありますので、念のためその場合の式を付記しておきます。 =IF(IF(AND(A1<TIME(12,0,0),B1>TIME(12,0,0)),B1-A1-1/24,B1-A1)<0,B1-A1,IF(AND(A1<TIME(12,0,0),B1>TIME(12,0,0)),B1-A1-1/24,B1-A1))
その他の回答 (2)
- shiotan99
- ベストアンサー率68% (140/203)
こんにちは~ > 単に12時を含んでいた場合に1時間引く程度の数式 単に12時を含んでいた場合、というのがよくわからないのですが、 ↓のようなケースはどうするのでしょうか? (1)10:00 ~ 12:30 (2)12:00 ~ 17:00 (3)12:30 ~ 17:00 ◆ 始業時間が 12:00以前、かつ終業時間が 13:00以降の場合に 1時間を引くということなら、上の(1)は引かない、(2)は引く、(3)は引かない、になりますがそれでいいのでしょうか? そうだとすれば、 ◆ 始業時間が A2、終業時間が B2だとして、 =B2-A2-((A2<="12:00"*1)*(B2>="13:00"*1)*"1:00") または、A2、B2 が未入力の場合を考慮して =IF(COUNT(A2:B2)<2,"",B2-A2-((A2<="12:00"*1)*(B2>="13:00"*1)*"1:00")) でどうでしょうか?( セルの表示形式は『時刻』にしてください ) ちょっと気になるのが、エクセルは時刻を小数で管理していますので、時刻計算には小数誤差の問題がつきまとうことです。 ◆ 小数誤差を考慮すれば、 =TEXT(B2-A2,"h:mm")-((A2<="12:00"*1)*(B2>="13:00"*1)*"1:00") または、 =IF(COUNT(A2:B2)<2,"",TEXT(B2-A2,"h:mm")-((A2<="12:00"*1)*(B2>="13:00"*1)*"1:00")) のようにしたほうがいいのかもしれません。 ↓ご参考まで http://www.eurus.dti.ne.jp/~yoneyama/Excel/ex-q-a/q_jikoku/index.html http://www.eurus.dti.ne.jp/~yoneyama/Excel/nyumon/kinmu/index.html
- zenjee
- ベストアンサー率47% (50/106)
始業時間がA1、就業時間がB1としてC1に =IF(AND(A1<TIME(12,0,0),B1>TIME(12,0,0)),B1-A1-1/24,B1-A1) でいかがでしょうか。
お礼
ありがとうございます。 TIME関数を知りませんでした。役に立ちました。
お礼
ありがとうございます。 お昼の休憩で中途半端な時間は無いもので、単純に12時を挟んだときに1時間引く程度のもので良かったのです。 教えて頂いた式は参考になりました。