Excel Wenn Funktion HILFE?


01.07.2024, 20:50

Neu

4 Antworten

Bild zum Beitrag

ich glaube du hast die Syntax von WENN noch nicht ganz verinnerlicht 2 Fehler sind mir aufgefallen

  1. du kannst nicht mehrere WENN mit einem voranstehenden = in eine Formel schreiben, das "=" kennzeichnet nur den Beginn einer Formel
  2. wenn du das wenn abschließt bevor das wenn der nächsten beginnt führt dies zu einem Fehler, da Excel hier nicht mehr weiterprüft, die Klammer der ersten Funktion in diesem Falle Wenn muss immer alle Argumente umschließen, sonst ist nach dem schließen der Klammer für Excel die Funktion beendet.

Außerdem berechnet Excel Stunden nicht als Dezimalzahl also 8h sind ungleich 8 sondern Stunden werden in Anteile eines Tages zurückgegeben 12h sind also 0,5

Ich hab das mal auf die schnelle nachgebaut und habe deine Formel so gut wie möglich weiter verwendet.

Bei dem klassischen wenn braucht keine Angaben von bis, hier reicht dir ein >= oder <=, je nach dem aus welcher Richtung du prüfst du musst nur aufpassen, dass die Prüfungen nicht aufeinander auf sondern sich gegenseitig widerspruchen.

Bsp. du prüfst ob es größer 4h sind und prüfst im Anschlusss ob es >6h sind, die zweite Prüfung wird gar nicht mehr ausgeführt, da die erste schon wahr war, in dem Fall müsste die Prüfung also umgedreht ablaufen.

=WENN(C14-B14>=8/24;0,75/24;
WENN(C14-B14>=6/24;0,5/24;
WENN(C14-B14>=4/24;0,25/24;0)))

Der Übersichtlichkeit habe ich mal die Formel aufgetrennt, dies geht übrigens mit Alt+Enter.
ich prüfe zu erst ob es mehr als 8h (8/24) sind, ist dies der Fall sollen 0,75h Pause eingetragen werden, wenn nicht wird in die 2 Wenn bedingung gesprungen, da der Falsch Part weggelassen wurde. und das wiederhole ich dann auch in Zeile 3 genauso zum Ende füge ich als Falsch Part noch 0 hinzu, dann wenn alles nicht der Fall ist logischer Weise 0 das richtige Ergebnis sein muss.

Wenn du allerdings die Prüfkriterien schon dort stehen hast würde ich in deinem Fall nicht 8/24 schreiben sondern direkt auf die Zelle verlinken (wichtig $Zeichen setzen)

=WENN(C14-B14>=$B$8;$C$9;
WENN(C14-B14>=$B$7;$C$8;
WENN(C14-B14>=$B$6;$C$7;$C$6)))

möchtest du unbedingt von bis Bereiche verwenden, dann empfiehlt sich die Formel WENNS

=WENNS(UND(C14-B14<$B$6;C14-B14>=0);$C$6;
UND(C14-B14<$B$7;C14-B14>=$B$6);$C$7;
UND(C14-B14<$B$8;C14-B14>=$B$7);$C$8;
C14-B14>=$B$8;$C$9;
1;"Wert ist negativ"

Im Unterschied zu WENN gibst zu jeder Bedingung nur einen Wahr Wert an, ist es nicht wahr wird zur nächsten Prüfung gesprungen und sobald die Bedingung Wahr ist wird der Rest der Formel verworfen und das Ergebnis ausgeworfen.
das 1;"Wert ist negativ" ist die Bedingung falls keine einzige Prüfung richtig war. die 1 bedeutet einfach nur Wahr, also eine Term der immer ausgeführt wird, falls die Formelauswertung bist zu dieser Stelle kommt.

Woher ich das weiß:Berufserfahrung – sowohl Beruf als auch Hobby
 - (Microsoft, Formel, Microsoft Excel)

Gipfelstuermer  04.07.2024, 15:35

Frage an GF erfahrene, kann mir einer eklären warum manche Formeln in rot und manche in schwarz dargestellt werden.

Wenn die Differenz kleiner/gleich 4 ist, macht Excel das, was nach dem Semikolon (;) steht. Und dort fragst Du, ob sie größer als 4 ist. Das kann ja nicht sein.
Wenn Du zwei Bedingungen hast (größer als 4 und kleiner als 6) brauchst Du die UND-Funktion: UND(...>4;...<6).

Hi! Auf erstes Hinsehen stimmen die Klammern nicht.

Die Syntax ist =wenn(Bedingung:dann;sonst)

Verschachtelst Du mehrere wenn's, dann musst Du die Klammersetzung beachten:

=wenn(Bedingung1;dann;wenn(Bedingung2;dann;wenn(Bedingung3;dann;wenn(Bedingung4;dann;sonst))))

Hier ist immer der Sonstwert die nächste Wenn-Bedingung, der eigentliche Sonstwert steht ganz am Schluss und DANACH schließt Du alle Klammern der einzelnen Bedingungen.

Weiterhin ist das Semikolon zwingend zu verwenden, Du hast z.B. nach dem "Dann-Ausdruck" die Klammer zu gemacht und direkt dran =nächster Ausdruck gebaut. Und: am Ende gibt es keinen Sonstwert

Und das dritte: Du erfasst im Format Uhrzeit, das hat auch seine Tücken, denn Excel rechnet ja mit digitalen Zahlen. So sind z.B. 45 Minuten in Excel 0.75.

Versuche aber erstmal die Formel zu berichtigen:

=wenn(c14-b14<=4;0;wenn(c14-b14>4<=6;0,5;wenn(.....;0)))) nur als Hilfestellung, ob das alles so funktioniert müsste ich erstmal ausprobieren

Grösser Kleiner in Deiner Formel stimmt meine ich auch nicht durchgängig.

Die Aufgabe ist komplexer als man meint.

Gruss

.


Dripster123 
Beitragsersteller
 01.07.2024, 20:51

Hi danke, schau mal hab ein neues Bild hochgeladen wieder falsch? Was muss ich nur tun???

DonCredo  01.07.2024, 21:32
@Dripster123

Ja, die Formelsyntax ist soweit ich das auf dem Handy sehen kann und was die Wenn-Formel angeht korrekt.

Aber ich lese zwischen den Zeilen, dass es immer noch nicht geht, oder?

Das liegt m.E. am Thema Rechnen mit Uhrzelten. Ergänze nochmal folgendes:

Bei jeder Subtraktion machst Du anstatt c14-b14 neu (c14-b14)*24 ... das rechnet die Uhrzeit um in einen Dezimalwert ...

Gruss

z.B. so

Bild zum Beitrag

 - (Microsoft, Formel, Microsoft Excel)