• ベストアンサー

Excel2003 利用時間の計算

初心者です。よろしくお願いします。 機器貸し出しの時間計算で行き詰っております。 前提条件 ・時間区分が2区分あり、(通常時間)7:00~22:00と(深夜時間)22:00~翌7:00です。 ・貸し出し期間は2日間(1泊)迄です。(当日返却もあり) D列に貸し出し開始時間 例)6:00 E列に貸し出し終了時間 例)34:00(翌10:00) 上記2つの時間を入力すると、 G列に通常時間帯 例)19:00(19時間) H列に深夜時間帯 例)9:00(9時間) 時間帯毎の使用時間を表示させるためにはどのような計算式になるのでしょうか? アドバイスお願い致します。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

回答No2です。 G1セルへは次の式を入力します。 =IF(COUNT(D1:E1)<>2,"",MIN(E1,"22:00")-MAX(D1,"7:00")+IF(E1>"31:00"*1,E1-"31:00",0)) H1セルには次の式を入力します。 =IF(COUNT(D1:E1)<>2,"",MIN(E1,"31:00")-MAX(D1,"22:00")+IF(D1<"7:00"*1,"7:00"-D1,0))

jun_ninja45
質問者

お礼

KURIMITOさん 上記の式を少し変える事によって、無事要望通り出来ました。 本当にありがとうございました。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

1行目からデータがあるとしたら次の式をG1セルに入力し下方にオートフィルドラッグします。 =IF(COUNT(D1:E1)<>2,"",MIN(E1,"22:00")-MAX(D1,"7:00")+IF(E1>"31:00"*1,E1-"31:00",0)+IF(D1<"7:00","7:00"-D1,0)) H1セルには次の式を入力し下方にオートフィルドラッグします。 =IF(COUNT(D1:E1)<>2,"",MIN(E1,"31:00")-MAX(D1,"22:00"))

jun_ninja45
質問者

補足

KURIMITOさん ご返答ありがとうございます。 申し訳ございません。 私の質問分に間違えがありました。 D列に貸し出し開始時間 例)6:00 E列に貸し出し終了時間 例)34:00(翌10:00) 上記2つの時間を入力すると、 G列に通常時間帯 例)18:00(18時間) H列に深夜時間帯 例)10:00(10時間) でした。 KURIMITOさんの関数は、私が間違えた標記通りの答えが返ってきました。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

一例です。 貸し出し開始は7:00以後、貸し出し終了は翌日22時以前、という前提だと、 シートの2行目の場合、 H6に =MAX(MIN(E2,VALUE("31:00"))-MAX(D2,VALUE("22:00")),0) G6に =E2-D2-H2 と入力して、下にコピペ。 貸し出し開始が7:00以前も可能で、貸し出し終了が翌日22時以後も可能なのであれば、H6の式がもう少し長くなりますが、上記の式の意味が解れば、解るはずです。

jun_ninja45
質問者

お礼

nattocurryさん 解決致しました。 ありがとうございました。

jun_ninja45
質問者

補足

nattocurryさん ご返答ありがとうございます。 まず、私の質問文に間違えがありました。 6:00に貸し出して翌10:00(34:00)に返却した場合、 G列に通常時間帯 例)18:00(18時間) H列に深夜時間帯 例)10:00(10時間) という使用時間が返るようにしたいのですが。 nattocurryさんの仰るとおり貸し出し開始が7:00以前もあり、貸し出し終了が翌日22時以後の可能性もあります。 上記式について調べてみましたが、意味がわかりませんでした。 申し訳ございませんが、H6にはどのような式が入るのでしょうか?

関連するQ&A