• ベストアンサー

エクセルの時間計算方法を教えて下さい。

大きな時間から小さな時間を引き算すると、所用時間が求められます。 たとえば、終了時間のセルから開始時間のセルを引き算すると所用時間が求められます。 ところが、開始時間は21時で終了時間が翌日の5時の場合は所用時間は8時間ですが、今は5時を29時に置き換えて29時時から21時を引き算しています。 これを、そのまま5時の入力で計算できるようにする方法を教えて下さい。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

A1からB1までの時間数は =MOD(B1-A1,1) で時刻の書式を取り付けておけば出てきます。どっちが大きくても計算できます。

uechan1946
質問者

お礼

keithin 様 回答ありがとうございました。 思うような結果がえられました。

その他の回答 (4)

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.5

MOD関数だと、引き算の結果が負の数の場合商が-1になるので返り値が変わりませんか? ABS関数の方がよさそうな気がしますが。

uechan1946
質問者

お礼

chonami 様 回答ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

たびたびごめんなさい。 1行間違っていました。 もう一度最初からコードを載せます。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から With Target If .Address = "$B$2" Then If .Value <> "" And .Value < Range("A2") Then '←ココが間違いでした .Value = .Value + 1 End If End If End With End Sub 'この行まで 何度もごめんなさい。m(_ _)m

uechan1946
質問者

お礼

tom04 様 回答ありがとうございました。 私には難しい内容でした。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です。 一番大事なコードを忘れていました。 コードは↓になります。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から With Target If .Address = "$B$2" Then If .Value <> "" And .Value < Range("A1") Then .Value = .Value + 1 End If End If End With End Sub 'この行まで どうも失礼しました。m(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 「終了時刻」はそのままの時刻を入力したい訳ですよね? VBAになってしまいますが、一例です。 ↓の画像のようにA2セルに「開始時刻」・B2セルに「終了時刻」を入力するとC2セルに「所要時間」が表示されるとします。 C2セルは単純に =IF(COUNTBLANK(A2:B2),"",B2-A2) という数式を入れておきます。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻り A2・B2セルに好みの時刻を入力してみてください。m(_ _)m

