テキストを時間に変換しようとしています。基本的に私は従業員の合計時間をコピーして貼り付けましたが、テキスト値として貼り付けた後、時間を時間に変換する必要があり、各セルでF2を押す必要があります(多くの従業員の場合は多くのセル)そして、これは本当に給与を取得するための時間を追加します。テキスト値から時間値にすばやく変換するために私が実行できる機能を知っていますか?
外部ソースからデータをワークシートに貼り付けた場合(Webページはこれは恐ろしいことです)、数値、日付、および/または時刻は、実際の数値、日付、または時刻ではなく、テキスト表現として表示されます。通常、最も速い方法は、列を選択し、[データ]►[テキストから列へ]►[固定幅]►[完了]を選択します。これにより、Excelはテキスト値を再評価する必要があり、疑似番号を実際の数値に戻す必要があります。
これがテキストまたはカスタムとしてフォーマットされたセルに貼り付けられた数式で発生する場合は、最初に列をGeneral形式に設定し、次にCtrl + Hを使用して次を検索します:=および置換:= =そしてExcelは各セルの内容を再評価し、数式のように見えるテキストを演算式に置き換えます。
一般的な意味で注目に値する1つの特定の状況は、日付時刻のテーブルセルが2行目に折り返されないように、Webページで一般的なノンブレークスペース文字(ASCII 160または0xA0)の使用です。単純に取り除くことができないように見えるスペースがある場合は、Ctrl + Hを使用して、改行しないスペースを従来のスペースに置き換える(または何もしない)。テンキーの0・1・6・0をタップしながら(Num Lockをオンにして)Alt
キーを離すと、Alt
キーの1つを押し続けると、キーボードで改行なしスペースを生成できます。
たとえば、セル8:00
にJ42
のようなテキスト値がある場合は、
=TIMEVALUE(J42)
セルK42
に入力すると、Excelの日付/時刻値が8時間になります。デフォルトでは0.33333333
として表示されます(8時間は1日の⅓であるため)が、時刻値として表示するようにフォーマットすることができます。また、必要に応じて、列K
をコピーし、列J
に値を貼り付けて、テキスト値を削除し、日付/時刻値のみを保持することもできます。
TIMEVALUE()
は負の値を処理しません。 -8:00
のようにデータに負の時間が含まれる可能性がある場合(以前に入力したデータにタイムシートの修正やその他の調整があるため)、-
を明示的に処理する式が必要です。
=IF(LEFT(J42,1)="-", -TIMEVALUE(RIGHT(J42,LEN(J42)-1)), TIMEVALUE(J42))
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))
Substitue関数とTimeValue関数を組み合わせて、余分なスペースや他の文字を削除して、適切な形式の時間を残すこともできます。
EX
=TIMEVALUE(SUBSTITUTE(A1," PST",""))
末尾のスペースと「PST」を取り除き、TimeValue関数が「11:58 AM PST」を含むセルA1で機能できるようにします
式がない場合(時間値の前に等号がない)、最初の検索/置換ソリューションを利用することもできますが、次のように検索します:AMと置換:AM、次に検索:PM and交換:PM。
これにより、Excelはテキスト値を時間値に再評価します。
すべてではなく、列全体を強調表示してみてください。次に、Text to Columnsをクリックします。奇妙に聞こえます、私は知っています。次に、[完了]をクリックします。それは魔法のように時間や日付を通常の時間や日付に...テキストに対して変換します。