• ベストアンサー
  • すぐに回答を!

エクセルで時間経過計算

  • 質問No.387176
  • 閲覧数230
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 72% (368/506)

エクセルで、次のようなことができるでしょうか。
A列に開始時間、B列に終了時間を入れ、開始時間と経過時間を入れることによって
自動的に5時00分から21時59分時までの時間を入れたときの経過時間をC列に、
22時00分から4時59分までの時間を入れたときの経過時間をD列に入れたいのです。
例えは、A列(開始時間)に10:00、B列(終了時間)に11:00を入れると、C列に1:00。
A列(開始時間)に1:00、B列(終了時間)2:00を入れると、D列に1:00。
使用ソフトは、エクセル:mac2001ですが、macにとらわれなくても結構ですので、よろしくお願いします。

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

  • 回答No.2
  • ベストアンサー

ベストアンサー率 55% (132/236)

もう、解決しましたか?
日も経過しているので、いまさらかもしれませんが、ちょっと面白そうなので、考えてみました。

(1)1行目[C1]セルに[5:00]、[D1]セルに[22:00]と入力(後で行を非表示にして下さい)
   この値を式に代入するとものすごく長い式になります
   どうしても入れたい場合は、下記式の
   [$C$1]→[TimeValue("5:00")]
   [$D$2]→[TimeValue("22:00")]に置き換えてください。
(2)2行目からA列に開始時間、B列に終了時間を入力
   1日は[5:00]から始まり、次の日の[5:00]までとします。
   (5:00~5:00は、24時間となり 5:01~5:01は0分となります)
(3)C2セルに
   =IF(OR(A2="",B2=""),"",IF(OR(A2>=$D$1,A2<$C$1),"",IF(OR(B2>$D$1,B2<=$C$1),$D$1,B2)-A2))
   D2セルに
   =IF(OR(A2="",B2=""),"",IF(AND(B2>$C$1,B2<=$D$1),"",IF(AND(A2>=$C$1,B2<=$C$1),1-IF(A2<$D$1,$D$1,A2)+B2,B2-IF(AND(A2>=$C$1,A2<$D$1),$D$1,A2))))
   と入力(この式をコピー貼り付け)
でどうでしょうか?

D2セルはもう少しスマートにならないか考えましたが、いい案が浮かびませんでした。
1度試してみて下さい。
式でわからない所やおかしい所があれば、補足してください。
お礼コメント
morito_55

お礼率 72% (368/506)

ありがとうございました。
こ、これだ!と思いました。
また、何かありましたら、よろしくお願いします。
投稿日時:2002/10/28 05:23

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 25% (45/179)

同一日付内というのが前提ですが、
(明けて1時は25:00と入力)
E1に5:00
F1に22:00とおいて
C1は、
=IF(B1>F1,IF(A1>E1,F1-A1,F1-E1),IF(A1>E1,B1-E1,B1-A1))
D1には、
=IF(AND(B1<F1,A1>E1),"",IF(A1<E1,E1-A1,0)+IF(B1>F1,B1-F1,0))

いかがでしょう。

そうそう、セルの書式設定を
[h]:mm
にしておいてください。
当方エクセル2000です。
お礼コメント
morito_55

お礼率 72% (368/506)

ありがとうございました。
やっぱりこういう事もできるのですね。
勉強あるのみです・・・。
投稿日時:2002/10/28 05:20
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