• ベストアンサー

【Excel】時間計算について

Excel2003を使用しています。 残業時間の計算について、下記のような場合、F2とG2には、どのような数式を入力すればいいでしょうか? 22時以降は深夜残業となりますので、終了時刻が22時を過ぎた場合は、その部分の時間をG列の深夜残業に表示し、22時まではF列の残業に表示させたいのです。表示形式は、C列とE列は『時刻』、F列とG列は『h"時間"mm"分"』になっています。    C列     E列        F列      G列 1  開始時刻  終了時刻  残業      深夜残業 2  17時30分  23時30分  4時間30分  1時間30分 IFで条件分岐して入力してみたり、過去の質問も検索してみましたが、思うように表示させることができませんでしたので、質問させていただきました。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

ご質問例に対しての一例ですので、実際の残業時間・深夜時間の定義を考慮して下さい。 F2セルは、=IF(E2>="22:00"*1,"22:00"-C2,E2-C2) G2セルは、=IF(E2>="22:00"*1,E2-"22:00","") 因みに24時以降の時刻入力は、24:00、25:00…と入力される事としています。

rx-z5815
質問者

お礼

回答ありがとうございます。 今回は、示していただいた例で、対応できそうです。 IFの条件部分で、つまづいていたのですが、 "22:00"*1 でよかったのですね。参考になりました。 ありがとうございました。

その他の回答 (2)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

質問の例に限定して回答していいなら、F2セルは  =MIN(E2,"22:00")-MIN(C2,"22:00") G2セルは  =MAX(E2,"22:00")-MAX(C2,"22:00") でも可能です。 でも実際にはもう少し工夫がいるかもしれません

rx-z5815
質問者

お礼

回答ありがとうございます。 教えていただいた数式でできました。 今回の場合は、こちらの方法でも対応できそうです。 ありがとうございました。

回答No.1

F2セル =IF(E2>22/24,4.5/24,E2-C2) G2セル =IF(E2<22/24,0,E2-22/24) これでどうでしょう? 時間のシリアル値は1日=24時間を1と考えていますので、時間(hour)に直すときは 24で割ってやればOKです。 お試しください。

rx-z5815
質問者

お礼

回答ありがとうございます。 教えていただいた数式でできました。 IFの条件部分で、つまづいていましたが、24で割ればOKだったのですね。勉強になりました。 ありがとうございました。

関連するQ&A