Wir können nur durch die Prüfung ein Ende jeder Reihe ein paar Zeichen speichern. Sobald wir einen Wert für weniger als 5 Uhr getestet haben, müssen wir nicht mehr testen, ob es länger als 5 Uhr morgens ist. (Die AND(
Aussagen sind nicht erforderlich.)
=IF(HOUR(A1)<5,"ON",IF(HOUR(A1)<9,"AM",IF(HOUR(A1)<17,"BH",IF(HOUR(A1)<21,"PM","ON"))))
Wenn Sie Wochenenden erkennen wollen, wickeln Sie das Ganze an einem Wochenende zu testen. Zwei Methoden vorgestellt:
- Der bessere Ansatz, vorgeschlagen von @ScottCraner in den Kommentaren:
=IF(weekday(a1,2)>5,"WEEKEND","THE WHOLE THING")
Das erste Argument für weekday(
ist offensichtlich das Datum, das wir testen. Die zweite Kraft am Montag ist der erste Tag der Woche, der die Sonne als die letzten zwei Sat & verlässt.
mit dem Rest Zusammen würden wir bekommen:
=IF(weekday(a1,2)>5,"WEEKEND",IF(HOUR(A1)<5,"ON",IF(HOUR(A1)<9,"AM",IF(HOUR(A1)<17,"BH",IF(HOUR(A1)<21,"PM","ON")))))
- Eine unnötig lange und etwas zerbrechlich Ansatz (Brüche in nicht-englischen)
=IF(LEFT(TEXT(A1,"ddd"),1)="S","WEEKEND","THE WHOLE THING")
Dies funktioniert, weil TEXT(A1,"ddd")
das Datum als den dreistelligen Wochentag formatiert. In Englisch beginnen zumindest beide Wochenendtage mit einem "S", und wir verwenden left(
, um diesen ersten Buchstaben zu erfassen.
Zusammen würden sie aussehen wie am Ende:
=IF(LEFT(TEXT(A1,"ddd"),1)="S","WEEKEND",IF(HOUR(A1)<5,"ON",IF(HOUR(A1)<9,"AM",IF(HOUR(A1)<17,"BH",IF(HOUR(A1)<21,"PM","ON")))))
Hallo alle. Nicht sicher, wie wichtig es ist, aber ich wähle Adams Antwort basierend auf der Tatsache, dass es die ist, die ich benutze. Alle haben sich als richtig erwiesen, aber Adams hatte das Wochenendstück, das half. –