スプレッドシート (Excel の Office 2007 バージョン) には、負の時間値であるテキスト エントリがいっぱいあります。たとえば、"-0:07" のように、従業員が仕事を完了するのに予想よりも 7 分もかかりませんでした。これらのエントリに対して数学的計算を実行する必要があり、これまでに思いついたよりも洗練された式/方法を探しています。
1904年の日付システムと*または/を前後に変換することについて知っていますが、問題は、テキスト入力を負の時間値として認識する式を取得することです。
私は value(), *1 を試しました。数値が正の場合、どちらもテキスト フィールドで機能しますが、"-" がそれらを台無しにしているようです。paste-special/add でさえ、これらを数字として認識できません。
これが私が思いついたもので、仕事を成し遂げますが、それは私にはとても醜いです:
=IF(LEFT(E5,1)="-",((VALUE(RIGHT(E5,LEN(E5)-1)))*-1.0),VALUE(E5))
明らかに、私のテキスト エントリは、この例ではセル E5 にあります。
これは機能するので、解決策を切望しているわけではありませんが、教育目的(および小さなコード)のために、これにより良い方法があるかどうかを知りたいです. 短くて簡単なものの提案はありますか?
ありがとう。
PS - ここで興味深い情報です。職場では Excel を使用していますが、自宅では使用していないため、サンプル スプレッドシートを Google ドキュメントにアップロードすると、これらのエントリの Value() コマンドが実際に適切に処理されます。変でしょ?
ご提案いただきありがとうございます。