Konvertieren von numerischen Werten in Zeiten (Microsoft Excel)
Sam hat viele Arbeitsblätter, die Zeiten enthalten. Das Problem ist, dass die Zeiten im Format „1300“ anstelle des Formats „13:00“ vorliegen. Daher sieht Excel sie als reguläre numerische Werte, anstatt sie als Zeiten zu erkennen. Sam möchte, dass sie in tatsächliche Zeitwerte umgewandelt werden.
Es gibt verschiedene Möglichkeiten, wie Sie sich dieser Aufgabe nähern können. Eine Möglichkeit besteht darin, die Funktion TIME zu verwenden, um den Wert in eine Zeit umzuwandeln, wie hier gezeigt:
=TIME(LEFT(A1,2),RIGHT(A1,2),)
Diese Formel geht davon aus, dass die Zeit in Zelle A1 immer vier Ziffern enthält. Wenn dies nicht der Fall ist (z. B. 427 anstelle von 0427), muss die Formel geringfügig geändert werden:
=TIME(LEFT(A1,LEN(A1)-2),RIGHT(A1,2),)
Die Formel zieht im Grunde die am weitesten links stehende Ziffer (oder Ziffern) und verwendet sie für das Stundenargument der TIME-Funktion. Anschließend werden die beiden am weitesten rechts stehenden Ziffern für das Minutenargument verwendet. TIME gibt einen tatsächlichen Zeitwert zurück, der in der Zelle als solcher formatiert ist.
Ein ähnlicher formelhafter Ansatz kann mit der Funktion TIMEVALUE gewählt werden:
=TIMEVALUE(REPLACE(A1,LEN(A1)-1,0,":"))
Diese Formel verwendet REPLACE, um einen Doppelpunkt an der richtigen Stelle einzufügen. Anschließend konvertiert TIMEVALUE das Ergebnis in einen Zeitwert. Sie müssen die resultierende Zelle so formatieren, dass die gewünschte Zeit angezeigt wird.
Eine weitere Variation des formelhaften Ansatzes besteht darin, die TEXT-Funktion folgendermaßen zu verwenden:
=--TEXT(A1,"00\:00")
Dies gibt einen tatsächlichen Zeitwert zurück, den Sie dann richtig formatieren müssen, um als Zeit angezeigt zu werden.
Ein anderer Ansatz besteht darin, einfach die ursprüngliche Zeit zu berechnen, um sie in einen von Excel verwendeten Zeitwert umzuwandeln. Dies ist einfach, wenn Sie erkennen, dass Zeitwerte nichts anderes als ein fraktionierter Teil eines Tages sind. Ein Zeitwert ist also eine Zahl zwischen 0 und 1, die durch Teilen der Stunden durch 24 (die Stunden an einem Tag) und der Minuten durch 1440 (die Minuten an einem Tag) abgeleitet wird. Hier ist eine Formel, die das macht:
=INT(A1/100)/24+MOD(A1,100)/1440
Dies bestimmt den Stundenanteil des ursprünglichen Wertes, der dann durch 24 geteilt wird. Der Minutenanteil (der vom ursprünglichen Wert übrig gebliebene Teil) wird dann durch 1440 geteilt und zum ersten Teil addiert. Sie können das Ergebnis dann als Zeit formatieren und es funktioniert einwandfrei.
Alle bisher beschriebenen Formeln verwenden eine neue Spalte, um die Konvertierungen durchzuführen. Dies ist praktisch, aber Sie möchten den Wert möglicherweise tatsächlich direkt konvertieren, ohne dass eine Formel erforderlich ist. Hier kann ein Makro nützlich sein. Das folgende Makro konvertiert alle von Ihnen ausgewählten Zellen in Zeitwerte und formatiert die Zellen entsprechend:
Sub NumberToTime() Dim rCell As Range Dim iHours As Integer Dim iMins As Integer For Each rCell In Selection If IsNumeric(rCell.Value) And Len(rCell.Value) > 0 Then iHours = rCell.Value \ 100 iMins = rCell.Value Mod 100 rCell.Value = (iHours + iMins / 60) / 24 rCell.NumberFormat = "h:mm AM/PM" End If Next End Sub
Das Makro verwendet eine Ganzzahldivision, um die Anzahl der Stunden (iHours) zu bestimmen, und stopft den Rest in iMins. Dies wird dann auf einen Zeitwert eingestellt und wieder in die Zelle gestellt, die dann als Zeit formatiert wird. Sie können das Zellenformat bei Bedarf in eines der anderen von Excel unterstützten Zeitformate ändern.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2775) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: