• ベストアンサー

時間の計算

下記にあります、 「時間を入力するテキストボックス作成」の 続きです。 テキストボックスA、Bと ラベルCがあるとします。 テキストボックスAとBには時間(形式はh:mm)が 入っていて、そのテキストボックスAとBの差を ラベルCに出したいのですが、下記の例の ようにするには、どのようにすれば良いでしょうか? 例: テキストボックスAに「9:00」、 テキストボックスBに「11:45」と 入ったら、ラベルCには「2:75」と出力される

  • su-ta
  • お礼率54% (128/234)

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

  • ベストアンサー
  • josyo_m
  • ベストアンサー率63% (28/44)
回答No.4

お疲れ様です。 すみません、#3を少し訂正します。 #3では"2.00"等に対応していませんでした。 例) Text1.Text = "9:00" Text2.Text = "11:00" Label1.Caption = Replace(Format$(Hour(Text2.Text) - Hour(Text1.Text) + (Minute(Text2.Text) - Minute(Text1.Text)) / 60, "0.00"), ".", ":") まだ計算が違うようでしたら補足お願いします。 間違っていたらごめんなさい。

su-ta
質問者

お礼

>回答者の方へ ありがとうございました。 解決出来ました!

その他の回答 (3)

  • josyo_m
  • ベストアンサー率63% (28/44)
回答No.3

お疲れ様です。 再度、お邪魔します^^ 結果が、"2:75"と欲しいのであれば、これでは駄目でしょうか? 例) Text1.Text = "9:00" Text2.Text = "11:45" Label1.Caption = Replace(Hour(Text2.Text) - Hour(Text1.Text) + (Minute(Text2.Text) - Minute(Text1.Text)) / 60, ".", ":") お礼で書かれているのを少し変えただけです^^ 間違っていたらごめんなさい

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

Form1にText1,Text2,Commnd1を貼り付け、Command1の クリックイベントに(質問ではLabelですが大して変わらない) Private Sub Command1_Click() ' Text1.Text = "9:15" ' Text2.Text = "11:45" '----- l1 = Len(Text1.Text) p = InStr(Text1.Text, ":") h1 = Mid(Text1.Text, 1, p - 1) m1 = Mid(Text1.Text, p + 1, l1 - p) t1 = TimeSerial(h1, m1, 0) '----- l2 = Len(Text2.Text) p = InStr(Text2.Text, ":") h2 = Mid(Text2.Text, 1, p - 1) m2 = Mid(Text2.Text, p + 1, l2 - p) t2 = TimeSerial(h2, m2, 0) '------ t3 = Format(t2 - t1, "hh:mm") Command1.Caption = t3 End Sub 少数例でテスト済み。

  • josyo_m
  • ベストアンサー率63% (28/44)
回答No.1

お疲れ様です。 こんな感じでよいでしょうか? 例) Text1.Text = "9:00" Text2.Text = "11:45" Label1.Caption = Format$(CDate(Text1.Text) - CDate(Text2.Text), "H:NN") 間違っていたらごめんなさい。

su-ta
質問者

お礼

回答ありがとうございます。 josyo_mさんのソースでやってみましたが、 計算が違ってしまいました。 (責めている訳ではありませんので、誤解しないでくださいね) この処理は、以前Excelのセルでやっていたのですが、 その時の計算式はこんな感じでした。 Hour(Text2.Text - Text1.Text) + Minute(Text2.Text - Text1.Text) / 60 こうすると、Text2が11:45、1が9:00の時、2.75と 計算されます。 これを別の箇所に"h:mm"の形で出せれば良いのですが。

