Seite 1 von 2
Nachkommastellen runden
Verfasst: Do, 29.05.2025 17:20
von SimbasDiener
Hallo,
Folgende Situation:
Ich möchte gerne meine mit OpenOffice Calc erstellte Rechnungsvorlage etwas "automatisieren". Soll heißen, es soll nach der Kommstelle gerundet werden. ABER, etwas anders als gedacht.
Gewöhnlich würde man z.B. bei 12,82 CHF auf 13,00 CHF runden. Hier soll das aber nicht sein. Hier soll als Ergebnis 12,80 CHF hinkommen. Gleiches Prinzip dann beim Aufrunden. Aus 12,86 CHF sollten dann 12,90 CHF werden. Jetzt wird sich der ein oder andere fragen, warum so umständlich. Ganz einfach erklärt. Anhand der Währung lässt sich schon erkennen, dass es hier um die Schweiz geht. In der Schweiz ist dieses auf -und abrunden normal und richtig. Denn dort gibt es nur 0 oder 5, also z.B. 12,80 CHF oder 12,85 CHF.
In meinem Fall soll also alles unter 5 abgerundet werden und ab 6 aufgerundet werden.
Leider bin ich mittlerweile mit meinem Latein am Ende. Ich habe vieles probiert, noch aus Zeiten meiner IT Ausbildung mit "=wenn" usw aber es hat nie den gewünschten Effekt erziehlt. AUch mit verschachtelten WENN Funktionen kam ich letztendlich nicht weiter.
Vielleicht kann mir ja hier jemand helfen.
Ich sage schon mal danke.
Re: Nachkommastellen runden
Verfasst: Do, 29.05.2025 21:05
von miesepeter
Hallo,
du schreibst, es wird (in der Schweiz) üblicherweise bei Währung gerundet auf die zweite Stelle - hier aber nur
0 oder
5, also
X,Y0 oder
X,Y5.
X und
Y repräsentieren ganze Zahlen.
In deiner Aufgabe aber wird auf ganze Zehner (Zehntel) gerundet, also
X,Y0. Ist das Absicht, dass jetzt die Form
X,Y5 nicht mehr vorkommt?
Wenn du dann mit mehreren Zahlen rechnest, wird dann mit den gerundeten Werten oder aber mit den genauen Werten weitergerechnet? Es kann dabei ja zu Unterschieden im Ergebnis kommen.
Die einfachste Form der
Darstellung von Zehnern wäre jetzt aus meiner Sicht die Rundung auf die erste Stelle, z. B. mit folgender Formel:
=RUNDEN(A1;1)
und das Zahlenformat wie folgt:
0,00 oder halt bei Währung:
#.##0,00 [$€-407];[ROT]-#.##0,00 [$€-407]
(CHF kannst du ja sinngemäß einfügen.)
Schwieriger würde es, wenn auch auf Fünfer gerundet würde, siehe oben.
Hier im Screenshot:
.

