gerundete Summe = Summe der gerundeten Einzelwerte * (347)
Aufgabe
Eine Summe von Zahlen wird auf volle Tausender gerundet. Die Summe der gerundeten Einzelwerte soll das gleiche Ergebnis bringen.
Beim überschreiten erfolgt der Ausgleich (Abzug von je 1) bei den Zahlen, deren letzte 3 Ziffern am nächsten über500 liegen (im Beispiel: D4 und D6); - beim Unterschreiten (Addition) bei denen am nächsten drunter. (Kommen auch Negativzahlen vor: genau umgekehrt.)
A
B
C
D
1
4.523
477
491
5
2
456
-456
488
0
3
-78.845
-155
-79
4
-14.491
491
-15
5
65.789
211
66
6
129.512
488
129
7
15.562
438
16
8
548.555
445
549
9
1.590
410
2
10
-897
-103
-1
11
6.968
32
7
12
2.987
13
3
13
14
682
682
15
2
Lösung
Die nicht gerundeten Zahlen stehen in A1 bis A12.
In A14 steht:
=RUNDEN(SUMME(A1:A12);-3)/1000
In A15 steht:
=SummenPRODUKT(RUNDEN(A1:A12;-3)/1000)-A14
In B1 (Hilfsspalte) steht:
=RUNDEN(A1;-3)-RUNDEN(A1;2)+ZEILE()/100000
In C1 (Hilfsspalte) steht:
=WENN(ZEILE()>ABS($A$15);"";WENN(A$15>0;KGRÖSSTE($B$1:$B$12;ZEILE());KKLEINSTE($B$1:$B$12;ZEILE())))
In D1 (Ergebnisspalte) steht:
=RUNDEN(A1;-3)/1000-ISTZAHL(VERGLEICH(B1;C:C;0))*VORZEICHEN(A$15)
B1, C1 und D1 bis Zeile 12 runterkopieren.
als Arrayformel ohne Hilfsspalten B und C von Franz Pölt:
{=RUNDEN(A1;-3)/1000-WENN(A$15=0;0;(1-2*(A$15<0))*((1-2*(A$15<0))*(RUNDEN(A1;-3)-A1+ZEILE()*10^-5)>=KGRÖSSTE((1-2*(A$15<0))*(RUNDEN(A$1:A$12;-3)-A$1:A$12+ZEILE($1:$12)*10^-5);ABS(A$15))))}