| |  | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Excel rechnet falsch? (3317 mal gelesen)
|
csedl Mitglied Technischer Zeichner

 Beiträge: 32 Registriert: 15.03.2005 HP xw6000 P4 2,8GHz, 1GB RAM, NVidia Quadro FX700 U160 SCSI XP Pro SP2 SWX2006 SP4.1
|
erstellt am: 07. Sep. 2006 16:12 <-- editieren / zitieren --> Unities abgeben:         
Hallo Leute! Ich hab da ein Problem mit Excel, ich hab in einer großen Tabelle viele WENN-DANN-SONST Formeln, eine davon ist im Anhang dargestellt. Das Ergebniss der Prüfung ist immer FALSCH, obwohl es doch offensichtlich richtig sein muss?? Ich komm nicht weiter, warum ist das Ergebniss falsch! Danke, Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bst Mitglied
 
 Beiträge: 192 Registriert: 31.08.2004 .
|
erstellt am: 07. Sep. 2006 16:22 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Hallo Christoph, Fließkommaberechnungen sind nicht beliebig genau. A1: =1-(0,06/0,06-0,06) Geh mal in Format-Zellen-Zahlen-Zahl und setze 30 Nachkommastellen. Ergibt hier bei mir: 0,0600000000000001 Du solltest irgendwo runden. CU , Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
csedl Mitglied Technischer Zeichner

 Beiträge: 32 Registriert: 15.03.2005 HP xw6000 P4 2,8GHz, 1GB RAM, NVidia Quadro FX700 U160 SCSI XP Pro SP2 SWX2006 SP4.1
|
erstellt am: 07. Sep. 2006 17:25 <-- editieren / zitieren --> Unities abgeben:         
Hallo Bernd! Danke für Deine Antwort, ich verstehs nur nicht genau.. Ich kann 0,06 nicht runden- die gesamte Formel berechnet eine Prozentuale Abweichung des aktuellen Einkaufspreises zum niedrigsten im System registrierten Einkaufspreis und der Einkaufspreis des Artikels liegt leider bei 0,06.... Der Teil der Formel den ich gepostet habe rechnet falsch, der rest richtig. Und wenn du unten schust beim "DANN" dann steht dort ja das richtig von Excel errechnete Ergebniss, es liegt doch wohl nur am 0,06=0,06 oder ? Gruß, Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
   
 Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 07. Sep. 2006 17:43 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Hallo Christoph, "Runden" hilft IMHO auch rein gar nix, da xls die Stellen trotzdem noch mitschleift; es ist nur eine Frage der Anzeige (Zahl mit 1,2,3 Nachkommastellen). Das Zauberwort heißt - wenn ich Dich richtig verstehe - "KÜRZEN", s. Screenshot. Wenn´s das NICHT war: Bleib ruhig hartnäckig, bohre weiterhin nach:-) Frederik [Diese Nachricht wurde von Paulchen am 07. Sep. 2006 editiert.] [Diese Nachricht wurde von Paulchen am 07. Sep. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
csedl Mitglied Technischer Zeichner

 Beiträge: 32 Registriert: 15.03.2005 HP xw6000 P4 2,8GHz, 1GB RAM, NVidia Quadro FX700 U160 SCSI XP Pro SP2 SWX2006 SP4.1
|
erstellt am: 07. Sep. 2006 17:48 <-- editieren / zitieren --> Unities abgeben:         
Achso! Jetzt hab ichs kapiert! Ich hab folgendes Problem: Bei der Tabelle im Anhang soll in Spalte K die Prozentuale Abweichnung des Einkaufspreises zum Niedrigsten Einkaufspreis dargestellt werden. Die schwierigkeit dabei ist dass manche EKs manuell nachgetragen wurden und somit manchmal kein NEK vorhanden ist. Es sollte entweder "kein NEK" in der Spalte K stehen oder die Abweichung in %. Gruß, Christoph Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
       

 Beiträge: 8086 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 07. Sep. 2006 17:56 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Tag zusammen, also ich muß da weder kürzen noch runden, bei mir kommt wahr raus. Ist dieses "1-(0,6/0,6-0,6)" ein Zwischenergebnis, welches von irgendwo geholt wird? Vielleicht ist diese irgendwo als Text formatiert? Nur mal so ins Blaue getippt... Ansonsten: Schön weiterrätseln mit jpg's  Gruß, Nicole ------------------ Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... ---------------- Erfinnder-Gilden-Lehrling Stufe: 0,5 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur

 Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 07. Sep. 2006 18:19 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
|
runkelruebe Moderator Straßen- / Tiefbau
       

 Beiträge: 8086 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 07. Sep. 2006 18:27 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
hihi, Nullen werden von mir prinzipiell nicht mitgelesen  Sorry! aber geht denn nicht z.B.
Code: =WENN(H2<>0;(G2-H2)/G2;"kein EK")
oder halt:
Code: =WENN(H2<>0;((G2-H2)/H2);"kein EK")
wobei ich mir bei der Prozentformel mal spontan unsicher bin langer Arbeitstag, Prozentrechnung... rausred' ------------------ Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... ---------------- Erfinnder-Gilden-Lehrling Stufe: 0,5 [Diese Nachricht wurde von runkelruebe am 07. Sep. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general

 Beiträge: 3449 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 08. Sep. 2006 07:32 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Hi Verwende Runden.
Code:
=Wenn(RUNDEN(1-(0,06/0,06-0,06);2);0;RUNDEN(1-(0,06/0,06-0,06);2))
und deine Nullen sind Geschichte. Ps.: Ihr solltet die Formeln ins Forum kopieren. Ist leichter zum Testen da man nicht jeden S****s neu Tippen muss ------------------ "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Bitte Supportangaben eintragen, warum siehst du hier
[Diese Nachricht wurde von Bernd P am 08. Sep. 2006 editiert.] [Diese Nachricht wurde von Bernd P am 08. Sep. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
   
 Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 08. Sep. 2006 08:28 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Hallo Bernd, mit den Formeln hast Du Recht - war gestern faul:-( Deine Formel funzt, was mich allerdings wundert... Muß das mal in Ruhe nachvollziehen. Code: =1-(0,06/0,06-0,06) ergibt 0,0600000000000001 =RUNDEN(1-(0,06/0,06-0,06);2) ergibt 0,060000000000000000000[usw] =WENN(RUNDEN(1-(0,06/0,06-0,06);2)=0,06;"wahr";"falsch") ergibt "wahr" und =WENN(1-(0,06/0,06-0,06)=0,06;"wahr";"falsch") liefert "falsch"
Das macht die "Logik" meines gestrigen Beitrags zunichte. Kann mir nun jemand den Knoten im Hirn entwirren? Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bst Mitglied
 
 Beiträge: 192 Registriert: 31.08.2004 .
|
erstellt am: 08. Sep. 2006 11:13 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Hallo, es geht M.E. doch um diesen Test: =1-(0,06/0,06-0,06)=0,06 Warum also nicht einfach dieses testen: =1-(0,06/0,06-0,06)-0,06=0 Und dann läßt sich auch ganz einfach Runden benutzen: =RUNDEN(1-(0,06/0,06-0,06)-0,06;8)=0 Die 8 halt je nach Bedarf ändern. CU , Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
   
 Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 08. Sep. 2006 11:18 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Hallo Bernd, schon richtig, man kann ja auch die Gegenseite prüfen. Ist für diesen Test ja auch schön und gut (und wir schießen bereits über die eigentliche Fragestellung dieses Postings hinaus) - nur möchte ich es gerne begreifen... In freudiger Erwartung Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
       

 Beiträge: 8086 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 08. Sep. 2006 11:21 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Tschuldigt. wenn ich kurz störe, aber geht es nicht eigentlich darum, eine Tabelle zu bekommen, die funktioniert und das ausgibt, was der gute Christoph haben will? Zitat: Bei der Tabelle im Anhang soll in Spalte K die Prozentuale Abweichnung des Einkaufspreises zum Niedrigsten Einkaufspreis dargestellt werden. Die schwierigkeit dabei ist dass manche EKs manuell nachgetragen wurden und somit manchmal kein NEK vorhanden ist. Es sollte entweder "kein NEK" in der Spalte K stehen oder die Abweichung in %.
diese ganze (1-(0,06/0,06-0,06) ist doch nur ein Zwischenschritt der Wenn-Prüfung? und den kann ich mir sparen, wenn ich als Prüfung "Zellinhalt <> 0 " einsetze, oder mach ich mir das Leben hier wiedermal zu einfach? Gruß Nicole die zugebenermaßen jetzt verwirrt ist. Mal davon ab, was sagt eigentlich der Ersteller diese threads dazu? Der sollte wissen, was er will.
------------------ Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... ---------------- Erfinnder-Gilden-Lehrling Stufe: 0,5 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
   
 Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 08. Sep. 2006 11:35 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Nicole, jajaja, ist ja gut  Genau das meinte ich oben mit "...darüber hinaus". Zitat: ...kann ich mir sparen, wenn ich als Prüfung "Zellinhalt <> 0 " einsetze, oder mach ich mir das Leben hier wiedermal zu einfach?
Nö, finde ich nicht. [Edit: Du machst es Dir nicht zu einfach. /Edit] Mir geht es - wie erwähnt - inzwischen nur noch um´s Verständnis dieses nebensächlichen Details. Frederik [Diese Nachricht wurde von Paulchen am 08. Sep. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
       

 Beiträge: 8086 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 08. Sep. 2006 11:41 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
jepp, unsere postings haben sich da zeitlich überschnitten, als ich geschrieben habe, war Deiner noch nicht da, und ich guck vor'm Abschicken nich mehr Das mit dem Verstehen-Wollen ist sehr löblich  , ich habe da allerdings keine Mühe mehr reininvestiert, da ich's anders regel'  man muß ja nicht immer alles verstehen  ------------------ Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... ---------------- Erfinnder-Gilden-Lehrling Stufe: 0,5 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bst Mitglied
 
 Beiträge: 192 Registriert: 31.08.2004 .
|
erstellt am: 08. Sep. 2006 12:29 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Nochmals Hallo, @Christoph, das ist wohl nicht klar rübergekommen, Du sollst NICHT den Wert selber runden, sondern Runden in der Wenn-Bedingung benutzen, z.B. sowas: =WENN(RUNDEN(1-(0,06/0,06-0,06);15)=0,06;0;1-(0,06/0,06-0,06)) Über die Anzahl der zu rundenden Stellen (hier 15) habe ich übrigens nicht näher nachgedacht. Vermutlich ist 15 (meistens?) OK, da Excel meines Wissens auf 15 Stellen genau rechnen kann. @Frederik, mir ist Dein Problem nicht klar, was genau verstehst Du nicht ? @runkelruebe Nein, Du kannst NICHT auf <> Prüfen, Denk nochmals darüber nach ;-) CU , Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
       

 Beiträge: 8086 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 08. Sep. 2006 12:34 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
|
bst Mitglied
 
 Beiträge: 192 Registriert: 31.08.2004 .
|
erstellt am: 08. Sep. 2006 13:50 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Hi Nicole, möglicherweise habe ich Dich da falsch verstanden :-( Ich habe das immer noch auf die WENN-Bedingung bezogen. A2: 0,6 B2: =WENN(1-(A2/A2-A2)=A2;"JA";"NEIN") funktioniert, da kein Problem mit der Rechenungenauigkeit C2: =WENN(1-(A2/A2-A2)<>A2;"JA";"NEIN") funktioniert natürlich nicht A3: 0,06 B3: =WENN(1-(A3/A3-A3)=A3;"JA";"NEIN") funktioniert nicht, wegen der Rechenungenauigkeit C3: =WENN(1-(A3/A3-A3)<>A3;"JA";"NEIN") funktioniert -M.E. 'mehr zufälligerweise' - hier D2: =WENN(RUNDEN(1-(A2/A2-A2)-A2;6)=0;"JA";"NEIN") E2: =WENN(RUNDEN(1-(A3/A3-A3)-A3;6)=0;"JA";"NEIN") Funktioniert beides, unabhängigig von der Rechenungenauigkeit. Sorry, und einen schönen Tag noch, Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
   
 Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 08. Sep. 2006 15:34 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Hallo Bernd, habe nochmal rumprobiert. "runden" rundet kaufmännisch und rechnet (scheinbar) tatsächlich mit dem angezeigten Ergebnis weiter. "kürzen" schneidet NK-Stellen einfach ab, ohne zu runden - läßt sich z.B. mit 1,3 und 1,7 (jeweils 2 NK ausreichend) leicht nachvollziehen. Ich war bisher der Auffassung, "runden" würde die NKs trotzdem im Hintergrund mitschleifen. Deshalb meine Verwirrung: Warum hat "runden" oben funktioniert? Hatte "falsch" erwartet. Ich habe mich eines besseren belehren lassen, bleibe aber dennoch vorsichtig. Bleibt festzuhalten: 1. Excel ist ein rießengroßer Taschenrechner 2. kürzen <> runden - welch Erkenntnis Fazit: Das Problem hat sich (natürlich unter Vorbehalt, zumindest jedoch vorübergehend) erledigt. Danke für die Geduld! Frederik
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general

 Beiträge: 3449 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 11. Sep. 2006 09:51 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Hi Das Problem ist ganz einfach 1-(0,06/0,06-0,06) ergibt NICHT 0,06 sondern 0,0600000000000001 zumindest bekommt das Excel raus Excel zeigt dir nur an das es 0,06 Ergibt. Du vergleichst also 0,0600000000000001 = 0,06 und das ist Falsch. ------------------ "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Bitte Supportangaben eintragen, warum siehst du hier Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
   
 Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 11. Sep. 2006 12:33 <-- editieren / zitieren --> Unities abgeben:          Nur für csedl
Hallo Bernd, völlig richtig. Wenn ich auf 18 Stellen "runde" oder "kürze", kommt beide Male "FALSCH" raus - paßt ja auch. Code: =RUNDEN(1-(0,06/0,06-0,06);15) in Zelle J98 ergibt für die Formel =WENN(J98=0,06;"ja";"nein") auf 15 Stellen genau "ja" und RUNDEN(1-(0,06/0,06-0,06);16) ergibt auf 16 Stellen genau "nein".
Da ich bisher NIE 15 Stellen gebraucht habe, ist dieses Problem eigentlich irrelevant. Wenn ich auf 2 oder 3 Stellen "kürze", kann ich es auch per Hand nachrechnen. Der Taschenrechner spuckt ja auch 0,06 aus und nicht 0,0xxx1. Folglich - wie Du richtig sagst:Anzeige ungleich Rechenwert, und das kann zu Mißverständnissen führen. Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |