00:02:02.300のようなタイムスタンプが残るという問題があります:時間-分-秒-ミリ秒。
そして必死にそれを合計秒数に変換する必要があります。私にはミリ秒のビットがあり、Excelには明確なフォーマットがないため、ミリ秒を簡単に「クリップ」することができないため、これはトリッキーです。最良の場合のシナリオでは、合計秒数と6528.32などのミリ秒が必要になります。
タイムスタンプが常にその形式(HH:mm:ss.SSS)であることが確実な場合は、次のExcel関数を使用できます(タイムスタンプがセルA1にあり、テキストのようにフォーマットされている場合):
=VALUE(RIGHT(A1, 6))+60*VALUE(MID(A1, 4, 2))+3600*(LEFT(A1, 2))
タイムスタンプが00:02:02.300
、これは結果122.3
。
日付としてフォーマットされている場合は、さらに簡単です。
=A1*86400
(Excelは時間を1日の端数として保存するため、たとえば、12:00:00は24時間の半分であるため0.5として保存されます)
セルに_00:02:02.300
_がある場合、テキストとしてフォーマットされていると、このように表示されることがあります1、または別の形式になっていると、表示が異なる場合があります。
トリックは、秒とミリ秒のみを取得するのが簡単です。つまり、_122.300
_です。
まず、_00:02:02.300
_がセルA1にあると仮定します。それを強調表示し、数値としてフォーマットします。ナンセンスに見えるものを表示します。たぶん0.00。セルB1に移動し、_=A1*86400
_と入力します。セルB1には_122.3
_が含まれます。末尾のゼロを取得するには、B1を数値としてフォーマットし、好みに合わせて調整します。
グロルフィンデルのVALUE
解を正しく与えるには、式は次のようになります。
_=VALUE(3600*LEFT(A1,2))+VALUE(60*(MID(A1,4,2))+VALUE(MID(A1,7,2))+VALUE(MID(A1,9,3))
_
この式が何をしているかを説明します。セル_A1
_をテキスト文字列として調べ、その一部を数値に変換し、それらを適切に加算して合計秒数にします。 4つの部分があります。
VALUE(3600*LEFT(A1,2))
VALUE(60*(MID(A1,4,2))
VALUE(MID(A1,7,2))
VALUE(MID(A1,9,3))
文字列_00:02:02.300
_を見ると、基本的には_:
_と_.
_で区切られた4つの数値であることがわかります。これらの4つの数値はそれぞれ、左から右に、上記の4つの部分に対応しています。
VALUE(3600*LEFT(A1,2))
は_00
_、時間の場所を秒に変換しています。項目2は次の数値_02
_で機能し、それを分に変換します。等々。ここで、完全な式で、上記のリストの各項目がadded_+
_にまとめられていることに注意してください。これにより、秒と小数点以下の_122.3
_が得られます。この数式の内容を理解できない場合は、Excelでゆっくりと入力し、自動的に表示される数式のヒントに注意してください。各パーツの機能が正確にわかります。
上記のリストのすべての項目を独自の個別のセルに入れると、出力は次のようになります。
0
_120
_2
_0.3
_まとめて、何を手に入れますか?ビビディバビディブー!それらを合計して、それが_0 + 120 + 2 + 0.3 = 122.3
_です。2
データをさらに整理して管理するために、新しいセルデータをすべて秒と小数でコピーし、値のみとして貼り付けることをお勧めします-)新しいセルに。
02
_と_300
_を分離する必要があるのでしょうか? _.300
_は秒の一部であり、_02
_も秒です。彼らは同じものです。まあ、将来のデータには、_,
_や_;
_のように、将来的に独特の区切り文字が含まれる可能性があります。私が持っているデータは、それを_;
_で区切っており、末尾の数字は実際にはその時間枠内のビデオのフレームなので、小数秒を取得するために追加の計算を行う必要があります。RE:#VALUE!エラー
RE:Value()関数
例(XLワークシートを使用してセルを入力およびフォーマットする)
A1カスタム形式としてhh:mm:ss.000とし、16:48:30.001と入力します
B1の一般的な形式で問題ありません。数式を入力してください:= TIMEVALUE(TEXT(A1、 "hh:mm:ss.000"))
C1数式を入力:= TIMEVALUE(A1)
結果:
A1 16:48:30.000 B1 0.700347222 C1 #VALUE!
セル式のコメント:
A1:16:48:30.000はVALUEで入力しただけで、セルはhh:mm:ss.000の形式になります
B1:= TIMEVALUE(TEXT(A1、 "hh:mm:ss.000"))これは機能しますTEXT(..)は、A1のVALUEを "hh:mm:ss.000"の形式でTEXTに変換します。 TIMEVALUE関数は
C1:= TIMEVALUE(A1)-#VALUE! A1はVALUE ALREADYであるため、テキストのようにフォーマットされています。