Konvertieren Sie die Excel-Textzeichenfolge in Time

28346
Charlls

Ich versuche, aus einem ALTEN System zu exportieren, das Time In / Time Out als Textzeichenfolge in 24 Stunden gespeichert hat .

Zum Beispiel 3pm wird als 1500 eingegeben (kein Doppelpunkt)

Gibt es eine einfache Möglichkeit, diese Werte mit AM / PM in eine 12-Stunden-Zeit umzuwandeln?

Ich habe über 3000 Einträge - und bin fast schon damit beschäftigt, manuell zu bearbeiten. Bitte, nehmen Sie Ihre Anregungen entgegen.

0
Was haben wir für das Format HH: mm: ss.SSS? vor 12 Jahren 0

6 Antworten auf die Frage

3
Tracy Probst

Angenommen, der Wert befindet sich in Zelle A1, verwenden Sie diese Formel:

=TIMEVALUE(LEFT(A1,LEN(A1)-2)&":"&RIGHT(A1,2))

Es wird angenommen, dass der Wert für die Stunde 1 oder 2 Ziffern und für die Minute immer 2 Ziffern ist. Zum Beispiel: 1500 = 15:00 Uhr, 900 = 9:00 Uhr. Möglicherweise müssen Sie die Zelle statt einer Zahl als Uhrzeit formatieren.

Wenn Sie Werte haben, die vor 1:00 Uhr morgens liegen und Ihre Daten keine führenden Nullen haben, möchten Sie stattdessen diese komplexere Formel:

=TIMEVALUE(IF(LEN(A1)>2,LEFT(A1,LEN(A1)-2),"0")&":"&RIGHT(A1,2))

2
Robert Chudek

In Excel 2003 funktionierten diese Formeln einwandfrei, bis sie eine Zeit ohne Stundenzahl (die erste Stunde nach Mitternacht) fanden und dann einen #VALUE!Fehler auslösten. Ich fügte eine IF-Anweisung hinzu, um die erste Stunde zu behandeln, in der es nur einzelne oder doppelt nummerierte Minuten gab: -

= TIMEVALUE (IF (LEN (A1) <= 2, "0:" & RECHTS (A1,2)) (LINKS (A1, LEN (A1) -2) & ":" & RECHTS (A1,2))))

Da ich späte Antworten überprüfe, würde ich vorschlagen, das Format "Codeblock" mit 4 Leerzeichen anstelle des Zitatstils zu verwenden. Ansonsten vielen Dank für die Antwort. ^ 1 eckes vor 11 Jahren 0
1
Lance Roberts

Diese von Dave und Tracy geänderte Formel gibt die gewünschte Zeichenfolge aus und erfordert keine Formatierung der Zelle:

=TEXT(LEFT(A1,LEN(A1)-2) &":"& RIGHT(A1,2), "h:mm AM/PM")

Wenn Sie nur Stunden wünschen, ändern Sie h: mm in h.

1
z666zz666z

Wenn Sie die Uhrzeit auf solche numerische Weise haben (900 -> 9 Uhr) oder (0900 -> 9 Uhr) [ohne Doppelpunkt]

Es gibt einen viel einfacheren Weg, um es in ein Zeitformat umzuwandeln.

  • Funktion INT(YourCell/100)als Stundenteil verwenden
  • Funktion MOD(YourCell;100)als Minutenteil verwenden
  • Wert 0als zweiten Teil verwenden

Verwenden Sie dann die Funktion TIME, um es in einen Zeittyp umzuwandeln, sodass alle zusammen wie folgt aussehen würden:

  • =TIME(INT(YourCell/100);MOD(YourCell;100);0)

Jetzt müssen Sie nur noch das gewünschte Zeitformat angeben (13:30 Uhr in der Liste für Zeit).

Der Trick ist, dass, wenn Sie sich durch ein Hundert teilen und den ganzzahligen Teil nehmen, Sie den Minutenanteil verlieren, so dass Sie die "Stunden" haben, durch den anderen Teil, wenn Sie das Modul der Teilung durch Hundert nehmen, erhalten Sie den Minutenanteil den Stundenanteil verlieren ... dann müssen Sie sie nur noch kombinieren.

1
Milk Man

Die Antwort ist viel einfacher. Ich hatte das gleiche Problem.

Verwenden Sie ein benutzerdefiniertes Format 00\:00für die Eingabezelle.

Um diese Zelle in eine tatsächliche Zeit umzuwandeln, verwenden Sie diese
=TIME(TRUNC(A1/100),MOD(A1,100),0)

Funktioniert perfekt für mich ;)

Quelle: http://www.pcmag.com/article2/0,2817,2316755,00.asp

0
DaveParillo

Sie wissen nicht genau, wie Ihre Werte in Ihren Zellen gespeichert werden, dh sind sie doppelt zitiert? mit einem einfachen Anführungszeichen versehen? Es wird wichtig, wie die führende 0 behandelt wird.

Sie könnten versuchen:

=TEXT(LEFT(A1,2) &":"& RIGHT(A1,2), "hh:mm AM/PM") 

Ich gehe davon aus, dass dies für die meisten Einträge funktioniert (morgendliche Einträge können ein Problem sein).