Nachkommastellen runden

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

SimbasDiener
Beiträge: 4
Registriert: Do, 29.05.2025 17:18

Nachkommastellen runden

Beitrag 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.
Benutzeravatar
miesepeter
********
Beiträge: 2238
Registriert: Sa, 10.05.2008 15:05
Wohnort: Bayern

Re: Nachkommastellen runden

Beitrag 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
WaehrungRundenZehntel.png (53.71 KiB) 2098 mal betrachtet
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: Nachkommastellen runden

Beitrag 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
runden_auf_0,05-Vielfache.ods
(8.49 KiB) 42-mal heruntergeladen
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
SimbasDiener
Beiträge: 4
Registriert: Do, 29.05.2025 17:18

Re: Nachkommastellen runden

Beitrag 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.
SimbasDiener
Beiträge: 4
Registriert: Do, 29.05.2025 17:18

Re: Nachkommastellen runden

Beitrag 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.
Gast

Re: Nachkommastellen runden

Beitrag von Gast »

Na dann,

Code: Alles auswählen

=WENN(REST(A1*100;5)=0;A1;RUNDEN(A1;1))
Gruß
paljass
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: Nachkommastellen runden

Beitrag 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 ))
??
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Gast

Re: Nachkommastellen runden

Beitrag 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
Benutzeravatar
miesepeter
********
Beiträge: 2238
Registriert: Sa, 10.05.2008 15:05
Wohnort: Bayern

Re: Nachkommastellen runden

Beitrag 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?
SimbasDiener
Beiträge: 4
Registriert: Do, 29.05.2025 17:18

Re: Nachkommastellen runden

Beitrag 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.
Mondblatt24
*******
Beiträge: 1236
Registriert: So, 14.05.2017 16:11

Re: Nachkommastellen runden

Beitrag von Mondblatt24 »

Hallo,

meine Quelle sagt:
2025-05-30 12 23 09.png
2025-05-30 12 23 09.png (34.68 KiB) 1774 mal betrachtet

Also das was bei VRUNDEN(X;0,05) herauskommt.
Zuletzt geändert von Mondblatt24 am Fr, 30.05.2025 12:34, insgesamt 2-mal geändert.
Win 11 (x64) ▪ LibreOffice 25.2.4.1 (x64) ▪ AOO Portable 4.1.15
Wurde die Frage zutreffend beantwortet bitte den Betreff der Eingangsfrage mit [GELÖST] ergänzen. Beschreibung
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: Nachkommastellen runden

Beitrag 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.
?
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
paljass
******
Beiträge: 803
Registriert: Do, 25.10.2012 07:25

Re: Nachkommastellen runden

Beitrag 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
EDV ist wie U-Boot fahren - machst du ein Fenster auf, fangen die Probleme an.
Benutzeravatar
redeagle56
Beiträge: 3
Registriert: Fr, 04.04.2025 15:04

Re: Nachkommastellen runden

Beitrag von redeagle56 »

Hallo,
die Formel von paljass (Gast) funktioniert doch ausgezeichnet.
Entspricht genau deinen Vorstellungen.

MfG Günter
Runden auf 0 und 5.ods
(11.98 KiB) 35-mal heruntergeladen
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

Re: Nachkommastellen runden

Beitrag 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))
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten