[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マイクロ秒の計算』(ローストビーフ)
マイクロ秒で表わされる2つの時刻の差を求めたいのですが、 どう定義すればよいのでしょうか? A1セルに時刻1 11:22:33.123456を入力します。 B1セルに時刻2 12:23:34.123556を入力します。 C1セルに時刻2-時刻1の計算結果(01:01:01.000100)を出力させたいのです。 どのようにA1 B1 C1を定義すればよいのでしょうか? 宜しくお願いします。 エクセルのバージョンはExcel2003です。 OSはWindowsXPです。
EXCEL の時間計算は秒単位ですので、ユーザ定義関数でどうでしょうか。 下記を標準モジュールにおいてから、A1,B1 を文字列にして A1=11:22:33.123456 B1=11:22:33.123456 C1=mTimeDiff(A1,B1) とすれば、 C1 に 01:01:01.000100 となります。 (Mook)
Function mTimeDiff(timeA As String, timeB As String) As String Dim trA, trB, timeC, mTimeC trA = Split(timeA, ".") trB = Split(timeB, ".") timeC = TimeValue(trA(0)) - TimeValue(trB(0)) mTimeC = CLng(Left(trA(1) & "000000", 6)) - CLng(Left(trB(1) & "0000000", 6)) If mTimeC < 0 Then mTimeC = mTimeC + 1000000 timeC = timeC - TimeValue("0:0:1") End If mTimeDiff = Application.Text(timeC, "HH:MM:SS") & "." & Right("000000" & mTimeC, 6) End Function
Mookさん ありがとうございます。差分計算できました。 これからVBAも勉強していきます。(ローストビーフ)
重箱の隅つつきだけど。
>時間計算は秒単位 ワークシート上ではミリ秒までの計算に対応してるよ。
表示形式ではhh:mm:ss.000でミリ秒まで表示してくれるよ。 (春日野馨)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.