関連するQ&A

  • 時間の計算が分かりません

    シフトなどでの時間の計算が出来ません。 たとえば A列に氏名 B列に開始時間 C列に終了時間 D列以降に9時から18時までの各時間が入力されていて 開始時間に9:00、終了時間に15:00と入力した場合D列以降の9時から15時までのセルに◆と入力されるようにするにはどうすればいいでしょうか? できればIFとANDを使った計算式にしたいのですがどうしてもエラーになってしまいます。 教えてください!!

  • EXCELでの時間計算を教えてください

    機械の稼働時間を計算する表を作っていますが、なかなか上手くいきません。下記の場合どうしたらよいでしょうか? 例えば、セルB3に開始時間9:00と入れセルB4に終了時間16:00と入れます、その時セルB5に稼働時間を表示させたいのですが、ポイントが2つあります。1つは、休憩時間が開始~終了時間内に含まれる時は、差し引くことです(10:00~10:05、12:00~12:45、15:00~15:10) もう一つは、それに依って出た答えを6:00(時:分)と表示するのではなく、360(分)で表示したいのです。 なるべく早いご回答をお願い致します。

  • EXCELでの時間計算(休憩時間の差引)について

    パートさんの遅刻・早退・外出時間を自動計算する表を作っていますがうまく作れません・・・ 下記の場合どうしたらよいでしょうか? 例えば遅刻の合計時間を算出するのに開始時刻から終了時刻を引き算しますが 10:20~10:30、 12:00~12:40、 14:50~15:00、は休憩時間なので自動的 に差し引きたいと考えています。 遅刻の時間内に、休憩時間である10:20~10:30が含まれれば10、 12:00~12:40が含まれれば40、14:50~15:00が含まれれば10を引くという感じです。 どのような計算式にすればよいのでしょうか? ちなみに勤務時間は8:30~17:00です。 例えば、 (例)セル【B2】8:30(開始)セル【B3】13:00(終了)の場合、セル【B4】には50分を差引いた 3:40の合計時間を算出したいです。 色々調べて、B4に以下の式を入力してみましたが、どうもうまくいきません。 =IF(B3<>"",B3-B2-IF(TEXT(B3,"hh:mm")>"15:00","1:00",IF(TEXT(B3,"hh:mm")>"12:40","0:40",IF(TEXT(B3,"hh:mm")>"10:30","0:10","0:00")))) どうぞ宜しくお願いいたします。

  • エクセルで時間計算

    エクセルで時間計算をしているのですが A1セルに開始時刻  B1セルに終了時刻  C1セルは作業時間   9:00         4:00           7:00 このような表を作っています 「C1」には(B1+12:00)マイナス「A1」と数式があるのですが 「B1」に入る時刻が午後でなく午前11:00だと 「C1」の数式のままでは (11:00+12:00)- 9:00 で 14:00 となってしまいます 「B1」には24時間形式で午後4:00を16:00と入力すればよいのですが 24時間形式を使わず9:00マイナス4:00を正しく計算するには どのような数式にすればよいのでしょうか IF文を使うのかなとも思うのですが 見当がつきません。宜しくお願いいたします。

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

    時間計算について質問です。 図のような仕事上にかけた時間の計算をしたいのですが。終了時刻と休憩時刻で空白のセルがあるとマイナスになってしまします。 計算としてはC行の終了時刻からB列の開始時間を引き、休憩があればさらにマイナスで計算してみています。 終了時刻と休憩時刻で空白のセルがあるときには計算をせずすべてのセルが埋まったら計算結果を表示することは可能でしょうか? 現在ですと合計時間のところでマイナスになってしまい、すべて入力 がされていないと正確な数値になりません。 作業時間はその後の計算の都合上時間表示ではなく数字として表示させています。

  • 日報の時間計算を行う関数について

    勤務時間を管理の日報を作成しています。以下の条件をつけて出勤時間と退社時間を記入するだけで1日の総勤務時間を表示してくれる関数をご教示お願いします。 ・9:00出勤で18:00定時退社で15分単位で表示 ・セル(開始)は9:00、(終了)に18:00以降の時間を手入力 ・セル(工数)に関数で総勤務時間を計算 ・9:00から18:00までに1時間15分の休憩をとるため、自動的に差し引いて計算 ・残業は18:15からカウントされるため、18:30以降残業して退社した場合は15分差し引いて計算 ・残業最終時間0:00までとして計算 ・セル(開始)、(終了)に9:00~0:00の15分単位の時間以外を入力はない前提とします ・遅刻、早退による変則時間の入力はない前提とします 【例】 (開始)9:00、(終了)18:00の時は(工数)に7.75 (開始)9:00、(終了)18:15の時は(工数)に7.75 (開始)9:00、(終了)18:30の時は(工数)に8 (開始)9:00、(終了)0:00の時は(工数)に13.5 よろしくお願いします。

  • Excelでの時間の計算について

    時間を1:20(1時間20分)ではなく、 80分と表示したい場合の方法を教えてください。 もしくは、その回答が載っているサイトのご紹介をお願いします。 たとえばですが、 セルA1に、勤務開始時間が、9:10と入力してあり、 セルB1に、退社時間が、10:40と入力してあるというような、 30分ごとではなく、半端な時の計算方法を知りたいです。 (暗算で、30分=0.5とできないようなときです。) この状態で、セルC1に、=B1-A1とすると、1:20と表示されますが、 これを、80と表示させたいです。 なお、セルA1と、セルB1の表示形式は、ユーザー定義で [h]:mmと指定してあります。 お分かりになる方、よろしくお願いいたします。

  • エクセルの時間計算にて

    初めて質問します。 エクセルにて以下のような場合どうすればいいのでしょうか? 開始時間「8:00」終了時間「18:30」でその時間数を整数にて表示させるにはどうすれば?? 上記の場合だと単純に引き算すれば「10:30」となりますが、「10.5」と表示されるには?? 宜しくお願いします。

  • エクセルで時間計算

    エクセル2003です。 A1のセルに開始時間を入力 B1のセルに終了時間を入力 0時から7時まで夜時間 7時から19時まで昼時間 19時から24時まで夜時間とします。 このときC1に昼時間を表示 D1に夜時間を表示させるには どうしたらよいでしょうか。

  • excelの時間計算方法

    困ってるので、どなたか助けてください。 たとえば、 A1に 17:00 B1に 18:00と入力して、 C1に -1:00と表示させたいときの計算方法を教えてください。 (つまり、単純な引き算のようなものをしたい) よろしくお願いします。

専門家に質問してみよう