Excel Wenn-Dann Berechnung mit falschem Ergebnis
Hallo nochmal,
in der gleichen Datei, wie aus meinem letzten Thread, gibt es noch ein Problem mit einer Wenn-Dann Berechnung.
Ich versuche es mal an einem Beispiel zu erklären:
Es geht um Werte, die (nicht gleichzeitig) manuell in 4 Zellen eingetragen werden und die in der 5. Zelle berechnet werden sollen.
Am Ende steht...
- in Zelle B5 der Wert 8
- in Zelle C5 der Wert 12
- in Zelle D5 der Wert 13
- in Zelle E5 der Wert 20
- in Zelle F5 das Ergebnis mit 11 --> das ergibt sich aus 20 - 8 abzüglich des Ergebnisses von 13 - 12
Die Berechnung soll wie folgt geschehen:
- wenn in B5 nichts steht, soll F5 leer bleiben
- wenn in B5 etwas steht, aber in C5 noch nichts, soll F5 auch noch leer bleiben
- wenn in B5 + C5 etwas steht, dann soll gerechnet werden C5-B5 (das Zwischenergebnis wäre in meinem Fall 4)
- wenn nun zusätzlich noch etwas in E5 steht, dann soll gerechnet werden...
Meine bisherige Formel dazu:
Dabei erscheint jedoch als Ergebnis 4 statt 11. Es bleibt also der Wert der dritten Berechnung stehen (C5-B5).
Und ich habe schon massenhaft Formel-Konstellationen ausprobiert... auch schon mit einer Hilfszelle. Aber auch wenn ich diese in die Formel integriere, erhalte ich nicht die 11 als Eregebnis.
Was mache ich falsch?
Grüße,
Yan
in der gleichen Datei, wie aus meinem letzten Thread, gibt es noch ein Problem mit einer Wenn-Dann Berechnung.
Ich versuche es mal an einem Beispiel zu erklären:
Es geht um Werte, die (nicht gleichzeitig) manuell in 4 Zellen eingetragen werden und die in der 5. Zelle berechnet werden sollen.
Am Ende steht...
- in Zelle B5 der Wert 8
- in Zelle C5 der Wert 12
- in Zelle D5 der Wert 13
- in Zelle E5 der Wert 20
- in Zelle F5 das Ergebnis mit 11 --> das ergibt sich aus 20 - 8 abzüglich des Ergebnisses von 13 - 12
Die Berechnung soll wie folgt geschehen:
- wenn in B5 nichts steht, soll F5 leer bleiben
- wenn in B5 etwas steht, aber in C5 noch nichts, soll F5 auch noch leer bleiben
- wenn in B5 + C5 etwas steht, dann soll gerechnet werden C5-B5 (das Zwischenergebnis wäre in meinem Fall 4)
- wenn nun zusätzlich noch etwas in E5 steht, dann soll gerechnet werden...
- E5-B5 (das wären 12)
- abzuglich des Ergebnisses von D5-C5 (das wäre 1)
- Ergebnis wären dann 11
Meine bisherige Formel dazu:
=WENN(B5="";"";WENN(UND(B5>0;C5="");"";WENN(UND(B5>0;C5>0);C5-B5;WENN(E5>0;E5-B5-(D5-C5)))))
Dabei erscheint jedoch als Ergebnis 4 statt 11. Es bleibt also der Wert der dritten Berechnung stehen (C5-B5).
Und ich habe schon massenhaft Formel-Konstellationen ausprobiert... auch schon mit einer Hilfszelle. Aber auch wenn ich diese in die Formel integriere, erhalte ich nicht die 11 als Eregebnis.
Was mache ich falsch?
Grüße,
Yan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1121012488
Url: https://administrator.de/contentid/1121012488
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
19 Kommentare
Neuester Kommentar
Moin Yan,
Da dich das Thema des Öfteren beschäftigt.
Die Hilfe, in den Microsoft Produkten, ist nicht mehr so Textlastig wie zu Disketten-Zeiten.
https://support.microsoft.com/de-de/excel
Das online Angebot, hat es auch in sich.
Howto's in Schrift und Videos.
Gruß
C.C.
Da dich das Thema des Öfteren beschäftigt.
Die Hilfe, in den Microsoft Produkten, ist nicht mehr so Textlastig wie zu Disketten-Zeiten.
https://support.microsoft.com/de-de/excel
Das online Angebot, hat es auch in sich.
Howto's in Schrift und Videos.
Gruß
C.C.
=WENN(ODER(B5="";C5="");"";WENN(E5>0;(E5-B5)-(D5-C5);C5-B5))
Zitat von @Yan2021:
Aber nach Eingabe NUR der Zahl 8 in B5 (alle anderen Felder bleiben frei), erscheint im Feld F5 das hier --> "###########"
Hätte eigentlich gedacht das du den absichtlich von mir eingebauten Fehler nun selbst findest ... einfach das UND durch ODER ersetzen ... tja falsch gedacht, das kommt halt vom copy n paste syndrom ...Aber nach Eingabe NUR der Zahl 8 in B5 (alle anderen Felder bleiben frei), erscheint im Feld F5 das hier --> "###########"
NEVER TRUST FOREIGN CODE ! ALWAYS THINK BEFORE YOU USE IT.
Moin,
na Excel macht genau das, was Du sagst:
B5 und C5 sind auch dann größer Null (wird nur mit positiven Zahlen gerechnet? Besser wäre ISTZAHL()), wenn in E5 etwas steht. Damit wird die vierte Bedingung nie erreicht.
hth
Erik
na Excel macht genau das, was Du sagst:
> =WENN(B5="";"";WENN(UND(B5>0;C5="");"";WENN(UND(B5>0;C5>0);C5-B5;WENN(E5>0;E5-B5-(D5-C5)))))
>
B5 und C5 sind auch dann größer Null (wird nur mit positiven Zahlen gerechnet? Besser wäre ISTZAHL()), wenn in E5 etwas steht. Damit wird die vierte Bedingung nie erreicht.
=wenn(oder(b5="";c5="");"";wenn(E5="";c5-b5;e5-b5-d5-c5))
hth
Erik
Moin,
Gerne.
Na dann.
ISTZAHL() ist eine Excelfunktion, die prüft, ob in einer Zelle eine Zahl steht. ISTZAHL(A1) ist also wahr, wenn in A1 irgendeine Zahl steht. Wenn nicht, dann ist es falsch. Das wäre hier besser als die Prüfung >0, denn jede Zeichenkette, die nicht mit Minus beginnt und darauf eine Ziffernfolge, ist größer als Null.
Nein, die beiden Codes sind identisch. Jedenfalls logisch identisch. @149062 dreht in der zweite WENN-Funktion lediglich die Bedingung um. Ich teste, ob die Zelle leer ist, dann berechne ich das, was bei leerer Zelle gerechnet werden soll. @149062 testet, ob was drin steht und dann die bei mir zweite Berechnung. Das ist gehuppt wie gesprungen. Ich persönlich halte es aber für besseren Stil, die Prüfungen der WENNs möglichst einheitlich zu gestalten. Aber das ist eine reine Stilfrage und hat mit der Funktion nichts zu tun.
Liebe Grüße
Erik
Gerne.
Aber sorry, ich habe es nicht wirklich verstanden.
Na dann.
Was meinst Du mit "ISTZAHL())"?
ISTZAHL() ist eine Excelfunktion, die prüft, ob in einer Zelle eine Zahl steht. ISTZAHL(A1) ist also wahr, wenn in A1 irgendeine Zahl steht. Wenn nicht, dann ist es falsch. Das wäre hier besser als die Prüfung >0, denn jede Zeichenkette, die nicht mit Minus beginnt und darauf eine Ziffernfolge, ist größer als Null.
Und Dein Code weicht ja von dem ab, den "evoplus" mir geschrieben hatte (bei der Angabe für "E5").
Code evoplus:
Code Erik:
Code evoplus:
> =WENN(ODER(B5="";C5="");"";WENN(E5>0;(E5-B5)-(D5-C5);C5-B5))
>
Code Erik:
> =wenn(oder(b5="";c5="");"";wenn(E5="";c5-b5;e5-b5-d5-c5))
>
Nein, die beiden Codes sind identisch. Jedenfalls logisch identisch. @149062 dreht in der zweite WENN-Funktion lediglich die Bedingung um. Ich teste, ob die Zelle leer ist, dann berechne ich das, was bei leerer Zelle gerechnet werden soll. @149062 testet, ob was drin steht und dann die bei mir zweite Berechnung. Das ist gehuppt wie gesprungen. Ich persönlich halte es aber für besseren Stil, die Prüfungen der WENNs möglichst einheitlich zu gestalten. Aber das ist eine reine Stilfrage und hat mit der Funktion nichts zu tun.
Liebe Grüße
Erik
Moin,
Nein, da wird nichts gerundet. So lange Du keine Rundungsfunktionen benutzt, rechnet Excel so exakt, wie es kann. Bei den Dimensionen hast Du keine Fehler. Es ist lediglich ein Darstellungsproblem:
Beim Format hh:mm werden Stunden und Minuten angezeigt. Die Sekunden fehlen und, sofern es mehr als 24h sind, fehlen die Tage auch. Also 0,31 wird als 07:28 angezeigt. 1,31 wird auch als 07:28 dargestellt. Usw.
Format hh:mm:ss zeigt die Sekunden mit an. Tage werden wieder weggelassen.
Beim Format [hh]:mm sorgen die eckigen Klammern dafür, dass alle Stunden angezeigt werden. 0,31 wird wieder zu 07:28. Aber 1,31 wird zu 31:28. Hängst Du noch :ss an das Format dran, sind auch wieder die Sekunden sichtbar.
Das kann man dann noch weiter treiben: [hh] würde z. B. nur die aufsummierten Stunden anzeigen. [mm] zeigt das Ganze in Minuten an und [ss] in Sekunden. Eckige Klammern sind nur einmal pro Format bei der größten Angabe erlaubt. Also hh:[mm] oder [hh]:[mm] führt zum Fehler.
hth
Erik
Nein, da wird nichts gerundet. So lange Du keine Rundungsfunktionen benutzt, rechnet Excel so exakt, wie es kann. Bei den Dimensionen hast Du keine Fehler. Es ist lediglich ein Darstellungsproblem:
Beim Format hh:mm werden Stunden und Minuten angezeigt. Die Sekunden fehlen und, sofern es mehr als 24h sind, fehlen die Tage auch. Also 0,31 wird als 07:28 angezeigt. 1,31 wird auch als 07:28 dargestellt. Usw.
Format hh:mm:ss zeigt die Sekunden mit an. Tage werden wieder weggelassen.
Beim Format [hh]:mm sorgen die eckigen Klammern dafür, dass alle Stunden angezeigt werden. 0,31 wird wieder zu 07:28. Aber 1,31 wird zu 31:28. Hängst Du noch :ss an das Format dran, sind auch wieder die Sekunden sichtbar.
Das kann man dann noch weiter treiben: [hh] würde z. B. nur die aufsummierten Stunden anzeigen. [mm] zeigt das Ganze in Minuten an und [ss] in Sekunden. Eckige Klammern sind nur einmal pro Format bei der größten Angabe erlaubt. Also hh:[mm] oder [hh]:[mm] führt zum Fehler.
hth
Erik
Moin,
es wird mit den tatsächlichen Werten gerechnet. Es stehen in Deinen Zellen tatsächlich:
Wird die Berechnung ausgeführt, dann ist das Ergebnis tatsächlich
Und das ist das, was Excel ausgibt. Deshalb sollte man auch bei Arbeitszeitberechnungen auf die nächste volle Minute aufrunden. Dann stimmt alles wieder und es gibt keine verwirrende Anzeige.
Liebe Grüße
Erik
es wird mit den tatsächlichen Werten gerechnet. Es stehen in Deinen Zellen tatsächlich:
0,333981481481481
0,500115740740741
0,521458333333333
0,666898148148148
Wird die Berechnung ausgeführt, dann ist das Ergebnis tatsächlich
0,311574074074074
Und das ist das, was Excel ausgibt. Deshalb sollte man auch bei Arbeitszeitberechnungen auf die nächste volle Minute aufrunden. Dann stimmt alles wieder und es gibt keine verwirrende Anzeige.
Liebe Grüße
Erik
Hallo Yan2021,
versuche einmal folgende Hinweise zu beachten:
Damit sind erst einmal Rechenfehler ausgeschlossen.
versuche einmal folgende Hinweise zu beachten:
- alle beteiligten Zellen Format prüfen auf Standard / Währung ... kein Text !
- Ausrichtung auf Standard, damit sind Problem-Zellen sichtbar
- in der Berechnungs-Formel niemals mit " " / leer arbeiten, nur mit 0 !
- falls die 0 in der Anzeige stört, dann Datei / Optionen / Erweitert / Block: Optionen für dieses Arbeitsblatt "In Zellen mit Nullwerten eine Null anzeigen" abwählen
Damit sind erst einmal Rechenfehler ausgeschlossen.
Hi Yan,
ich möchte dir mal die Excel Kurse auf Coursera empfehlen.
Es gibt 4 Kurse mit Prüfung (Zertifikat) und wenn du die durch hast, dann brauchst du solche Fragen nicht mehr zu stellen.
Die Prüfungen sind nicht easy und du musst wirklich wissen was du tust.
Ich fand sie super und habe viele Dinge gelernt, obwohl ich seit über 20 Jahren mit Excel intensiv arbeite.
grüße vom it-frosch
ich möchte dir mal die Excel Kurse auf Coursera empfehlen.
Es gibt 4 Kurse mit Prüfung (Zertifikat) und wenn du die durch hast, dann brauchst du solche Fragen nicht mehr zu stellen.
Die Prüfungen sind nicht easy und du musst wirklich wissen was du tust.
Ich fand sie super und habe viele Dinge gelernt, obwohl ich seit über 20 Jahren mit Excel intensiv arbeite.
grüße vom it-frosch