Excel wenn(e4-d4 >=6;e4-d4-0,5;e4-d4;wenn(e4 >22;e4-d4+1;e4-d4)) Es wird, nur die erste wennabfrage gemacht die 2nicht ?

... komplette Frage anzeigen

6 Antworten

so nun nochmal von vorne, ich denke diesmal ist alles dabei
1. wenn du länger arbeitest als 6std wird eine halbe Stunde abgezogen
2. wenn du bis 22 Uhr oder danach jedoch nicht später als 6, arbeitest bekommst du eine Stunden gutgeschrieben.
3. wenn du sowohl mehr als 6h als auch bis nach 22 Uhr arbeitest bekommst du eine halbe Stunde gutgeschrieben.

4. ich habe jetzt für mich hier die logischere Angabe der Uhrzeit gewählt, also 6:10 anstelle von 6,166666 was ich bisschen dämlich finde, aber wenn du es lieber mit Zahlen haben willst, dann nimmst du einfach die andere Formel die ich dir noch bereit stelle.
5. Der Tageswechsel ist ebenfalls implementiert (von 22 - 5 Uhr sind also (zuzüglich der oben genannten Faktoren 7,5h.

Zur verdeutlichung was was bewirkt habe ich ein Tabellenblatt angehängt als Bild.
Die erste Formel in der Tabelle lautet:

=WENN(d2<c2;(WENN(ODER(D2>=22/24;D2<=6/24);WENN(D2-C2>=6/24;D2-C2+0,5/24;D2-C2+1/24);WENN(D2-C2>=6/24;D2-C2-0,5/24;D2-C2))+1)*86400/3600;WENN(ODER(D2>=22/24;D2<=6/24);WENN(D2-C2>=6/24;D2-C2+0,5/24;D2-C2+1/24);WENN(D2-C2>=6/24;D2-C2-0,5/24;D2-C2))*86400/3600)

das steht in Spalte E in jeder Zelle (angepasst an die jeweilige Zelle natürlich.

wenn du das haben willst mit normalen Zahlen anstatt mit Uhrzeiten, dann nimmst du einfach den folgenden Code:

=WENN(d2<c2;(WENN(ODER(D2>=22;D2<=6);WENN(D2-C2>=6;D2-C2+0,5;D2-C2+1);WENN(D2-C2>=6;D2-C2-0,5;D2-C2))+24);WENN(ODER(D2>=22;D2<=6);WENN(D2-C2>=6;D2-C2+0,5;D2-C2+1);WENN(D2-C2>=6;D2-C2-0,5;D2-C2)))

sicher lässt sich dieser Code noch etwas optimieren und verkürzen, aber das ist auf jeden Fall der einfälltigste weg;-)
da ich aber das Problem weiterspinnen wollte habe ich noch folgende 2 Formeln hinzugefügt, damit du siehst wie einfach das ganze ist.

=SUMMEWENN($B$2:$E$19;A23;$E$2:$E$19)

damit berechne ich die Arbeitszeit pro Mitarbeiter und steht in den Zellen B23 - B25

=B23-ZÄHLENWENN($B$3:$B$19;A23)*6

hiermit berechne ich die Mehr/weniger Arbeit bei einem 6 Std. Tag und steht in Zelle C23 - 25, ich hoffe ich konnte dir damit weiterhelfen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Kleinwieblitz
10.12.2015, 19:57

Vielen Dank für deine Bemühungen ein Kollege hatte schon geantwortet

Und es geht hier die Formel 

=e4-d4+wenn(e4-d4 >=6;-0,5;0)+wenn(e4>22;1;0)

0

ganz simpel:

wenn(e4-d4 >=6;e4-d4-0,5;wenn(e4 >22;e4-d4+1;e4-d4);)

das erste e4-d4 war zu viel, du musst bei verschachtelten wenn Funktionen immer das "Sonst" Kriterium frei lassen für die Einreihung der nächsten Wenn Funktion, erst bei der allerletzten wenn Funkion wird das sonst attribut ausgefüllt.

Es sei denn das bis 22 Uhr arbeiten ist an eine gewisse Stundenanzahl geknüpft, in dem Fall müsste man es mit eine wenn(und(bedingung1;bedingung2)dann;sonst) Funktion verknüpfen

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Kleinwieblitz
10.12.2015, 13:56

Habe es so eingegeben wie du vorgeschlagen hast er sagt zu viele Argumente wenn ich das letzte ; raus nehme macht er er zieht nur 0,5 ab 12 bis 22 raus kommt 9,5 es fehlt die 1 std. Zuschlag 

0

Du deckst mit der ersten Bedingung evtl die zweite zu: ist e4-d4>=6, ist die Bedingung erfüllt, nach sonst wird dann nicht mehr geschaut.

Evtl kannst Du das in eine solche Formel kleiden:

=Wenn(oder(1.Bed;2.Bed.);Wenn(e4-d4 >=6;e4-d4-0,5;e4-d4+1);e4-d4

Also: ist eine der beiden Bedingjungen erfüllt, dann frag, obs die erste ist und rechne entsprechend, ansonsten ist es zwangsläufig die zweite, rechne also danach. Wenns weder noch ist, dann e4-d4.

Da wird allerdings dann immer noch vorrangig nach der ersten Bedingung gerechnet, je nachdem kannst Du den Vorrang tauschen, vorgeben musst Du ihn. Oder DU SAGST XL; WAS BEI eRFÜLLUNG BEIDER bEDINGUNGEN GESCHEHEN SOLL (das wäre dann eine noch höhere Verschachtelung mit einer vorangestellten =Wenn(UND(Bed1;Bed2):;...;...)-Abfrage.


Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Kleinwieblitz
10.12.2015, 07:06

Habe es probiert komme damit nicht zurecht zB 1.e4-d4>=6;2. usw 

Bin leider kein Profi mich reizt es nur möchte gerne dazu lernen 

Noch einmal zur Aufgabe monatsplan schichtdienst Ca. 10 Mitarbeiter gebe in der ersten Zeile die Daten ein z. B. 12  bis 22. 

in der zweiten rechnet er die Zeit aus ab 6std -0,5 wenn bis 22 dann 1 std Zuschlag am Ende wird alles summiert jeder Tag im Monat von der sollzeit abgezogen istzeit ausgegeben 

0

=WENN(E4>22;E4-D4+1;WENN(E4-D4>=6;E4-D4-0,5;E4-D4))

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Kleinwieblitz
09.12.2015, 17:05

Es wird nur der erste wert ausgegeben -0,5 macht er nicht 

0

sorry mein Fehler hab nen Moment nicht mitgedacht, das sollte die richtige Lösung bringen, du brauchst eine doppelt geschachtelte.
=WENN(E4>22;WENN(E4-D4>=6;E4-D4+0,5;E4-D4);WENN(E4-D4>=6;E4-D4-0,5;E4-D4))

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Kleinwieblitz
10.12.2015, 06:52

Habe es probiert leider macht er es nicht richtig Hilfe 

0

"wenn(e4-d4 >=6;e4-d4-0,5;e4-d4;wenn(e4 >22;e4-d4+1;e4-d4))"

Streiche das e4-d4; vor dem 2. wenn

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Geograph
09.12.2015, 12:10

wenn ( Wenn ; dann ; sonst )

wenn(e4 >22   ;   e4-d4+1   ;   wenn(e4-d4 >=6 ; e4-d4+1 ; e4-d4))

0
Kommentar von Kleinwieblitz
09.12.2015, 13:40

Gebe ich 12 bis 22 ein dann schlägt er 1 dazu 0,5 wird nicht abgezogen es müßte ja 10,5 rauskommen es sind aber 11 LG kleinwieblitz

0

Was möchtest Du wissen?