Calc: RUNDEN()

Hallo,
hier habe ich ein Problem mit der RUNDEN()-Funktion:

29,4 wird gerundet zu 29,0 → einverstanden
29,5 wird gerundet zu 30,0 → einverstanden
29,49 wird gerundet zu 29,0 → müsste das nicht ebenfalls zu 30,0
                              gerundet werden?

Soweit mir bekannt wird bis ,49n abgerundet, ab ,50 aufgerundet.

Das nennt man IIRC 'kaufmännische Rundung'.

Mit freundlichen Grüßen
Detlef Wiese

Hallo Boris,

wieso sollte das im letzten Fall zu 30,0 gerundet werden? Der Wert ist kleiner als 29,5, also wird abgerundet. Nur wenn du das Runden Stelle für Stelle machen würdest, käme 30 raus.

Gruß
Gerhard

Hallo,
hier habe ich ein Problem mit der RUNDEN()-Funktion:

29,4  wird gerundet zu 29,0 → einverstanden
29,5  wird gerundet zu 30,0 → einverstanden
29,49 wird gerundet zu 29,0 → müsste das nicht ebenfalls zu 30,0
                              gerundet werden?

Nein, der Nachkommateil ist doch unter 50.

Liebe Grüße
Franklin

Hallo,

wenn du das Runden Stelle
für Stelle machen würdest, käme 30 raus.

eben. Deshalb würde ich spontan so verfahren, und im vorliegenden Fall
soll das auch so gemacht werden. Wie erreiche ich das? Geht das nur,
indem ich RUNDEN(RUNDEN(RUNDEN()))... usw. schachtele, oder auch einfacher?

Hallo Boris,

Hallo,

wenn du das Runden Stelle für Stelle machen würdest, käme 30
raus.

eben.

Und wäre falsch.

Deshalb würde ich spontan so verfahren,

Man braucht daher zum korrekten Runden immer *zwei* Stellen mehr als
die, auf die gerundet werden soll, weil man eben nur so 49 von 50
unterscheiden kann.

und im vorliegenden Fall soll das auch so gemacht werden.

Schwach, mathematisch völlig falsch - da würde ich im Zweifelsfall
als Empfänger mit guten Aussichten gegen eine solche falsche Rundung
vorgehen.

Hallo Boris,

wenn du das Runden Stelle
für Stelle machen würdest, käme 30 raus.

eben. Deshalb würde ich spontan so verfahren, und im vorliegenden Fall
soll das auch so gemacht werden. Wie erreiche ich das? Geht das nur,
indem ich RUNDEN(RUNDEN(RUNDEN()))... usw. schachtele, oder auch einfacher?

Könnte ich mir nur darüber vorstellen. Du weißt aber, dass Du damit
mathematisch falsche Ergebnisse erzeugst, oder? Schließlich wird erst ab
einer 5 aufgerundet und dazu wird auf die Stelle geschaut, die eine
Position weiter rechts liegt.
Mit Deiner Variante wird dann aus 29,45 eben auch 30. Und wenn Du das
weiter ziehst; Auch aus 29,445 wird 30.

Gruß

Robert

Hallo,

Mit Deiner Variante wird dann aus 29,45 eben auch 30. Und wenn Du das
weiter ziehst; Auch aus 29,445 wird 30.

genau.

Hallo Boris,

Hallo,

wenn du das Runden Stelle
für Stelle machen würdest, käme 30 raus.

eben. Deshalb würde ich spontan so verfahren, und im vorliegenden Fall
soll das auch so gemacht werden. Wie erreiche ich das? Geht das nur,
indem ich RUNDEN(RUNDEN(RUNDEN()))... usw. schachtele, oder auch einfacher?

Wenn Du unbedingt die 30 als Ergebnis haben willst, nimm doch einfach die Funktion "Aufrunden". Die rundet immer auf.

Viele Grüße

Thomas

Hallo Listige

Hallo Boris,

Hallo,

wenn du das Runden Stelle
für Stelle machen würdest, käme 30 raus.

eben. Deshalb würde ich spontan so verfahren, und im vorliegenden Fall
soll das auch so gemacht werden. Wie erreiche ich das? Geht das nur,
indem ich RUNDEN(RUNDEN(RUNDEN()))... usw. schachtele, oder auch einfacher?

Wenn Du unbedingt die 30 als Ergebnis haben willst, nimm doch einfach die Funktion "Aufrunden". Die rundet immer auf.

Ein schlechter Rat, weil die immer aufrundet! Besser ist, eine Konstante zu addieren, die immer zum gewünschten Ergebnis führt. Da müsste Boris zuerst klären, ob denn auch bei 0.45 oder 0.44 aufgerundet werden soll - je nachdem genügt es, 0.1 zu addieren oder halt 0.15 und *danach* erst mit den üblichen Mitteln zu runden. Um eine präzise Antwort geben zu können, müsste man aber wie gesagt zuerst die Intention von Boris genauer kennen (wünschbar wäre auch zu wissen, *warum* er unbedingt von mathematischen *und* kaufmännischen Gepflogenheiten abweichen will (-;;;;;).

Es grüsst

Ernst

Hallo Ernst,

Hallo Listige

Hallo Boris,

Hallo,

wenn du das Runden Stelle für Stelle machen würdest, käme
30 raus.

eben. Deshalb würde ich spontan so verfahren, und im
vorliegenden Fall soll das auch so gemacht werden. Wie
erreiche ich das? Geht das nur, indem ich
RUNDEN(RUNDEN(RUNDEN()))... usw. schachtele, oder auch
einfacher?

Wenn Du unbedingt die 30 als Ergebnis haben willst, nimm doch
einfach die Funktion "Aufrunden". Die rundet immer auf.

Ein schlechter Rat, weil die immer aufrundet! Besser ist, eine
Konstante zu addieren, die immer zum gewünschten Ergebnis führt.
Da müsste Boris zuerst klären, ob denn auch bei 0.45 oder 0.44
aufgerundet werden soll - je nachdem genügt es, 0.1 zu addieren
oder halt 0.15 und *danach* erst mit den üblichen Mitteln zu
runden. Um eine präzise Antwort geben zu können, müsste man aber
wie gesagt zuerst die Intention von Boris genauer kennen
(wünschbar wäre auch zu wissen, *warum* er unbedingt von
mathematischen *und* kaufmännischen Gepflogenheiten abweichen
will (-;;;;;).

Na, das ist doch klar, weil seine Hausverwaltung dann bei den
Abrechnungen mehr verdient .... :wink:

Und was erstens macht dich glauben, dass 29,445 näher an 30 läge als an 29?

Und zweitens, unter welchem Grenzwert würdest du dann überhaupt
/abgerundet/ haben wollen, 29,4449? 29,4? 29,3? 29,1? 29,000001?
29,00000000000000000000000000000000000000000000000000000000001?

Wolfgang