- WaehrungRundenZehntel.png (53.71 KiB) 2295 mal betrachtet
Re: Nachkommastellen runden
Verfasst: Do, 29.05.2025 21:46
von Karolus
Hallo
zuerst schreibst du es soll zum nächsten 5 Rappen (ge|auf|ab)-rundet werden dann wieder:
In meinem Fall soll also alles unter 5 abgerundet werden und ab 6 aufgerundet werden.
Was denn nun??
Code: Alles auswählen
=VRUNDEN(A2 ; 0,05 ) #»normale« Rundungsregeln (kleiner Hälfte abrunden; ab Hälfte aufrunden)
=UNTERGRENZE(A2;0,05) # immer abrunden zum nächsten 5 Rappen-Vielfachen
=OBERGRENZE(A2;0,05) # immer aufrunden zum nächsten 5 Rappen-Vielfachen
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 06:03
von SimbasDiener
Karolus hat geschrieben: Do, 29.05.2025 21:46
Hallo
zuerst schreibst du es soll zum nächsten 5 Rappen (ge|auf|ab)-rundet werden dann wieder:
In meinem Fall soll also alles unter 5 abgerundet werden und ab 6 aufgerundet werden.
Was denn nun??
Code: Alles auswählen
=VRUNDEN(A2 ; 0,05 ) #»normale« Rundungsregeln (kleiner Hälfte abrunden; ab Hälfte aufrunden)
=UNTERGRENZE(A2;0,05) # immer abrunden zum nächsten 5 Rappen-Vielfachen
=OBERGRENZE(A2;0,05) # immer aufrunden zum nächsten 5 Rappen-Vielfachen
runden_auf_0,05-Vielfache.ods
Ist doch richtig was ich geschrieben habe.
Nochmal: Als Beispiel: 12,82 CHF sollen auf 12,80 CHF ABgerundet werden. Das gilt auch für 12,81 CHF, 12,83 CHF und für 12,84 CHF.
12,85 CHF soll UNBERÜHRT bleiben.
12,86 CHF, 12,87 CHF, 12,88 CHF und 12,89 CHF sollen dann auf 12,90 CHF AUFgerundet werden.
Also genau das, was ich auch geschrieben habe.
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 06:10
von SimbasDiener
miesepeter hat geschrieben: Do, 29.05.2025 21:05
Hallo,
du schreibst, es wird (in der Schweiz) üblicherweise bei Währung gerundet auf die zweite Stelle - hier aber nur
0 oder
5, also
X,Y0 oder
X,Y5.
X und
Y repräsentieren ganze Zahlen.
In deiner Aufgabe aber wird auf ganze Zehner (Zehntel) gerundet, also
X,Y0. Ist das Absicht, dass jetzt die Form
X,Y5 nicht mehr vorkommt?
Wenn du dann mit mehreren Zahlen rechnest, wird dann mit den gerundeten Werten oder aber mit den genauen Werten weitergerechnet? Es kann dabei ja zu Unterschieden im Ergebnis kommen.
Die einfachste Form der
Darstellung von Zehnern wäre jetzt aus meiner Sicht die Rundung auf die erste Stelle, z. B. mit folgender Formel:
=RUNDEN(A1;1)
und das Zahlenformat wie folgt:
0,00 oder halt bei Währung:
#.##0,00 [$€-407];[ROT]-#.##0,00 [$€-407]
(CHF kannst du ja sinngemäß einfügen.)
Schwieriger würde es, wenn auch auf Fünfer gerundet würde, siehe oben.
Hier im Screenshot:
.
WaehrungRundenZehntel.png
Ich danke dir erstmal, ich werde mir das mal anschauen, wo ich da den Denkfehler hatte. Ich vermute, deine Lösung/dein Ansatz ist richtig. Hier mal mein Ansatz. Bitte nicht lachen, ich habs halt aber erstmal versucht.
=WENN(ISTLEER(A34);WENN((G33*D35%);1>5);AUFRUNDEN((G33*D35%);1);WENN((G33*D35%);1<5);ABRUNDEN((G33*D35%);1))
EDIT
Ich hab jetzt mal deinen Vorschlag getestet. Passt leider noch nicht ganz. Die MwSt in der Schweiz sind ja 8,1%. Nimmt man jetzt z.B. 250 CHF als Rechnungsbetrag wären das dann 20,25 CHF MwSt. Diese werden jetzt aber auf 20,30 CHF aufgerundet. Das soll aber erst ab 20,26 CHF passen.
Von 20,21 CHF - 20,24 CHF soll auf 20,20 CHF abgerundet werden, die 20,25 CHF soll so bleiben und von 20,26 CHF - 20,29 CHF soll dann auf 20,30 CHF aufgerundet werden. UNd wie gesagt, da ist mein Problem.
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 07:48
von Gast
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 08:14
von Karolus
Hallo
Oder eher:
Code: Alles auswählen
=VRUNDEN(A2 ; WENN((REST( A2 ; 0,5 )>0,24)*(REST(A2 ; 0,5 )<0,26); 0,05 ; 0,1 ))
??
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 11:41
von Gast
Karolus hat geschrieben: Fr, 30.05.2025 08:14
Hallo
Oder eher:
Code: Alles auswählen
=VRUNDEN(A2 ; WENN((REST( A2 ; 0,5 )>0,24)*(REST(A2 ; 0,5 )<0,26); 0,05 ; 0,1 ))
??
Oder eher nicht, weil die Rundung nur für ,25 und ,75 richtig ist. Alle anderen ,x5 werden auf den nächsten Zehner gerundet (was ja nicht sein soll!) Getestet mit LO 25.2.3.2 und OO 4.1
Gruß
paljass
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 11:47
von miesepeter
SimbasDiener hat geschrieben: Fr, 30.05.2025 06:10Von 20,21 CHF - 20,24 CHF soll auf 20,20 CHF abgerundet werden, die 20,25 CHF soll so bleiben und von 20,26 CHF - 20,29 CHF soll dann auf 20,30 CHF aufgerundet werden.
Das ist ja schon eine merkwürdige Art der Rundung. Meine folgenden Beispiele beziehen sich auf Werte von 0 bis 10 Rp. Analog höhere Anzahlen:
Es würde doch mehr Sinn machen, von X,001 bis X,024 abzurunden (auf X,00), von X,025 bis X,074 auf X,05 zu runden und von X,075 aufzurunden (auf X,10). Das wäre eine Rundung auf alle Viefache von 0,05 Fr. bzw. 5 Rp. Wäre das nicht "korrekter" als dein Ansatz mit der glatten 0,05 Ausnahme?
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 12:13
von SimbasDiener
miesepeter hat geschrieben: Fr, 30.05.2025 11:47
SimbasDiener hat geschrieben: Fr, 30.05.2025 06:10Von 20,21 CHF - 20,24 CHF soll auf 20,20 CHF abgerundet werden, die 20,25 CHF soll so bleiben und von 20,26 CHF - 20,29 CHF soll dann auf 20,30 CHF aufgerundet werden.
Das ist ja schon eine merkwürdige Art der Rundung. Meine folgenden Beispiele beziehen sich auf Werte von 0 bis 10 Rp. Analog höhere Anzahlen:
Es würde doch mehr Sinn machen, von X,001 bis X,024 abzurunden (auf X,00), von X,025 bis X,074 auf X,05 zu runden und von X,075 aufzurunden (auf X,10). Das wäre eine Rundung auf alle Viefache von 0,05 Fr. bzw. 5 Rp. Wäre das nicht "korrekter" als dein Ansatz mit der glatten 0,05 Ausnahme?
Ich habe es auch nicht wirklich kapiert, aber genau so wie ich angefragt habe, wurde es mir erklärt. Ich lebe leider nicht in der Schweiz um da konkretes zu sagen zu können, aber meine "Auftraggeberin" wohnt dort schon viele Jahre. Und sie hat es mir halt genau so erklärt.
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 12:25
von Mondblatt24
Hallo,
meine
Quelle sagt:

