に、異なるタイムスタンプを分類:エクセルVBA - ここではサンプル - データセットで作業する10分のブラケット
...Device Name | Time | Time Bracket
ID 1 |06:24:03 |
ID 1 |06:24:05 |
ID 1 |06:31:03 |
ID 1 |06:54:58 |
ID 1 |06:55:00 |
ID 1 |06:59:12 |
ID 1 |07:24:14 |
ID 1 |07:24:15 |
ID 1 |07:32:12 |
ID 1 |11:07:18 |
ID 1 |11:21:27 |
ID 1 |11:32:12 |
ID 1 |11:32:13 |
ID 1 |11:36:01 |
ID 2 |07:05:55 |
ID 2 |07:05:56 |
ID 2 |07:22:15 |
ID 2 |08:32:49 |
ID 2 |08:32:51 |
ID 2 |09:05:22 |
ID 2 |10:11:24 |
ID 2 |10:11:26 |
ID 2 |11:34:41 |
ID 2 |11:42:34 |
ID 2 |11:42:35 |
ID 2 |12:50:40 |
私が達成しようとしている何がタイムスタンプ集計の列に各行に合わせてあります
たとえば、07:00〜07:9:59のいずれかの項目は、3列の07:00:00括弧内に含まれ、07:10:00〜07:19:59は07:10: 00など。
私はこれを行う式を考えることができなかったので、私はVBAに連れて行った。
私は、列Bを繰り返し処理する必要があることを理解しており、それぞれについて値を見て、どのステートメントに進むべきかを判断するためにcaseステートメントを使用します。
簡単に言えば、私は24 * 6 = 144 case/if文を作成したくありません。
分値だけを見て、それが6つの時間括弧(*:00、*:10など)のいずれかに収まるかどうかを判断し、時間を読み込み時間で置き換えます値から。
だから私はこのような何かを実装してみました:そこ
Sub time_cater()
For i = 1 To Rows.count
Select Case Range("Ci").Value
Case "**:0*:**"
'Range("Ci").Value = Range("Ci").SUBSTRING(**)+:10:00
Next i
End Sub
そして、明らかに多くを...
問題は、私はサブストリング部分を達成する方法を見つけ出すことができないということです...もし存在しなければ、私は144ケースのステートメントを作成しますが、より洗練されたソリューションが必要です。
編集:Ci部分が機能するかどうかは完全にはわかりません...行C(ワークシート上のC)を通過し、カウンタの番号を調べます。
私はこれをあなたに渡します。ご協力いただきありがとうございます。
私はこの問題がどのようなものか分かりません。あなたはC列に "時間括弧"を入れたいと思っています。この "時間括弧"は秒を使わないでB列(時間)とまったく同じようです。だから、なぜあなたは 'C2'セルに次の式を入れて(コピーして)' = TIME(HOUR(B2)、MINUTE(B2)、0) 'をしたらいいのですか?あるいは、私はこの質問の複雑さを過小評価していますか? – Ralph
ねえ、以下は私が欲しかった答えです。 私は十分にはっきりしていたとは思わないが、TIME(x)で時間の操作が可能であることを知らなかったので、それもあります:) –