Excelでテキスト値を時間値に変換する


9

テキストを時間に変換しようとしています。基本的に私は従業員の合計時間をコピーして貼り付けましたが、テキスト値として貼り付けた後、時間を時間に変換する必要があり、各セルでF2を押す必要があります(多くの従業員の場合は多くのセル)そして、これは本当に給与を取得するための時間を追加します。テキスト値から時間値にすばやく変換するために私が実行できる機能を知っていますか?

回答:


5

外部ソースからデータをワークシートに貼り付けた場合(Webページはこれは恐ろしいことです)、数値、日付、および/または時刻は、実際の数値、日付、または時刻ではなく、テキスト表現として表示されます。通常、最も速い方法は、列を選択し、[データ]►[テキストから列へ]►[固定幅]►[完了]を選択します。これにより、Excelはテキスト値を再評価する必要があり、疑似番号を実際の数値に戻す必要があります。

これがテキストまたはカスタムとしてフォーマットされたセルに貼り付けられた数式で発生する場合、最初に列を一般フォーマットに設定し、次にCtrl + Hを使用して次を検索します:=と置換:=そしてExcelは各セルの内容を再評価し、演算式を含む式のように見えるテキスト。

一般的な意味で注目に値する1つの特定の状況は、datetimeのテーブルセルが2行目に折り返されないように、Webページで一般的なノンブレークスペース文字(ASCII 160または0xA0)の使用です。単純に取り除くことができないように見えるスペースがある場合は、Ctrl + Hを使用して、改行しないスペースを従来のスペースに置き換える(または何もしない)。Altテンキーの0・1・6・0を押しながら(Num Lockをオンにして)Altキーを離すと、キーの1つを押し続けると、キーボードで改行されないスペースを生成できます。


驚くばかり!!!大好きです!私の人生をとても簡単にしました!
ジェシカ

7

あなたのようなテキスト値を持っている場合8:00例えば、セル、中J42、そして置きます

=TIMEVALUE(J42)

セルにK42入れると、Excelの日付/時刻値が8時間になります。0.33333333デフォルトでは(8時間は1日のuseであるため)表示されますが、時間値として表示するようにフォーマットすることができます。また、必要に応じて、列をコピーして列にK値を貼り付けるJと、テキスト値を削除して日付/時刻値のみを保持できます。

TIMEVALUE()負の値は扱いません。データに負の時間が含まれる可能性がある場合-8:00(タイムシートの修正や以前に入力したデータに対するその他の調整があるためなど)、-明示的に処理する式が必要です。

=IF(LEFT(J42,1)="-", -TIMEVALUE(RIGHT(J42,LEN(J42)-1)), TIMEVALUE(J42))

次のように-0:30フォーマットされた負の時間についてはどうですか[h]:00
Pierre

@Pierre:それは興味深い質問/観察です。(1)質問は従業員のタイムシートと給与に関するものであるため、ジェシカが負の値を持つことはありそうにありません(以前に入力されたデータの修正としての場合を除く)。しかし、私はそれをシールドとして使用しません。私は、合理的な入力を処理する答えがあればいいと思います。(2)記録として、他の回答はいずれも負の値をサポートしていません。(3)実際、-0:30セルに入力しても機能しません(ただし、驚くべきことに、-"0:30"機能します)。…(続き)
G-Manが 'Reinstate Monica'を

(続き)…(4)さらに、あなたの質問は誤った前提に基づいているようです:Excel 2013では、セルに入力し-"0:30"たり=-1/48セルに入力したりしても、次のように表示できません-0:30—カスタム形式[h]:00は機能しません私。(5)この質問を真剣に受けている場合、答えは-明示的に処理する式です=IF(LEFT(J42,1)="-", -TIMEVALUE(RIGHT(J42,LEN(J42)-1)), TIMEVALUE(J42))。私はそれを徹底的にテストしていません。失敗するケースを見つけたら、通知してください。
G-Manは 'Reinstate Monica'

2

11:42:47.294あなたがこの式を使うことができるような時のために:

=TIME(MID(B13,SEARCH(":",B13,1)-2,2),MID(B13,SEARCH(":",B13,6)-2,2),MID(B13,SEARCH(":",B13,6)+1,6))

1

Substitue関数とTimeValue関数を組み合わせて、余分なスペースや他の文字を削除して、適切な形式の時間を残すこともできます。

EX

=TIMEVALUE(SUBSTITUTE(A1," PST","")) 

末尾のスペースと「PST」を取り除き、TimeValue関数が「11:58 AM PST」を含むセルA1で機能できるようにします


これはこの質問にはあまり関係がないかもしれません(つまり、この質問をしたジェシカにとって)。問題は、従業員のタイムシートと給与についてです。私の限られた経験では、タイムシートは、タイム含ま期間ではなく、時間の瞬間を。たとえば、ある人が午前9:00から午後5:00まで(あるタイムゾーンで)働いた場合、タイムシートには "8:00"(9〜5の8時間の期間)のみが表示され、差は 17になります。 00−9:00)。しかし、この追加のステップは、検索の結果としてこの質問を見つけた他の人にとって、何らかの助けになるかもしれないと思います。
G-Manは 'Reinstate Monica'

0

すべてではなく、列全体を強調表示してみてください。次に、Text to Columnsをクリックします。奇妙に聞こえます、私は知っています。次に、[完了]をクリックします。時刻や日付を通常の時刻や日付に魔法のように変換します。


3
質問に答える前に、受け入れられた答えを読むことをお勧めします。それはあなたが言ったことと同じです。私はあなたの答えのために付加価値を見ません
Prasanna

0

数式がない場合(時間値の前に等号がない)、最初の検索/置換ソリューションを利用することもできますが、次のように検索します:AMおよび置換:AM、次に検索:PMおよび置換:PM。

これにより、Excelはテキスト値を時間値に再評価します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.