Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1708to1712
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ganzzahl funktioniert nicht wegen Rundungsfehler

Ganzzahl funktioniert nicht wegen Rundungsfehler
21.08.2019 08:53:23
Kailash
Hallo Excel Freunde!
In gewissen Situationen funktioniert Ganzzahl nicht, weil Excel Rundungsfehler macht.
Hab es mit einer eigenen Funktion probiert, die aber auch nicht immer einwandfrei funktioniert.
Habe ne Beispiedatei gemacht.
Man muss nach rechts scrollen. Da wo die Berechnungen Fehler hervorbringt ist es gelb markiert.
https://www.herber.de/bbs/user/131540.xlsm
Was ich machen will:
Es gibt ein 15 Wochen Arbeitsschichtplan, der sich alle 15 Wochen wiederholt.
Der fängt irgendwann an (Startdatum) und läuft.
Nun möchte ich wissen welche Woche im Schichtplan gerade dran ist, z.B. am heutigen Datum.
Dazu rechne ich:
Aktuelles Datum - Startdatum = Anzahl Tage
Anzahl Tage/105 (105 kommt von 15 Wochen * 7 Tage)
Das ergibt meistens eine Dezimalzahl.
Von der nehme ich die Dezimalstellen (Anzahl Tage minus Ganzzahl(Anzahl Tage)) und multipliziere mit 15 (Wochen), dann noch +1
Ich habe das ganz viele Stunden mit zugebracht und finde keine Lösung.
Mir scheint die Funktion Ganzzahl ja recht unnötig zu sein, weil sie ja ohnehin nicht ordentlich funktioniert.
Hat jemand von euch ne Idee wie man das lösen kann?
Viele Grüsse

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ganzzahl funktioniert nicht wegen Rundungsfehler
21.08.2019 09:04:06
ede
Guten Morgen,
ohne deine Datei zu betrachten würde ich folgende Lösung anbieten:
=kalenderwoche(aktuelles-Datum) - kalenderwoche(startdatum) + 1
(den Überlauf natürlich abfangen)
gruss
ede
AW: Ganzzahl funktioniert nicht wegen Rundungsfehler
21.08.2019 10:25:02
Daniel
Hi
nicht Ganzzahl ist das Problem, sondern das generelle Problem von Computern, aufgrund von begrenzten Kapazitäten in manchen Fällen nicht ganz genau rechnen zu können und dann kommt es zu minimalen Abweichungen im Ergebnis.
kannst du im Prinzip damit vergleichen, dass 1/3 + 1/3 + 1/3 im Dezimalsystem gerechnet nicht 1 ergibt, sondern 0,9999999999999 (halt mit sovielen Stellen, wie du darstellen kannst)
das ist in Verbindung mit Ganzzahl natürlich ein Problem, wenn wie bei dir in der ersten gelben Zelle (S11) nicht 2 das Ergebnis ist, sondern 1,9999999999995.
Ganzzahl rundet dann natürlich ab.
Eine mögliche Abhilfe wäre hier, dass du vor der Anwendung von Ganzzahl erst nochmal auf eine bestimmte Stellenzahl rundest, um diesen Fehler zu eleminieren: =Ganzzahl(Runden(...;8))
ansonsten kannst du auch ein etwas einfacheres Formelwerk verwenden:
für Wochentag kannst du auch einfach die Formel in Zeile 8 verwenden: =Wochentag(E16;2)
und die Woche im Schichtplan mit Hilfe von REST: =Rest(Ganzzahl((E16-$D$1)/7;15)+1
Gruß Daniel
Anzeige
AW: Ganzzahl funktioniert nicht wegen Rundungsfehler
21.08.2019 13:43:33
Kailash
Hallo Daniel!
ohne deine Hilfe wäre ich nicht weiter gekommen. Danke! So eine Erleichterung!
Ich hatte schon Runden und Rest am Wickel gehabt, es aber nicht zustande gebracht.
Das mit dem Runden verstehe ich aber noch nicht (obwohl es funktioniert). Erst mal ohne Runden:
in Spalte JR:
Schrittweises Ausrechnen der Formel:
=GANZZAHL(15*(((JR23-$D$1)/105)-GANZZAHL((JR23-$D$1)/105))+1)
=GANZZAHL(15*((693/105)-GANZZAHL(693/105))+1)
=GANZZAHL(15*(6,6-GANZZAHL6,6)+1)
=GANZZAHL(15*(0,6+1)
=GANZZAHL(15*0,6+1)
=GANZZAHL(10)
Ich sehe da nichts was gerundet werden muss.
Trotzdem, wenn man es nicht Schrittweise ausrechnen lässt, dann ist das Resultat:
=GANZZAHL(9,99999999999999)
Wie kommt das denn?
Und woher weiss ich dass ich auf die 8. Stelle runden muss? Und was hat das für Auswirkungen auf die 8. Stelle zu runden. Die Zahl vor dem Komma ändert sich davon doch nicht, oder?
Viele Grüsse!
Anzeige
AW: Ganzzahl funktioniert nicht wegen Rundungsfehler
21.08.2019 14:05:23
Daniel
Hi
ich habs dir doch versucht zu erklären.
der Rechner hat für jede Zahl nur einen begrenzten Speicherplazt (64-Bit für Double)
nun gibt es aber in jedem Zahlen- und Darstellungssystem Werte, die dich bei begrenztem Platz nicht ganz genau darstellen lassen (z.B der Bruch 1/3 im Dezimalsystem, entweder bist du mit 0,3333333 zu klein oder mit 0,33333334 zu groß, aber ganz genau triffst du den Wert nicht)
Computer müssen auch noch mit 2 Systemen umgehen (Dezimal für den Anwender, Dual für die interne Berechnung), so dass es eine ganze Reihe von Werten gibt, für die das Problem zutrifft.
das führt dann diesen kleinsten Abweichungen in den letzten Nachkommastellen.
normalerweise ist das nicht Schlimm, aber wenn Exakte Grenzwerte wie bei Vergleichen = oder eben Rundungen gefordert sind, können diese minimalen Abweichungen sichtbar werden.
welchen Wert du dann beim Runden einsetzt, ist eigentlich egal.
das hängt davon ab, bis zu welcher Nachkommastelle die Betrachtung für deine Berechnung notwendig ist (du teilst durch einen Wert zwischen 100 und 1000 also brauchst du mindestens 3 exakte Nachkommastellen) und ab welcher Stelle diese Ungenauigkeiten auftauchen, der Wert fürs Runden sollte irgendwo dazwischen liegen.
Gruß Daniel
Anzeige
AW: Ganzzahl funktioniert nicht wegen Rundungsfehler
21.08.2019 14:28:08
Kailash
Hallo Daniel!
Und welche Zahl wird da nicht richtig angezeigt?
Das scheint nach meinen Rechenkünsten zu stimmen:
693/105 = 6,6
oder?
Viele Grüsse
AW: Ganzzahl funktioniert nicht wegen Rundungsfehler
21.08.2019 17:52:54
onur
=GANZZAHL(15*(0,6+1)
=GANZZAHL(15*0,6+1) ? Falsch! Richtig: =GANZZAHL(15*1,6)
=GANZZAHL(24)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige