dポイントプレゼントキャンペーン実施中!

例えば21:55に出勤し、翌日6:10に退勤したとします。
勤務時間は8時間15分になりますが、これを22時~6時は別に表示したいのです。

22時~6時=8時間0分
それ以外=0時間15分

といったような表示をすることはできますでしょうか?
どうかご教授ください。

A 回答 (2件)

日付を含んで計算すればいい。



あとはMIN関数とMAX関数を上手に組み合わせれば普通の四則演算(引き算)で済ませられます。

・・・

ごめんよ。
たぶん
「数式を示せ。オレ様の成果として使ってやらないでもないwww」
って質問なんだろうけど、
ここは作業依頼をする場所ではなく、自分で問題解決できるようになるアドバイスを受ける場所です。

何が分からないのかを具体的に示すようにしましょう。
例:
 「日付を跨いで計算すると####の表示になって意図した結果にならない。
  どうすれば####にならずに計算できますか」

たくさん分からないことがある場合は、それらを一つずつ解決するようにしましょう。
そうすれば自分で問題を解決できるようになります。(というか、そうしないと自力で解けない)
    • good
    • 0

こんにちは



>例えば21:55に出勤し、翌日6:10に退勤したとします。
計算する上では、出勤時刻<退勤時刻 になっていないと面倒なので、予め「6:10」は24時間を加えておくか、No1様の回答にあるように、日付込みの値を採用するなどが便利でしょう。
(日付込みの値の場合は、比較する時間帯も日付込みの値にしておく必要がありますけれど・・)

その上で、2つの時間帯で重なっている部分を求めたければ、それぞれの時間帯を
「s1 ~ e1」、「s2 ~ e2」(ただし s1<e1、s2<e2) とするなら
(s1、s2、e1、e2 はそれぞれ時刻を意味します)

 =MAX(0,MIN(e1,e2)-MAX(s1,s2))
で算出可能です。
(s1<e1、s2<e2 の条件が成立していない場合は、もっと面倒になります)
    • good
    • 0

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