Berücksichtigung der Zeit in einer Formel (Microsoft Excel)
Ken möchte den Inhalt einer Zelle basierend auf der Tageszeit anzeigen. Wenn beispielsweise Zelle C1 die NOW-Funktion (für die Tageszeit) enthält, möchte er in einer anderen Zelle eine Formel, die diese Zeit überprüft. Wenn es vor 17:00 Uhr ist, zeigt die Formel den Inhalt der Zelle E1 an.
Wenn die Zeit nach 17:00 Uhr liegt, zeigt die Formel den Inhalt der Zelle F1 an. Ken ist sich nicht sicher, wie er die IF-Anweisung ausarbeiten soll, damit sie die Zeit richtig überprüft.
Der Schlüssel zur Ausführung dieser Aufgabe besteht darin, sich daran zu erinnern, wie Excel Zeiten und Daten intern speichert. Wenn Sie die NOW-Funktion verwenden, wird eine Seriennummer zurückgegeben, die das aktuelle Datum und die aktuelle Uhrzeit darstellt. Alles in dieser Seriennummer links vom Dezimalpunkt ist das Datum und alles rechts die Uhrzeit. Entfernen Sie den Datumsanteil, bevor Sie Ihren Vergleich durchführen, und vergleichen Sie dann Äpfel mit Äpfeln (sozusagen).
Eine Möglichkeit, den Datumsanteil der Seriennummer zu entfernen, ist folgende:
=IF(C1-INT(C1)<TIME(17,0,0),E1,F1)
Die TIME-Funktion gibt nur den Zeitanteil einer Datums- / Uhrzeit-Seriennummer für die in den Parametern angegebenen Stunden, Minuten und Sekunden zurück. Da Sie 17:00 Uhr möchten, muss nur der Stundenanteil auf 17 gesetzt werden.
Eine andere Möglichkeit, den Datumsbereich der Seriennummer zu entfernen, besteht darin, die MOD-Funktion folgendermaßen zu verwenden:
=IF(MOD(C1,1)<TIME(17,0,0),E1,F1)
Die Funktion gibt den Rest zurück, nachdem der Wert in C1 durch 1 geteilt wurde.
Der Rest ist in diesem Fall alles rechts vom Dezimalpunkt – der Zeit.
Der vielleicht einfachste Weg, den Vergleich durchzuführen, besteht darin, eine Berechnung des Werts in C1 insgesamt zu überspringen. Verwenden Sie stattdessen die HOUR-Funktion auf folgende Weise:
=IF(HOUR(C1)<17,E1,F1)
Die HOUR-Funktion überprüft die Datums- / Uhrzeit-Seriennummer in Zelle C1 und gibt abhängig von der durch diese Seriennummer dargestellten Tageszeit einen Wert von 0 bis 23 zurück. Vergleichen Sie dies mit 17 (dem Wert der Stunde um 17:00 Uhr), und Ihre Formel kann den gewünschten Wert basierend auf der Tageszeit anzeigen.
Es ist wichtig zu beachten, dass die NOW-Funktion (von der Ihre Formel abhängt) nur aktualisiert wird, wenn das Arbeitsblatt aktualisiert wird. Dies bedeutet, dass wenn Ihr Arbeitsblatt um 16:55 Uhr aktualisiert und erst um 17:10 Uhr erneut aktualisiert wird, die Formel während dieser 15 Minuten den Wert „vor 17:00 Uhr“ zurückgibt, da sie ihn noch nicht kennt ist nach 17.00 Uhr bis zur Neuberechnung.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (12889) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365.