Excel =WENN Uhrzeit zwischen, dann...?
Hallo zusammen. Ich habe folgendes Problem mit Excel zu lösen:
Es ist eine Schichtendifferenzierung zu erstellen.Je schicht muss später der Aufwand berechnet werden.Im ersten Schritt muss ich dafür aber anhand der Uhrzeit die Schichten definieren.Dies wollte ich mit dieser Formel lösen:
=WENN([@Bewegungszeit]>ZEIT(6;0;0);WENN([@Bewegungszeit]<ZEIT(14;30;0);"Frühschicht";WENN([@Bewegungszeit]<ZEIT(14;30;0);WENN([@Bewegungszeit]>ZEIT(22;0;0);"Spätschicht";"Fehler§"))))
Jedoch kommt nur der Wert falsch raus.Die Frühschicht ist zwischen 6:00 Uhr und 14:30 Uhr, die Spätschicht zwischen 14:30 Uhr und 22:00 Uhr.
Danke im vorraus!!
6 Antworten
![](https://images.gutefrage.net/media/user/Suboptimierer/1443606504450_nmmslarge__0_0_160_160_7f828fad18ee7edb96b8daceedaeeadb.png?v=1443606506000)
Du fragst zweimal < 14:30 ab.
Für die Spätschicht musst du beide Vergleichsoperatoren drehen.
Der Übersicht halber würde ich nicht so tief mit WENN schachteln. Du könntest besser UND verwenden, wenn zwei Bedingungen erfüllt sein müssen.
___________________
Generell würde ich den Vergleichsoperator nicht innerhalb der Formel wechseln und entweder von der spätesten Zeit mit > Abfragen beginnen oder von der frühesten Zeit mit < Abfragen.
Wenn Zeiten hier keine Ausnahme darstellen sollten, kannst du sogar besser den SVERWEIS verwenden.
![](https://images.gutefrage.net/media/user/Suboptimierer/1443606504450_nmmslarge__0_0_160_160_7f828fad18ee7edb96b8daceedaeeadb.png?v=1443606506000)
Tipp: Mach eine Spalte für Frühschicht und eine für Spätschicht und definiere die Formeln zunächst einzeln für beide Schichten. Wenn alles passt, kannst du die Formeln relativ leicht zusammenfassen.
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
xl erlaubt seit einiger Zeit die Eingabe im Uhrzeitformat (in Gänsefüßchen*1). Weiß allerdings nicht, was du unter Bewegungszeit verstehst. Wenn das die Kommen-Zeit ist, dann:
=wenn((KommenZelle>"5:00")*(KommenZelle<"13:30"*1);"Frühschicht";"")&Wenn((Kommenzelle>="13:30"*1)*(Kommenzelle<"21:00"*1);"Spätschicht";"")
Das ()*() ist ein funktionales UND, die Zeiten kannst Du selber variieren (hab hier 1h vor Schichtbeginn/-Ende "umgeschaltet")
Da nur eine der beiden Möglichkeiten zutreffen kann, geht ein unverschachteltes aneinanderhängen von zwei unabhängigen WENNs, auch bei Kommen-Zeiten ausserhalb 5:00-21:00 stellt sich die Zelle leer dar (tatsächlich ist natürlich die Formel drin!)
mit dieser Art von Formelanordnung kannst du sie sehr kurz halten und effektiv arbeiten
![](https://images.gutefrage.net/media/user/lasttobi12/1527635678531_nmmslarge__0_19_217_217_f4ffce8dd1f96cce341f6c14d2172d42.jpg?v=1527635679000)
=WENN((A1>=ZEIT(6;0;0))*(B1<=ZEIT(14;30;0));"Frühschicht";WENN((A1>=ZEIT(14;30;0))*(B1<=ZEIT(22;0;0));"Spätschicht";"Fehler"))
In A1 steht die Ankunfts- und in B1 die Verlass-Zeit.
Bin mir nicht sicher, wie genau du mit Bewegungszeit hantierst <.<
Hast du nur 1 Zeit pro Mitarbeiter? Wenn ja, wie kommt diese zustande?
Lg Tobi
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
ist...
![](https://images.gutefrage.net/media/user/qugart/1476264417933_nmmslarge__45_45_810_810_6d2af0996fb46eb206f6109b813bba55.jpg?v=1476264418000)
Sollte funktionieren, wenn du die abgefragte Zeit mit 24 multiplizierst.
Beispiel: =WENN(A1*24>6;1;0)
Steht in A1 06:00 dann ergibt das eine 0. Steht da 06:01, dann ergibt das eine 1.
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Danke so hats funktioniert:
=WENN(UND([@Bewegungszeit]*24>=6;[@Bewegungszeit]*24<14,5);"Frühschicht";"Spätschicht")