• ベストアンサー

経過時間を表示したい

現在の時刻と開始時刻から、経過時間を表示したいです。 現在の時刻は16時30分だったら、16:30 開始時刻は12時15分だったら、12:15という変数があります。 答えで4:30という数字が欲しいです。 経過時間は24時間以下を考えれば良いです。

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

  • ベストアンサー
  • excelist
  • ベストアンサー率56% (13/23)
回答No.4

No1の者ですが A=CDate(Time)-CDate(Time_Start) の結果、Aが小数になってしまうという問題についてです。 変数Aの型が何になっているのか謎ですが「答えで4:30という数字が欲しい」ということなのでNo2さんの回答のようにformat関数を使うと簡単です。 A=Format(CDate(Time)-CDate(Time_Start),"hh:mm") format関数が邪魔であれば変数AをDate型で定義してやればよいかと思います。 ちなみに変数Aに小数が入っていることについてですが、VBの日付型というのは整数+小数で管理しており、整数部で日数を、小数部で時間を管理しています(Excelなどで日付を入力したセルを数値表示すると分かると思います)。今回は日数はゼロですので0.xxxという小数が変数Aに入ってきます。

その他の回答 (3)

  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.3

A=CDate(CDate(Time)-CDate(Time_Start)) でいいような。。。 ?cdate("1:42:33")-cdate("1:42:17") 1.85185185185191E-04 ?cdate(cdate("1:42:33")-cdate("1:42:17")) 0:00:16 文字列で扱いたければさらにcstr()で囲む。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

Format関数では? Dim 差 差 = Time - CDate(開始時刻) 経過時間 = Format(差, "hh:nn")

  • excelist
  • ベストアンサー率56% (13/23)
回答No.1

答えは4:15では?!というのは置いておいて、「12:15という変数」の型が何なのか謎ですが、String型になっていて単純に計算できなくて困っているんじゃないかと想像して回答します。 CDateで型を日付型に変換してやれば、あとは足し算引き算可能です。

miya2004
質問者

お礼

ありがとうございます。 答えは、4:15ですね。 CDateにしてみたのですが、答えの変数Aが少数点で表示されてしまいます。 A=CDate(Time)-CDate(Time_Start)

関連するQ&A

  • Excelで経過時間の判定をしたい

    Excel2000で(経過時間)=(終了時刻)-(開始時刻)として時間計算をしています。 この経過時間が、8:30 を超えていれば 1 とし、8:30以下であれば 0 という答えを返させる関数を教えてください。 よろしくお願いします。

  • 経過時間が計算できません。

    エクセルのマクロで困っています。 エクセルファイルを閉じる際に、 Cells(1, 1).Value = Now() としてファイルを閉じた時間の記録としています。 次にファイルを開いた時に前回利用時からの 経過時間を表示しようと考えています。 例:「前回利用時から、85 時間経過しています」 1時間未満は切り捨てて時間単位で表したいです。 そこで Cells(2, 1).Value = Now() - Cells(1, 1).Value とすると 「1900/1/4 1:00:24」となってしまいます。 表示形式を[h]と指定すれば、「97」と表示され、 一応経過時間を時間単位で表示してくれます。 ただ、この「97」という数字を他の変数に渡すには どのようにしたらよいのでしょう?

  • 経過時間を分に変換する方法

    経過時間(時:分)を分で表示する方法をご教授ください。 例えば セルA1:開始日時(2016/11/15 15:18) セルA2:終了日時(2016/11/16 9:16) A2-A1 → セルの書式設定 → 時刻より「時:分」を指定して表示する方法(結果は「17:58」)はわかるのですが、これを分で表示する方法(式)がわかりません。 よろしくお願いします。

  • 開始時刻+経過時間=終了時刻になる計算式はありますか?

    エクセルについてお尋ねします。 (1)下記のようにA3に"3"と入力するだけで3時間と認識する事は可能でしょうか? (2)上記の結果をふまえ、開始時刻(A1)に経過時間(A3)を足して終了時刻(A2)を表示する事は可能でしょうか?   A1 → 9:00(開始時刻)   A3 → 3(経過時間)   A2 → 12:00(終了時刻) ←この時刻を求める。

  • 1/10秒単位で経過時間を測りたい

    Excell VBA で 1/10 秒単位で経過時間を表示する方法を教えてください。 現在は次の書式を使っているので、1秒単位でしか表示されません。 MsgBox "所要時間 : " & Format(Now - StartTime, "hh:mm:ss") StartTime は計測開始時刻です。

  • エクセルにて作業時間(分で表示)を出すには?

    エクセルにて「開始時刻」と「終了時刻」から作業時間の値を出したいのですが、 「開始時刻」と「終了時刻」のセルにはTIME関数(例 =TIME(18,0,0))が入力されており、さらにそのセルの表示形式は[時刻]の[13時30分]と表示されています。 これらのセルから作業時間を算出して分で表示(例 30分)したいのですが、どうやったらいいのでしょうか?

  • アクセス上で4桁の数字を時刻として何時間経過したか計算する方法

    0930と2215という2つの4桁のただの数字があります。 2215-0930=1285と言う答えになります。 が、この4桁の数字を時刻として 09:30と22:15の間は12時間45分と計算し、表示形式を12.75とする方法を知りたいです。これをアクセス上のデータで行いたいのですが、いい方法がありましたら教えて下さい。

  • エクセルで時間経過計算

    エクセルで、次のようなことができるでしょうか。 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にとらわれなくても結構ですので、よろしくお願いします。

  • 記録されている時間から何日経ったか表示したい

    CGI(perl)勉強中です。 2012年12月18日22時15分 のように文字列で記録されている時間があります。 (事情によりこの時刻は上記のような文字列型式でしか記録できません) この時間が、現在時刻と比較し、何日経過しているかを表示させたいと思っています。 time 関数を使えば現在時刻の取得が可能ということは分かりました。 この現在時刻から上記の日時をマイナスすれば経過秒数が分かり、 これを日数に計算しなおせばできると思うのですが、 2012年12月18日22時15分をtime関数で取得した現在時刻と同じ型式に 変換させる方法が分かりません。 また、他によい計算方法があればよろしくお願いします。

    • ベストアンサー
    • Perl
  • Excelで開始時刻があり(例8:00)に経過時間のセルに600秒と入

    Excelで開始時刻があり(例8:00)に経過時間のセルに600秒と入力した場合、出力先のセルの表示を8:10として表示するにはどうしたらいいのでしょうか? A1=8:00開始時刻 B1=600経過時間(単位は秒) C1=出力結果

専門家に質問してみよう