電子書籍の厳選無料作品が豊富!

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

A 回答 (5件)

A1からB1までの時間数は


=MOD(B1-A1,1)
で時刻の書式を取り付けておけば出てきます。どっちが大きくても計算できます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/09/05 21:57

MOD関数だと、引き算の結果が負の数の場合商が-1になるので返り値が変わりませんか?


ABS関数の方がよさそうな気がしますが。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/09/05 21:58

たびたびごめんなさい。


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
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/09/05 22:00

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
    • good
    • 0

こんばんは!



「終了時刻」はそのままの時刻を入力したい訳ですよね?
VBAになってしまいますが、一例です。

↓の画像のようにA2セルに「開始時刻」・B2セルに「終了時刻」を入力するとC2セルに「所要時間」が表示されるとします。

C2セルは単純に
=IF(COUNTBLANK(A2:B2),"",B2-A2)
という数式を入れておきます。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り
A2・B2セルに好みの時刻を入力してみてください。m(_ _)m
「エクセルの時間計算方法を教えて下さい。」の回答画像1
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!