- 2025-05-30 12 23 09.png (34.68 KiB) 1971 mal betrachtet
Also das was bei VRUNDEN(X;0,05) herauskommt.
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 12:33
von Karolus
paljass hat geschrieben: Fr, 30.05.2025 11:41
Karolus hat geschrieben: Fr, 30.05.2025 08:14
Hallo
Oder eher:
Code: Alles auswählen
=VRUNDEN(A2 ; WENN((REST( A2 ; 0,5 )>0,24)*(REST(A2 ; 0,5 )<0,26); 0,05 ; 0,1 ))
??
Oder eher nicht, weil die Rundung nur für ,25 und ,75 richtig ist. Alle anderen ,x5 werden auf den nächsten Zehner gerundet (was ja nicht sein soll!) Getestet mit LO 25.2.3.2 und OO 4.1
Bei der Formel wird alles bis zu ?,?4 abgerundet auf den nächsten Zehner , zwischen ?,?4 und ?,?6 wird zu ?,?5 gerundet und die verbleibenden aufgerundet auf den nächsten 10er.
Gruß
paljass
Wie interpretierst du:
SimbasDiener hat geschrieben:Von 20,21 CHF - 20,24 CHF soll auf 20,20 CHF abgerundet werden, die 20,25 CHF soll so bleiben und von 20,26 CHF - 20,29 CHF soll dann auf 20,30 CHF aufgerundet werden. UNd wie gesagt, da ist mein Problem.
?
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 15:34
von paljass
Hi,
@Karolus
Wie interpretierst du:
SimbasDiener hat geschrieben:
Von 20,21 CHF - 20,24 CHF soll auf 20,20 CHF abgerundet werden, die 20,25 CHF soll so bleiben und von 20,26 CHF - 20,29 CHF soll dann auf 20,30 CHF aufgerundet werden. UNd wie gesagt, da ist mein Problem.
Anscheinend genau wie du - beide Formeln ergeben das gleiche Ergebnis.
Ich habe ja lediglich geschrieben, dass deine Formel bei ,05 ,15 usw nicht funktioniert (außer bei wie geschrieben ,25 und,75). Bei ,05 rundet deine Formel auf ,10 - und das soll nicht sein.
Gruß
paljass
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 16:05
von redeagle56
Hallo,
die Formel von paljass (Gast) funktioniert doch ausgezeichnet.
Entspricht genau deinen Vorstellungen.
MfG Günter
Re: Nachkommastellen runden
Verfasst: Fr, 30.05.2025 16:15
von Karolus
Au weia da hab ich einen schweren Klops gemacht, richtig wäre natürlich:
Code: Alles auswählen
=VRUNDEN(A2;WENN((REST(A2;0,1)>0,04)*(REST(A2;0,1)<=0,059);0,05;0,1))