Am 09.01.2014 17:26, schrieb E.J.Minhorst: > > ... schön wär's! Leider kann CALC mit solchen großen Zahlen keine > Moduloberechnungen anstellen - jetzt wird's doch etwas komplizierter:
Mit sooo großen nicht, das ist richtig; aber bis 18 signifikante Stellen kann man rechnen , auch wenn die Darstellung selbst nur 15 signifikante Stellen ermöglicht; und selbst die reichen gut für die BKZ und die Kontonummer (zumindest in DE und vielen anderen Ländern). Daher halte ich es für viel einfacher, die schrittweise Modulo-Operation direkt auf BKZ, Kontonummer und Länderkennzeichen an zu wenden: [A1] = Länderkürzel <Text> [B1] = Bankleitzahl <Zahl> [C1] = Kontonummer[1] <Zahl> [D1] = aufbereitete Länderkennzahl <Zahl; für DE immer 131400> =(((CODE(TEIL(A1;1;1))-55)*100) + (CODE(TEIL(A1;2;1))-55))*100 [E1] = Prüfziffer[2] <Zahl> =98 - REST((REST(REST(B1;97)*10^10+C1;97)*10^6)+D1;97) [F1] = IBAN <Text> =A1 & TEXT(E1;"00") & TEXT (B1;"00000000") & TEXT (C1;"0000000000") [1] Der erste Buchstabe des Länderkürzels ("TEIL(A1;1;1)") wird in den zugehörigen Ascii-Wert umgewandelt, und davon 55 abgezogen (bsp. "A" hat den ASCII-Wert 65; um daraus den erforderlichen Wert 10 zu erhalten, muss man eben jene 55 abziehen); das Ergebnis wird um 2 Dezimalstellen nach links verschoben ("*100"), der auf gleiche Weise umgerechnete Wert des zweiten Buchstabens dazu addiert, und das ganze nochmals um 2 Stellen verschoben, um den Platzhalter für die Prüfziffer zu erzeugen. [2] die BLZ aus B1 wird Modulo 97 genommen ("REST(B1;97)"), und das Ergebnis um 10 Dezimalstellen aka die Soll-Länge der Kontonummer nach links verschoben ("*10^10"); dazu wird dann die Kontonummer aus C1 addiert, das ganze wider Modulo 97 genommen, und um diesmal 6 Stellen aka die Länge der aufbereiteten Länderkennzahl (inklusive Platzhalter "00" für die Prüfziffer) verschoben; schließlich wird diese auch noch aus E1 dazu addiert, und das ganze nochmal Modulo 97 genommen; das Ergebnis muss dann nur noch von 98 abgezogen werden. Wolfgang -- --------------------------------------------------------------------- To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org