none
Rechenproblem mit Excel 2007 RRS feed

  • Frage

  • <!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:1; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:0 0 0 0 0 0;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman";} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;} @page WordSection1 {size:612.0pt 792.0pt; margin:70.85pt 70.85pt 2.0cm 70.85pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.WordSection1 {page:WordSection1;} -->

    Hallo,


    bei mir ist ein Problem mit einer Excelkarte unter 2007 aufgetaucht und ich hoffe das Sie dieses Problem hier gelöst werden kann. In einer Exceldatei wird bei einer Berechnung die Funktion REST verwendet, um den Nachkommateil einer Zahl zu berechen.

     

    In der Mappe, die seit 2001 in Gebrauch ist, wird unter Excel 2007 und xlsx-Format an einer Stelle falsch gerechnet. Eigentlich müsste der Rest 0 ergeben, aber mit einer bestimmten Kombination von Zahlen wird als Ergebnis eine "1" ausgegeben. Die Mappe unter Excel 2003 geöffnet, kommt der richtige Wert, nämlich „0“ heraus.


    Hat jemand schon so ein ähnliches Problem gehabt und eine Lösung gefunden ?

     

    Bin gespannt auf die Antworten

     

    Achim

     

     


    Dienstag, 26. Juli 2011 12:41

Alle Antworten

  • Hallo Achim3008...

    das Problem hatte ich zwar noch nicht, könnte mir aber vorstellen, dass er möglicherweise aus einem Rundungsfehler herrührt. Bringt denn die folgende Alternative =A1-KÜRZEN(A1;0) eine Besserung, wenn in A1 die Kommazahl steht?

    Gruß


    MVP Office System - www.excel-ticker.de
    Mittwoch, 27. Juli 2011 17:45
  • Hallo Mourad,

    erstmal danke für die Antwort. Die Formel mit Kürzen funktioniert. Damit kommt als Rest der Wert "0" heraus. Da es immer positive Zahlen sind, würde auch die Formel A1-Ganzzahl(A1) funktionieren.

    Leider ist es kein Rundungsfehler. Das Ergebnis der Berechnung ist 8,000000.

    Du kannst ja mal diese Zahlen in Excel 2003 und 2007 eingeben und dann von H5 den REST(H5;1) berechnen.

    Grüße aus Frankfurt / Main

     

       H5 = ((KÜRZEN(E5)-KÜRZEN(D5))+((REST(E5;1)-REST(D5;1))/0,6))+((KÜRZEN(G5)-KÜRZEN(F5))+((REST(G5;1)-REST(F5;1))/0,6))

       D5 = 7,15,  E5 = 12,  F5 = 12,3,  G5 = 15,45

    Donnerstag, 28. Juli 2011 10:59
  • Hallo Achim,

    diese Ungenauigkeiten sind vermutlich auf die Gleitkommarechnung zurückzuführen und lassen sich auch in anderen Funktionen finden.

    Kannst Du die Stelle und Kombination, bei der die Excel-Funktion REST in Excel 2003 und 2007 unterschiedlich rechnet, bitte noch einmal an einem Beispiel darstellen?

    Der Algorithmus der Excel-Funktion REST wurde in Excel 2010 erneuert und kann zugleich ursächlich für ein neues Problem in der Excel-Funktion REST sein, der dem von Dir beschriebenen zumindest ähnelt:

    » Excel 2010: Bug in der Excel-Funktion REST

    Gruß,

    André

    Donnerstag, 28. Juli 2011 23:15
  • Hallo Andre,

    erstmal danke. Ich schreibe in meiner Anfrage nur über Excel 2003 und 2007. Über die Version 2010 habe ich nichts geschrieben, allerdings ist das Ergebnis dort genauso.

    Ich habe in meiner Antwort an den Mourad die Formel mit in den Text kopiert. Die Zelle H5 ist das Problem in dieser Berechnung. Wenn es ein Gleitkommarechnungsproblem wäre, dann würde ja als Ergebnis von KÜRZEN(H5) ein 7 herauskommen, es erscheint als Ergebnis ein 8. Bei der Funktion REST(H5) kommt als Ergebnis eine 1 anstatt einer 0 heraus. Verändert man einen Wert von D5, E5, F5 oder G5 rechnet die Formel richtig. Nur in dieser Kombination macht Excel Probleme.

    Diese Arbeitzeitkarte in Excel ist seit 2001 in Benutzung. Bisher hat es mit den Version von Excel 2000, XP und 2003 nie Probleme gegeben, aber leider ab 2007 schon.

     

    Gruß

    Achim

    Freitag, 29. Juli 2011 07:33
  • Hallo Achim,

    ich habe deshalb nachgefragt, weil bei mir die Excel-Funktion REST(H5;1) für Dein Beispiel ein nahe an null liegender Wert zurück gibt und dies sowohl in Excel 2002 SP3 und Excel 2003 SP3 als auch in Excel 2007 SP2.

    Lediglich in Excel 2010 SP1 liefert die Funktion einen nahe an eins liegenden Wert. Mit den Formeln =H5-KÜRZEN(H5) oder =H5-GANZZAHL(H5) wird für dieses Beispiel das korrekte Ergebnis ausgegeben.

    Wird das Ergebnis in Zelle H5 geprüft, bspw. mit =H5=8, =H5=KÜRZEN(H5) oder =H5=GANZZAHL(H5), dann ergibt sich bei mir in allen Versionen der Wahrheitswert WAHR. Ändere ich in Excel 2010 jedoch die Funktion auf die Formel =REST(KÜRZEN(H5);1) oder =REST(GANZZAHL(H5);1) ab, dann wird auch in Excel 2010 ein nahe an null liegender Wert ausgegeben. Meiner Meinung nach kann dieses Verhalten an der Gleitkommarechnung und/oder an dem Algorithmus der Excel-Funktion REST liegen.

    Sofern Du die Datei mit Excel 2010 bearbeitest hast, gehe bitte in Excel 2007 mit der Funktionstaste F2 in die Zelle mit der Funktion REST(H5;1) und drücke anschließend die Taste Enter.

    Gruß,
    André

     


    Freitag, 29. Juli 2011 09:20
  • Hallo Andre,

    ich arbeite nicht mit Excel 2010. Ich habe es nur einmal auf einem anderen Rechner ausprobiert und dort war das Ergebnis 1.

    Ich arbeite mit Excel 2007 SP2 und ich verstehe nicht warum bei dir das richtige Ergebnis herauskommt. Wenn ich die oben aufgelisteten Werte von mir (7.15, 12, 12.3, 15.45) einsetze, kommt das Ergebnis falsch heraus.

    Ersetze ich das Feld H5 durch den Wert 8, so rechnet die Formel den REST den korrekten Wert aus, nämlich 0.

    Du hast ohen geschrieben "Formel =REST(KÜRZEN(H5);1) oder =REST(GANZZAHL(H5);1)" liefert einen Wert nahe Null. In dieser Form kannst du dort machen was du willst, es kommt immer 0 heraus. Erst schneidest du den Nachkommateil ab und dann fragst du den Nachkommateil ab ???

    Nun ja, die Essenz aus den Emails ist eigentlich diese, das die Funktion REST unter gewissen Bedingungen falsch rechnet. Also darf ich alle Arbeitzeitkarten (ca. 400 im Einsatz) umschreiben und eine Warnung an das Controlling geben das sie diese Funktion nicht mehr nutzen dürfen.

    Ich hoffe das diese Email auch ein Excel-Entwickler sieht, denn was nutzt einen die Funktion REST wenn man sich nicht sicher sein kann, dass sie korrekt rechnet.

     

    Achim

    Freitag, 29. Juli 2011 14:15
  • Achim,

    wenn =H5=KüRZEN(H5) als Ergebnis WAHR liefert, dann sollte logischerweise das Ergebnis von =REST(KÜRZEN(H5);1) dem Ergebnis von =REST(H5;1) entsprechen.

    Wir haben festgestellt, dass dies bei Dir unter Excel 2007 (und Excel 2010) sowie bei mir unter Excel 2010 aber nicht immer der Fall ist.

    Als mögliche Ursache für diese Ungenauigkeiten habe ich Dir die Gleitkommarechnung genannt (siehe auch: http://support.microsoft.com/kb/78113).

    Solche Ungenauigkeiten finden sich auch in anderen Funktionen z.B. in KÜRZEN, SUMME, QUOTIENT etc. und stellen keine Neuigkeit dar - zumindest nicht für Entwickler.

    Ich kann Deine Verärgerung nachvollziehen, aber mit Ausnahme eines Abrisses meiner ähnlichen Probleme in Excel 2010, einer möglichen Begründung des Problems und der Excel-Formeln als Workaround bzw. mögliche Lösung kann ich Dir nicht weiterhelfen.

    Eine Frage in die Runde:
    Welches Ergebnis liefert Excel 2007 für Achim's Beispiel bei Euch?
    Ggf. kann sich jemand dem Problem von Achim weiter annehmen.

    Gruß,

    André

    Freitag, 29. Juli 2011 16:25
  • Grüße und Dank an Alle.

    Gestern wäre ich fast durchgedreht, denn der Rechenfehler ist weg. Das System unter Excel 2007 läuft ganz normal und berechnet alle Formel korrekt.

    Auf einem Standalone Rechner ohne Netzwerk und somit ohne Windows-Update kann ich den Fehler wiederholen. Auf allen Rechnern mit Update ist der Fehler weg.

    Was soll man dazu sagen ...

     

    Nun ja, der Fehler ist behoben und das IT-Leben geht weiter

     

    Achim

    Dienstag, 2. August 2011 12:29