プロが教えるわが家の防犯対策術!

時分秒を : 無しで 数字だけで入力したいため
084530と入力して表示形式をユーザー定義(##":"##":"##)に設定し08:45:30で表示させています。
 この表示から秒を非表示にして更に並んだ時間を加減算したいのですが不可能でしょうか?
色々と試しましたが無理でした
現在、時分秒を : 入力し08:45:30の08:45だけ表示させ時間の差を秒まで計測しています。
:無しで入力がしたいです。誰か力を貸してください。お願いします。

A 回答 (3件)

こんにちは



日付や時間の計算は、シリアル値で計算するのが便利かと思います。

ご質問のような数値となっているセルが存在する場合は、見た目には同じような時刻表示であっても、シート内にシリアル値とそうでないものが混在することになりますので、後々、注意が必要になる可能性はありますが・・・


例えば、084530のように入力してあるセルがA1セルだとして、そのままでは計算に利用できませんが、以下のようにすればシリアル値に変換できます。
 TIMEVALUE(TEXT(A1,"00"":""00"":""00"))

これを利用して計算すれば、シリアル値での計算になりますので、簡単になるはずと思います。(加減算は、そのまま加減算を行えばよいことになります)
表示の際の「秒を表示しない」などについては、結果を表示するセルの書式設定で指定するようにすればよろしいでしょう。


※ ご質問には直接関係ありませんが、ご質問文でご提示の書式設定で、0:0:30を「000030」と入力すると、おかしな表示になりませんか?
    • good
    • 1
この回答へのお礼

助かりました

連絡が遅くなりすみません
これだと時分秒の数字6桁入力で
時間に置き換えてくれまね
最後に文面にあったところは
注意します有り難うございました

お礼日時:2017/11/18 12:28

入力された数字(例えば、084530)をそのまま格納して、表示および計算側で工夫するのではなく、入力された数字を時刻(例えば、8:45:30)に変換してセルに格納し、以降の表示&計算は普通にシリアル値で行うというのは、いかがでしょうか。


具体的には、シートモジュールのWorksheet_Changeイベントプロシジャに次のコードを書くことで実現できると思います。
下記のマクロは、表示形式に"hh:mm”が設定されているセルに入力があった場合、その値をシリアル値に変換します。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Application.EnableEvents = False
On Error Resume Next
For Each r In Intersect(Target, Me.UsedRange)
If r.NumberFormatLocal = "hh:mm" Then
r.Value = TimeValue(Format(r.Value, "00:00:00"))
End If
Next r
Application.EnableEvents = True
End Sub
    • good
    • 0
この回答へのお礼

やってみます

連絡が遅くなりすみません
アドバイス有り難うございました
マクロが出た時点で着いて行けませんでした。別の方法でやって見ることにしました。
また アドバイスを解いては見たいですけど・・・

お礼日時:2017/11/18 12:46

こんにちは!



>084530と入力して表示形式をユーザー定義(##":"##":"##)に設定し08:45:30で表示させています。

見た目は 8:45:30 になっていても実データは「84530」という数値になります。
無理やりって感じになりますが・・・

仮にA1~A100セルにデータを入力するとします。
表示したいセル(セルの表示形式はユーザー定義から [h]:mm としておく)に

=SUMPRODUCT((INT((A1:A100)/10000))/24)+SUMPRODUCT((MOD(INT((A1:A100)/100),100))/(24*60))

としてみたらどうでしょうか?

※ 秒(見た目、下二桁)は計算から度外視しています。
それも加味したい場合は下二桁の計算もプラスする必要があります。m(_ _)m
    • good
    • 0
この回答へのお礼

がんばります

連絡が遅くなりすみません
・・・としては見ましたが
私には難しかったです。
勉強になりました
有り難うございました

お礼日時:2017/11/18 12:39

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