• ベストアンサー

エクセルの時間計算について

以前に皆さんの回答を参考にして、大変便利に利用させていただいていますが、もっと完璧なものにバージョンアップしたいので、よろしくお願いします。 B4に開始時間、C4に終了時間を入力した場合、5時から22時まではD4に表示させ、22時から5時まではE4に表示させています。 例えば、 B4に19:20、C4に20:30でD4に1:10。 B4に22:20、C4に23:30でE4に1:10。 B4に21:20、C4に22:30でD4に0:40、E4に0:30。 式は、 D4に=IF(OR(B4="",C4=""),"",IF(OR(B4>=$D$1,B4<$C$1),"",IF(OR(C4>$D$1,C4<=$C$1),$D$1,C4)-B4)) E4に=IF(OR(B4="",C4=""),"",IF(OR(B4>=$D$1,B4<$C$1),"",IF(OR(C4>$D$1,C4<=$C$1),$D$1,C4)-B4)) です。 これだと、B4に4:20、C4に5:30でD4に0:30、E4に0:40になりません。 また、I4に1を入力することによって、F4とG4に表示させたいのですが、どうしたらいいでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

>5時から22時まではD4に表示させ、22時から5時まではE4に表示 C1="05:00",D1="22:00"ということでいいのでしょうか? D4=IF(OR(B4="",B4>$D$1,C4<=$C$1),"",MIN(C4,$D$1)-MAX(B4,$C$1)) E4=IF(OR(B4="",C4=""),"",MAX(C4,$D$1)-MAX(B4,$D$1)+MIN(C4,$C$1)-MIN(B4,$C$1)) >I4に1を入力することによって、F4とG4に表示させたいのですが 何を表示させるのでしょうか?

morito_55
質問者

お礼

ありがとうございます。 すみません、補足を訂正させていただきます。 I4に1を入力することによって、D4に表示させる時間をD4ではなくF4に、E4に表示させる時間をE4ではなくG4に表示させたいでした。

morito_55
質問者

補足

すみません、説明不足で。 I4に1を入力することによって、C4に表示させる時間をC4ではなくF4に、D4に表示させる時間をD4ではなくG4に表示させたいのです。

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 開始~終了が24時間を越えることがなければ、 B4=IF(COUNT(B4:C4)=2,MAX(MIN("22:00",C4+(B4>C4))-MAX("5:00",B4),0),"") C4=IF(COUNT(B4:C4)=2,MAX(C4+(B4>C4)-B4-D4,0),"") >I4に1を入力することによって、F4とG4に表示させたいのですが No.1の方同様、意味が分かりません。

morito_55
質問者

お礼

ありがとうございます。 すみません、補足を訂正させていただきます。 I4に1を入力することによって、D4に表示させる時間をD4ではなくF4に、E4に表示させる時間をE4ではなくG4に表示させたいでした。 の間違いでした。

morito_55
質問者

補足

すみません、説明不足で。 I4に1を入力することによって、C4に表示させる時間をC4ではなくF4に、D4に表示させる時間をD4ではなくG4に表示させたいのです。

関連するQ&A