No.3
- 回答日時:
(1)18は時間、11は分、31は秒を表すとします。
349827は349827/1000000秒を表すとします。(2)データとして、A1に18.11.31.349827、A2に18.11.32.046075が入っているものとします。
(3)VBAでワークセルとしてB,C,D,F列を使う。
Sub split()
For j = 1 To 2
Worksheets("sheet1").Cells(j, 1).Activate
a = ActiveCell
s = 1
For i = 1 To 4 '切り分けSplit
p = InStr(s, a, ".")
If p = 0 Then p = Len(a) + 1
ActiveCell.Offset(0, i) = Mid(a, s, p - s)
s = p + 1
Next i
Next j
'------- ’各桁演算
Dim k(5)
k(2) = 1: k(3) = 60: k(4) = 60: k(5) = 1000000
For i = 2 To 5
Cells(9, i) = Cells(8, i) - Cells(7, i)
If Cells(9, i) < 0 Then
Cells(9, i - 1) = Cells(9, i - 1) - 1
Cells(9, i) = Cells(9, i) + k(i)
End If
Next i
End Sub
(4) 結果は
(B) (C) (D) (E)
181131349827 (1行目)
18113246075 (2行目)
000696248 (3行目)
秒以下の入力は桁を揃えて後の0も付け加えてくださいね。.11--->.110000のように。
No.2
- 回答日時:
質問の意図に合っているか不明ですが、ユーザー定義関数を作ってみました。
=TimeDif(時刻1,時刻2) として使います。
質問のケースは『 00.00.00.696248』が結果になります。
セルに時刻を表す文字列があれば、=TimeDif(A1,A2) のように使えます。
出力結果は文字列です。数値、時刻として再計算には使えません。
もう少し簡単に計算できそうな気もしますが・・・ご参考に。(当方Excel97です)
標準モジュールに貼り付けます。
↓
Function TimeDif(strTM1 As String, strTM2 As String)
Dim TM1 As String, TM2 As String '時刻
Dim hh1 As Integer, hh2 As Integer '時(から、まで)
Dim mm1 As Integer, mm2 As Integer '分(から、まで)
Dim ss1 As Integer, ss2 As Integer '秒(から、まで)
Dim pot As Integer '『.』の位置
Dim Dif As Double '2つの時刻の秒差
Dim Dif1 As String, Dif2 As String '時分秒差と少数秒差
Dim SeiFu As String '正負
TM1 = strTM1 '時刻1を時分秒に分解
pot = InStr(TM1, "."): hh1 = Mid(TM1, 1, pot - 1): TM1 = Mid(TM1, pot + 1)
pot = InStr(TM1, "."): mm1 = Mid(TM1, 1, pot - 1): TM1 = Mid(TM1, pot + 1)
pot = InStr(TM1, "."): ss1 = Mid(TM1, 1, pot - 1): TM1 = Mid(TM1, pot)
TM2 = strTM2 '時刻2を時分秒に分解
pot = InStr(TM2, "."): hh2 = Mid(TM2, 1, pot - 1): TM2 = Mid(TM2, pot + 1)
pot = InStr(TM2, "."): mm2 = Mid(TM2, 1, pot - 1): TM2 = Mid(TM2, pot + 1)
pot = InStr(TM2, "."): ss2 = Mid(TM2, 1, pot - 1): TM2 = Mid(TM2, pot)
'秒単位で差を計算
Dif = (hh2 * 60# + mm2) * 60# + ss2 _
- ((hh1 * 60# + mm1) * 60# + ss1) + Val(TM2) - Val(TM1)
SeiFu = " ": If Dif < 0 Then SeiFu = "-": Dif = Abs(Dif)
'時刻形式にした文字列を作る
Dif1 = Format(Int(Dif) / 24 / 3600, "hh:mm:ss")
Dif2 = Format(Dif - Int(Dif), ".000000")
TimeDif = SeiFu & Application.Substitute(Dif1 & Dif2, ":", ".")
End Function
No.1ベストアンサー
- 回答日時:
18:11:31.349827 のように時刻形式で入力してしまうと、0.1ミリ秒の桁を
四捨五入した 18:11:31.350 でしか保存されないので困ってしまうわけですが、
秒の部分を切り離して 18:11 と31.349827にしておき、別のセルで
= 18:11 + 31.349827/(24*60*60)
とまとめてやると、ちゃんと計算できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 【Excel統計】任意の確率におけるσの係数を求める方法? 3 2023/06/15 19:28
- Excel(エクセル) Excelグラフについて 1 2022/06/16 16:06
- Excel(エクセル) Excel 2019で質問があります。 計測器のデータをExcelで記録したんですが、1秒刻みで記録 4 2022/09/07 22:46
- Excel(エクセル) 時間差を求めるマクロコードを教えてください。 4 2022/05/17 18:22
- 数学 数学の問題の解き方を教えてください! 3 2022/11/02 17:32
- 物理学 物理の問題 3 2022/12/21 22:56
- Excel(エクセル) Excelについて 3 2023/07/12 17:47
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
vba 時間の引き算 例えば 15:00から16:15の間の時間は1時間15分ですが、vbaのコード
Visual Basic(VBA)
-
VBAでミリ秒まで出力する方法
Visual Basic(VBA)
-
format関数について
Visual Basic(VBA)
-
-
4
ウィンドウのタイトルからプロセス取得
Visual Basic(VBA)
-
5
時間(ミリ秒を含む)の引き算
Visual Basic(VBA)
-
6
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
7
Microsoft VBAで2GBを超えるファイルサイズのバイナリデータを読み込みたい。
Visual Basic(VBA)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
8時間以上だったら1時間マイ...
-
SL(DL)やまぐち号 津和野行きの...
-
アルファエックス
-
標準時間と117の時間の10秒のずれ
-
[MS Access]クエリで変換 hhmm...
-
下の画像の問題の(2)なのですが...
-
Accessの重複なしのカウントの...
-
エクセルのNow関数の時刻の更新...
-
電線等の入線潤滑材の代用品っ...
-
ipad サーバーの識別情報を検証...
-
サンライズエクスプレスの通過時刻
-
Excelでミリsecまでの2つの時...
-
米原駅から栃木県足利市八幡町...
-
時刻と時間を明確に区別したい...
-
エクセルで早朝深夜労働時間を...
-
iPhoneのボイスメモ
-
時刻どおり
-
名港トリトンのライトアップの時間
-
JR西日本のGPS運転士支援システ...
-
新幹線の3人掛け座席は回るの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessの重複なしのカウントの...
-
[MS Access]クエリで変換 hhmm...
-
アルファエックス
-
米原駅から栃木県足利市八幡町...
-
下の画像の問題の(2)なのですが...
-
8時間以上だったら1時間マイ...
-
iPhoneのボイスメモ
-
電線等の入線潤滑材の代用品っ...
-
午後11時59分って何時? 昼の11...
-
Excelでミリsecまでの2つの時...
-
エクセルで早朝深夜労働時間を...
-
時間と時刻の違い!?
-
標準時間と117の時間の10秒のずれ
-
[h]:mm形式→10進法への変換
-
エクセルVBAでタイマーコントロ...
-
エクセルのNow関数の時刻の更新...
-
サンライズエクスプレスの通過時刻
-
時間帯別作業時間についてエク...
-
SL(DL)やまぐち号 津和野行きの...
-
PC間の時刻同期コマンドが失敗...
おすすめ情報