関連するQ&A

  • エクセルで時間差の計算

    日数間の計算結果を「hh:mm」形式で表示させたいのですが。 ------------------------------- セルA1 2003/10/01 10:00 セルB1 2003/10/02 11:30 セルC1 25:30 ------------------------------- 上記のようにA1とB1の時間差を「時:分」形式でC1に結果を表示させたいのですが24時間以上の差があると出来ません。 TEXT(B1-A1,"d:hh:mm")なら出来るのですが日にちを使いたくないのです。 よろしくお願いします。

  • 2つの時刻間の時間を計算したい。

    よろしくお願いします。 エクセル2010、OSはWindows7です。 例) セルA1 に時刻その1 セルB1 に時刻その2 というデータが入力されています。 時刻は、YYYY/MM/DD hh:mm の形式で入力されており、2つの時刻の差は24時間以上なので日付は異なります。 この2つのセルの時間差をhh:mmの形式で表したいですが、単純に引き算しただけでは思うようにいかないようです。 やり方を教えてください。

  • エクセル2007でのIF関数と時間の計算

    A1,B1,C1,D1に時間をh:mmで入力します。 E1セルに次の答えを返したいのですが、数式をどうすればいいでしょうか。 もし、A1とB1の合計が、0:00(ゼロ時間)を超えるときは、その合計時間を もし、C1とD1の合計が、0:00(ゼロ時間)を超えるときは、その合計時間を E1セルに表示する。 なお、A1からD1に何も入力しないときは、E1も空白にしたいです。 また、「A1 または B1」に時間データが入力された場合は、「C1またはD1」には時間データへの入力はありません。 同様に、「C1またはD1」に時間データが入力された場合は、「A1またはB1」には時間データへの入力はないという形式の表です。

  • 時間計算教えてください

    例) A列 12:30  B列 13:40 C列 70分と時間差を計算したい(関数にて) そのようにすれば良いのでしょう? おしえて下さい。

  • 日数と時間

    A1セル 日数(21日) B1セル 勤務時間(7:30) C1セル 合計 A1×B1=(157:30)  としたいのですがどうすればいいのでしょうか? 21×7:30=13:30になってしまいます。 20×7だと6:00になります。 なぜでしょう? エクセル2003使用です。 まず、B1セルで 「セルの書式設定」の表示形式 でどうすればいいのかわかりません。 「h:mm」でいいのでしょうか? よろしくお願い致します。

  • エクセル 時間の計算

      A(距離) B(速さ)  C(所要時間) D(時間) 1 3.9    5     0:46     13:52? 2 14.7    5     2:56     16:49? 3 0.9     5     0:10     17:00 まず、C1の「所要時間」を出すのに、 「3.9/5/24」の計算で「h:mm」表示にし、0:46としました。 これを1分繰り上げて(「h:mm:ss」だと0:46:48になるので)0:47と 表示させるには、どうしたら良いですか? C3も同じく0:11の表示にしたいです。 そうやってCの「所要時間」を全て出した後、今度はD3の17:00から 逆算してD1のスタート時間を算出するにはどうしたら良いですか? 単純なD3ーC3の引き算だと、計算が合わなくなります。 意味わかって頂けたでしょうか。。 宜しくお願いします。

  • Excelの時間計算について

    日付と時間が入力されたセルがあるのですが、 そのセル内容を合体させて別のセルに表示しようと思っています。 例)A1に日付「2009/07/11」、B1に時間「15:00」と入力されていた   場合に C1に「2009/07/11 15:00」を表示させ、実時間として   認識させたい。D1に表示された現在の時刻「=NOW()」からの   経過時間をE1に表示させるのが目的。 表示だけでしたらC1に 「=TEXT(A1,"yyyy/mm/dd")&" "&TEXT(B1,"hh:mm")」 と入力すれば解決するのですが、 時間として認識させるにはどのようにすればよいでしょうか? 因みにB1のセルの時刻は書式設定を「yyyy/mm/dd hh:mm」として 表示させると「1900/01/00 15:00」となります。 D1に表示された現在の時間「=NOW()」からどれだけ時間が 経過しているかを計算させ、E1に表示するのが最終目的です。 どなたかお知恵を貸していただけませんでしょうか? よろしくお願いします。

  • フォームに入力された数値を計算する

    JavaScriptで、下記の事をやりたいと思っています。 A、B、Cの3つのテキストボックスを用意 AとBに入力された数値で A-B という計算を行い、 Cのテキストボックスに表示する ということを、JavaScriptでやりたいと考えているのですが、 どういった方法をとるのかが分かりません。 どうか知恵を貸してはいただけないでしょうか?

  • Excelの時刻の計算(マイナス表示)

    時刻のセルでひき算をし、マイナス表示も出したいのですが。。 例えば A1に [2002/5/9 7:00] B1に [2002/5/9 8:00] とあって C1に [B1-A1] と計算式を入力すると [1900/1/0 1:00]となり、表示形式を[h:mm]にすると[1:00]とできますよね。 このときに B1に [2002/5/9/6:00] とあるとC1には[##########]となってしまうのですが、 6:00-7:00なので [-1:00]と表示させることはできないでしょうか。 できればAとBの値そのものは変えたくないのですが。。。お願いします

  • Excelで時間計算

    こんにちは。 簡単な質問ですいません。 下記どなたかご存知の方教えて下さい。 したいことは下記の通りです。 A列に「開始時間」、B列に「終了時間」を入力します 。 そうすると、自動でC列には「時間数(終了時間-開始時間)(分)」を表示させたいのです。 A例 B列 C列 10:00 11:20 80 宜しくお願いします。

専門家に質問してみよう