|
▼ふぁっしー さん:
こんばんは。
>ただ、ひとつ
>=VALUE(TEXT(SUBSTITUTE(C2,":",".",2),"s.000")-INT(TEXT(SUBSTITUTE(C2,":",".",2),"s.000")))
>のINTが入っている状態だとERRORとなってしまうので、INTをはずした状態にしたらうまくいきました(型が合わないためでしょうか?)。
ん?INT関数を外してしまうと正しい数値は出ないはずなんですが・・・。
VBAで数式のサンプルを作成しました。
新規ブックの標準モジュールに
'=============================================================
Sub main()
With Range("a1")
.NumberFormatLocal = "@"
.Value = "01:00:331"
MsgBox "セルA1の " & .Value & "から、セルA2に秒以下の値を取得します"
With .Cells(2)
.NumberFormatLocal = "G/標準"
.Value = "=VALUE(TEXT(SUBSTITUTE(a1,"":"",""."",2),""s.000"")-" & _
"INT(TEXT(SUBSTITUTE(a1,"":"",""."",2),""s.000"")))"
End With
End With
MsgBox "いかがですか?"
End Sub
上記のmainを実行してみてください。
アクティブシートのセルA1に文字列として01:00:331が入力されます。
このセルA1の値に対して、セルA2に
=VALUE(TEXT(SUBSTITUTE(A1,":",".",2),"s.000")-INT(TEXT(SUBSTITUTE(A1,":",".",2),"s.000")))
という数式で 0.331が取得されるはずです。
再度、確認してみてください。
尚、Excel2002で確認しました。
|
|